Static blog generator.
- 🍰 as simple as git push
- 🖋 read content as markdown.
- 📦 generate optimized images resolutions.
- 🔌 progressive web app, works offline.
- 👓 rss feed.
- 🛰 SEO friendly with server side rendering.
along with neat ui 👍
The app can be served trought webpack-dev-server for developpement purpose. Still, you need at least to build the posts as json and the images.
yarn run build:contentData && yarn run build:images && yarn run start
The build process is composed of several steps:
-
yarn run build:contentData parse the files in
src/content/posts
, write the parsed posts asdist/posts.jon
-
yarn run build:asset run webpack to build the static assets.
-
yarn run build:images parse the
dist/posts.jon
file, generating several versions of images for several dimensions. rewrites thedist/post.json
to include path to generated images. -
yarn run build:icons generates severals version of the favicon, make them readable in
dist/icons.json
/!\ this step require to have graphicMagic in path -
yarn run build:pages pre-render the html pages, reading the
post.json
file. -
yarn run build:manifest build the manifest file, reading the generated icons.
-
yarn run build:serviceWorker build the serviceWorker file, reading the assets generated by webpack.
-
yarn run build:rss build the rss page.
As the router later the route, requiring relative path will fail.
In order to re-write path absolutely, the ROOT_URL
can be defined and will be append at the start of the paths.
For example as this project is hosted at platane.github.io/january
, the style url must be //platane.github.io/january/asset/style.css
. The base path to set is //platane.github.io/january
.
The .travis
file allows to build at every push and deploy to gh-pages.
GITHUB_TOKEN
env var must be set. As well as BASE_PATH
if applyable.
yarn run build
to build the static files.
/!\ graphicMagic must be installed
But you probably shouldn't care as every thing runs on CI 😃.