This is eleventy starter.
It uses sass, nunjucks, rollup.
It also has i18n support.
DEMO on github pages
You can init repo with this template.
How to create project from a template
Or just clone this repo, remove .git directory and init with your own git repo.
src/en - put your pages here. For other language create directory named {lang}.json for example and add {lang}.json file.
{
"locale": "lang"
}src/posts/en - your posts
src/_includes/pages - pages layouts. Create your pages here and export them in src/en directory files.
src/_inlcudes/layouts - layouts.
base.njk- main layout with head, header, main, footer sections.post.njk- layout for post usingbaselayout.about.njk- layout for about page. With markdown content.home.njk- layout for all other pages.
src/assets - your css and js
src/assets/css
-
components- sass components.cprefix. -
layouts- grid, flexbox layouts.lprefix. -
pages- styles for pages.pprefix. -
utilties- utility styles like u-mr--8 (margin-right: 0.5rem).uprefix. -
base.scss- base html elements styles. -
functions.scss- sass functions. -
mixins.scss- sass mixins. -
prism.scss- prism tomorrow night colorscheme -
reset.scss- reset -
settings.scss- css variables. -
variables.scss- sass variables.
src/assets/js - example index.js file. You can remove it, if you don't need js. Don't forget to remove rollup, rollup-plugin-terser and @rollup/plugin-node-resolve dependencies. Also remove <script> tag from _includes/layouts/base.njk
static - static files are copied directly to /_site.
_data - data files with translations for each page, metadata and other stuff.
Edit build:eleventy:pathPrefix in package.json.
change path prefix option --pathprefix=your-repo-name
domainname.com {
root * ~/_site # or whatever site directory
file_server
handle_errors {
rewrite * /{http.error.status_code}.html
file_server
}
log {
output file /var/log/caddy/caddy.log
}
}