blog/README.md
Yan Lin 8f7c38cddc
All checks were successful
Deploy / deploy (push) Successful in 1m0s
deploy forgejo actions
2026-02-18 08:33:36 +01:00

1.1 KiB

Project Structure

  • config.toml: site config (base_url, title, markdown settings)
  • content/: blog posts organized by category (ml-tech, homelab, ai-system, dl4traj)
  • templates/: Zola templates + shortcodes
  • sass/style.scss: styles with light/dark mode via CSS variables
  • static/: favicons, web manifest
  • public/: built output

Shortcodes

Image with max-width constraint. width defaults to 500px:

{{ img(src="./diagram.png", alt="Architecture", width="600px") }}

Figure caption:

{% cap() %}The *architecture* diagram{% end %}

Block math:

{% math() %}
\nabla \cdot \mathbf{E} = \frac{\rho}{\epsilon_0}
{% end %}

Inline math:

The loss {% m() %}\mathcal{L}{% end %} is minimized.

Inserts table of contents where placed:

{{ toc() }}

Deployment

Automated via Forgejo Actions (.forgejo/workflows/deploy.yml). On push:

  • main → production deploy to Cloudflare Pages
  • preview → preview deploy with draft posts included

Required secrets in Forgejo repo settings: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, CF_PAGES_PROJECT_NAME.