not really known
Go to file
2022-03-01 19:07:31 -08:00
.github/workflows Bump node version to 16. 2021-12-10 10:53:41 -08:00
cypress Use html test runner for glob tests. 2022-02-28 17:45:16 -08:00
docs Update 2.0-beta.md 2021-06-14 16:19:41 -07:00
examples Remove unused package. 2022-03-01 19:07:31 -08:00
generator Add Glob.toDataSourceWithOptions. 2022-03-01 15:46:10 -08:00
plugins Expose additional type from Shiki plugin. 2022-02-06 16:24:40 -08:00
review Review fixes. 2022-02-27 08:50:43 -08:00
src Add Glob.toDataSourceWithOptions. 2022-03-01 15:46:10 -08:00
tests Review fixes. 2022-02-27 08:50:43 -08:00
.all-contributorsrc docs: update .all-contributorsrc [skip ci] 2020-07-19 18:23:51 +00:00
.gitignore Gitignore .idea folder. 2021-12-21 07:32:24 -08:00
.nvmrc Use newer node version. 2022-01-20 19:20:15 -08:00
.prettierrc Add prettier config. 2021-07-10 07:53:14 -07:00
CHANGELOG-ELM.md Update changelog. 2021-08-03 13:39:00 -07:00
CHANGELOG-NPM.md Update changelog. 2021-08-27 11:52:11 -07: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 Add Glob.toDataSourceWithOptions. 2022-03-01 15:46:10 -08:00
elm-tooling.json Install elm-test-rs. 2021-12-20 11:03:42 -08:00
elm.json Remove DataSource code from bundle. 2022-02-13 12:42:31 -08: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 Install elm-format before running build. 2022-02-13 14:56:41 -08:00
package-lock.json Update cypress version. 2022-02-25 08:58:00 -08:00
package.json Run all cypress tests from cypress run script. 2022-02-26 09:47:17 -08: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!