elm-pages
ShowcaseBlogDocs
  • What is elm-pages?
    • The Backend
    • Route Modules
    • Server-Rendered Routes
    • Pre-Rendered Routes
    • Server-Rendered elm-pages Use Cases
    • Pre-Rendered elm-pages Use Cases
    • Deciding Between Server-Rendered and Pre-Rendered Routes
    • What's Not a Good Fit for elm-pages?
  • Getting Started
    • Lamdera
    • Debugging Lamdera Errors
    • CLI commands
    • The dev server
  • The elm-pages Philosophy
    • Progressive Enhancement
    • Use the Platform
    • Composable Building Blocks
    • SEO should be easy
    • Let Elm Shine
  • File Structure
    • Route Modules
    • View.elm
    • Effect.elm
    • Shared.elm
    • Site.elm
    • public
    • index.ts
    • style.css
    • elm-pages.config.mjs
  • File-Based Routing
    • Example routes
    • Static Segments
    • Dynamic Segments
    • Special Ending Segments
    • Optional Dynamic Segments
    • Splat Routes
    • Optional Splat Routes
  • Use the Platform
    • URLs
    • Cookies
    • Redirects
    • Forms
  • Route Modules
    • Ports and Flags
      • Avoiding Flash with elm-ui
    • elm-pages Scripts
      • Quick Start
      • Script Folder
      • Running Scripts from Different Directories
      • Adding Command Line Options
      • Machine-Readable Output Schemas
      • FatalError's
      • Scaffolding a Route Module
      • Compiling Scripts to an Executable JavaScript File
      • Local DB in Scripts
    • Remote elm-pages Scripts
      • Supported formats for remote scripts
      • Running a remote script from a GitHub Gist:
    • How does elm-pages work?
      • Error Pages
        • Custom Error Types
        • Stateful Error Pages
        • FatalError's
      • The elm-pages Architecture
        • Interaction 1 - Open Page
        • 1a - Resolving data
        • 1b - Rendering the Page
        • 1c - Hydration
        • Interaction 2 - Client-Side Interaction
        • Interaction 3 - Form Submission
        • The Code
      • Adapters
        • Built-in Adapters
        • The Adapter API
        • apiRoutePatterns
        • Other adapters
      • Frozen Views
        • Usage
        • Mental Model: Server-Only vs Client Regions
        • Real-World Results
        • Frozen Views with Form Actions
        • When to Use Frozen Views
        • Is It Inefficient to Send a Lot of HTML?
        • Setting Up Frozen Views
        • Using with Html.Styled
        • Constraints
        • The --strict Flag
      • Local Type-Safe DB in elm-pages Scripts
        • Prerequisites
        • Lamdera Inspiration
        • Key Concepts
        • Quick Start
        • Pages.Db API
        • Directory Structure
        • Git and .gitignore
        • Example: Run a Migration (V1 -> V2)
        • migrate and seed
        • Bundled Scripts and End Users
        • Stale Snapshot Safety
        • Helpful Commands
        • Troubleshooting

      elm-pages Showcase

      Check out some projects from the elm-pages community.

      Submit your site to the showcase
      • Incremental Elm ConsultingDillon Kearns
      • Syntactic OverdriveBrian Ginsburg
      • elm-pages docsDillon Kearns
      • Tennety.ArtChandu Tennety
      • danmarcab.comDaniel Marin Cabillas
      • unicorns&meValeria Shpiner
      • FissionFission
      • https://driftercode.com/Lars Lillo Ulvestad
      • nathanbraun.comNathan Braun
      • Learn to Code with Fantasy Football Book PageNathan Braun
      • IrreactivePhilipp Krüger
      • BuildrBuildr
      • Special-ElektronikSpecial-Elektronik / Carl-Fredrik Herö
      • netpositive.moneynetpositive.money
      • AaronStrick.comAaron Strick
      • Jakob FerdinandJakob Ferdinand Wegenschimmel
      • Pig SocietySylvain Brunerie
      • Big Data Biology LabBig Data Biology Lab (Luis Pedro Coelho)
      • ElmcraftMario
      • kioba.devKioba Somodi
      • VitacoloSébastien BESNIER
      • Adaptiv Systems, Inc.Adaptiv Systems, Inc.
      • Capybara HouseTranquera LLC
      • Eolo ExperienceMaurizio Vacca
      • 2700 Chesskutyel
      • Manhattan Mini StorageStorageMart