not really known
Go to file
2021-08-01 10:25:38 -07:00
.github/workflows Change test project for cypress tests. 2021-07-29 12:30:50 -07:00
cypress Comment out test case for now - need to figure out how to get multiple dev servers running for cypress GH actions run. 2021-07-29 12:32:09 -07:00
docs Update 2.0-beta.md 2021-06-14 16:19:41 -07:00
examples Update examples and tests. 2021-08-01 10:25:38 -07:00
generator Remove obsolete argument. 2021-08-01 10:23:20 -07:00
plugins Formatting. 2021-07-31 17:11:51 -07:00
review Ignore temporarily unused module in review config. 2021-07-29 14:22:09 -07:00
src Remove obsolete argument. 2021-08-01 10:23:20 -07:00
tests Update examples and tests. 2021-08-01 10:25:38 -07:00
.all-contributorsrc docs: update .all-contributorsrc [skip ci] 2020-07-19 18:23:51 +00:00
.gitignore Add cypress setup for dev server. 2021-06-04 18:06:39 -07:00
.prettierrc Add prettier config. 2021-07-10 07:53:14 -07:00
CHANGELOG-ELM.md Update changelog. 2021-07-31 19:46:00 -07:00
CHANGELOG-NPM.md Update CHANGELOG-NPM.md 2021-02-16 10:59:35 -08:00
CONTRIBUTING.md Add webpack performance profiling instructions 2020-08-18 14:41:26 -07:00
cypress.json Add cypress config base url. 2021-07-21 13:29:54 -07:00
docs.json Update docs. 2021-07-30 15:49:39 -07:00
elm-tooling.json Update elm-format. 2021-04-14 15:56:10 -07:00
elm.json Bump Elm package. 2021-07-31 19:52:29 -07:00
jsconfig.json Set up proof of concept for webpack-free build. 2020-10-10 18:07:36 -07:00
LICENSE Add LICENSE file. 2019-09-20 13:58:20 -07:00
netlify.toml Remove duplicate netlify.toml key. 2021-06-03 16:15:19 -07:00
package-lock.json 2.0.1 2021-07-31 20:37:32 -07:00
package.json 2.0.1 2021-07-31 20:37:32 -07:00
README.md Update readme. 2021-07-30 14:47:24 -07:00

elm-pages Netlify Status Build Status npm Elm package

All Contributors

Deploy to Netlify

A statically typed site generator, written with pure Elm.

Getting Started Resources

Key features

SEO made easy

With elm-pages, SEO is as easy as calling a type-safe, high-level Elm API and passing in data from your content's metadata.

The metadata is just Elm data that you define however you want, using a Json Decoder to grab data out of your markdown frontmatter.

import MyMetadata exposing (MyMetadata)

head : BlogMetadata -> List (Head.Tag Pages.PathKey)
head meta =
  Seo.summaryLarge
    { canonicalUrlOverride = Nothing
    , siteName = "elm-pages"
    , image =
      { url = PagesNew.images.icon
      , alt = meta.description
      , dimensions = Nothing
      , mimeType = Nothing
      }
    , description = meta.description
    , locale = Nothing
    , title = meta.title
    }
    |> Seo.article
      { tags = []
      , section = Nothing
      , publishedTime = Just (Date.toIsoString meta.published)
      , modifiedTime = Nothing
      , expirationTime = Nothing
      }

Optimized for performance

elm-pages has a set of features built-in to make sure your page is blazing fast on any device.

  • Automatic page pre-rendering
  • Page content is split up per-page so page content downloads and parses just-in-time
  • Page pre-fetching on link hover

Try out elm-pages, open up Lighthouse, and see for yourself! Or check out https://elm-pages.com (find the source code in the examples/docs/ folder).

What's next?

Take a look at the current projects to see the current priorities!

https://github.com/dillonkearns/elm-pages/projects

Contributors

Thanks goes to these wonderful people (emoji key):


Daniel Marín

💻

Steven Vandevelde

💻

Johannes Maas

📓 💻

Wiktor Toporek

💻

Luke Westby

💻

This project follows the all-contributors specification. Contributions of any kind welcome!