| applyTo | **/*.liquid |
|---|
This al-folio repository uses Liquid templating extensively. When modifying .liquid files:
_includes/– Reusable template components (imported with{% include %})_layouts/– Page layout templates (specified in frontmatter withlayout: name)
{% include filename.liquid %}– Includes template component{% for item in collection %}...{% endfor %}– Loops{% if condition %}...{% endif %}– Conditionals{{ variable }}– Output variable{% assign var = value %}– Assign variable{% capture %}...{% endcapture %}– Capture output to variable| date: format– Date filtering| where: "key", "value"– Collection filtering
_includes/citation.liquid– Bibliography entry rendering_includes/distill_scripts.liquid– Distill.pub specific scripts_includes/footer.liquid– Site footer_includes/head.liquid– Page section_includes/header.liquid– Site header/navigation_includes/projects.liquid– Project display_includes/scripts.liquid– Global scripts_includes/selected_papers.liquid– Featured publications display
Prettier with @shopify/prettier-plugin-liquid enforces formatting:
- Single quotes around strings in Liquid tags
- Consistent spacing
- Indentation with 2 spaces
- Run
npx prettier . --writebefore committing
- Edit
_includes/header.liquid - Add links to navigation array in
_config.yml(see yaml-configuration.instructions.md) - Test by viewing site in browser:
docker compose up→ http://localhost:8080
- Create new file in
_includes/mycomponent.liquid - Use Liquid syntax for conditionals, loops, and variable output
- Call it from templates:
{% include mycomponent.liquid %} - Test:
docker compose up
- Some SCSS variables can be controlled via Liquid logic
- Avoid mixing complex Liquid with CSS; keep templates focused
Always run these checks:
-
Prettier format check:
npx prettier _includes/ _layouts/ --check npx prettier . --write # Fix formatting
-
Build test:
docker compose down docker compose up # Wait 30 seconds, check for errors in output # No "Unknown tag" messages should appear
-
Visual verification:
- Open http://localhost:8080
- Check that your changes rendered correctly
- Verify no broken layout or missing content
When working with Liquid templates:
- Use
_includes/and_layouts/as reference for syntax patterns - Follow existing formatting in files (Prettier will enforce consistency)
- Always test locally before pushing (build must succeed)
- For configuration changes, see yaml-configuration.instructions.md
- Only search for additional details if error messages reference unfamiliar Liquid tags or Jekyll concepts