Source code and raw markdown content of my blog site https://blog.yanlincs.com/
Find a file
Yan Lin 4031223d27
All checks were successful
Deploy / deploy (push) Successful in 1m6s
deploy forgejo actions
2026-02-18 08:49:16 +01:00
.forgejo/workflows deploy forgejo actions 2026-02-18 08:49:16 +01:00
content update gnome and hyprland repo URL 2026-02-15 20:25:46 +01:00
runtime update runtime 2026-02-13 09:06:03 +01:00
sass turn up muted text contrast 2026-02-08 17:46:30 +01:00
static minor 2026-02-09 13:15:45 +01:00
templates favicon optimization 2026-02-09 13:09:19 +01:00
.envrc update runtime 2026-02-13 09:06:03 +01:00
.gitignore init commit 2026-01-30 16:19:41 +01:00
config.toml update dev-runtime 2026-02-08 19:03:32 +01:00
LICENSE add license 2026-01-31 07:38:02 +01:00
README.md deploy forgejo actions 2026-02-18 08:49:16 +01:00

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.