A statically typed site generator, written with pure Elm.
We want to add in the metaRedirect
function:
metaRedirect : AttributeValue -> Tag
metaRedirect content =
node "meta"
[ ( "http-equiv", Raw "refresh" )
, ( "content", content )
]
The work being done to create this fork is:
- We are starting at
46853ca6176071f01061366e5e1fbaf78a65aeb4
, which is tagged asv2.1.9
. - We need to remove all of the tags on both remote and local:
git tag -l | xargs -n 1 git push --delete origin git tag | xargs git tag -d
3. The published versions are: https://package.elm-lang.org/packages/canceraiddev/elm-pages/
4. Checkout commit `46853ca6176071f01061366e5e1fbaf78a65aeb4`, on the `dev` branch.
5. We need to update the following files:
1. DONE `src/Head.elm` Add in the new function, and associated documentation
2. DONE `package.json` Update the version to 1.2.1-fork
3. DONE `elm.json` Update version to 1.2.1.
6. Test compile with `elm-make`
7. Make new commit
## Getting Started Resources
- [elm-pages Docs Site](https://elm-pages.com/docs)
- [elm-pages Elm API Docs](https://package.elm-lang.org/packages/dillonkearns/elm-pages/latest/)
- [Quick start repo](https://github.com/dillonkearns/elm-pages-starter) [(live site hosted here)](https://elm-pages-starter.netlify.com)
- [Introducing `elm-pages` blog post](https://elm-pages.com/blog/introducing-elm-pages)
- [`examples` folder](https://github.com/dillonkearns/elm-pages/blob/master/examples/) (includes https://elm-pages.com site source)
## 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.
```elm
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
}
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).
Take a look at the current projects to see the current priorities!
https://github.com/dillonkearns/elm-pages/projects
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!