Open
Description
Should cover things like:
- Image optimization BEFORE commit
- https://imageoptim.com/versions.html or similar
- This is to avoid making a
git clone
be needlessly large. Committing one version and then later committing an optimized version still ends up with both versions in the git repo. Rewrite your commits to fix this (git rebase -i origin/main
and follow instructions)
- Image usage
<picture>
preferring webp with png fallback?
- Suggest the contributor to read the Jekyll docs: https://jekyllrb.com/docs/ but also write the guide assuming contributors have not read this thoroughly, for now.
- Referencing other files (using
{% link %}
etc)- It's a compile-time file check, basically
- Site structure
- What goes where and what's what
/assets/
: generic site assets/_sections/
: pages that get their title assigned to the website root, e.g./_sections/blarg.md
withtitle: Test
in front matter getshttp://site/Test
as permalink, but try to keep file name (and casing) consistent with the title used./_wiki/
: uses the path of the file as permalink and defaults to thewikipage
layout, e.g._wiki/Install/Linux.md
becomeshttps://site/Install/Linux
- Generic Jekyll files:
/_config.yml
: main Jekyll config, see Configuration | Jekyll/index.md
: frontpage content, see front matter for which layout is used/404.html
: the 404 (page not found) page used/Gemfile
(andGemfile.lock
): ruby files used by rubygems andbundler
, see Ruby(?) docs.
- Generic folders:
/_data/
: data accessible via{{ site.data }}
, see Data Files | Jekyll/_includes/
: files used in{% include <file> %}
statements, see Includes | Jekyll/_layouts/
: files used for layouts, inheritance is heavily used here, see Layouts | Jekyll/_site/
: Contains the processed/built site. Should never be in VCS/git.vendor
: Your local ruby files. Should never be in VCS/git.
- What happens in different folders (
collections
array in/_config.yml
tells us most of that) - Detail usage of
/_layouts
- also mention that wiki collections (
/_wiki
files) always use thewikipage
layout, anything else uses thedefault
layout, and inheritance is used (e.g. layoutwikipage
definingdefault
as its layout, which replaces{{ content }}
indefault
withwikipage
contents) (link to Jekyll docs for layouts)
- also mention that wiki collections (
- What goes where and what's what
- Target browsers (Chrome and Firefox, both on Mobile and Desktop - if Chrome works most things should work)
- Usage of JavaScript
- Keep to a minimum, but if you have to use it, always consider noscript/no-JS users - at the very least, have a scriptless fallback.
Additions welcome