Personal blog — built with Zola, tabi theme, deployed to Cloudflare Pages via Woodpecker CI
  • HTML 35.6%
  • CSS 24.2%
  • Python 21.5%
  • JavaScript 10.5%
  • Shell 7.6%
  • Other 0.6%
Find a file
abdo 26aa87aaaf
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
chore: track pre-commit hook under .githooks
Move the local .git/hooks/pre-commit into version control so it is shared and
pushable. Includes the fix to run stylelint with --allow-empty-input, so
committing a changeset whose only staged CSS is .stylelintignore'd (e.g. the
generated static/giallo-dark.css) no longer fails the hook.

Activate in a fresh clone with: git config core.hooksPath .githooks
2026-05-29 00:07:46 -04:00
.githooks chore: track pre-commit hook under .githooks 2026-05-29 00:07:46 -04:00
content chore: update Signal contact link 2026-05-07 14:27:17 -04:00
functions/api/openheart chore: add ESLint and Stylelint with standardised formatting 2026-02-05 04:31:52 +08:00
highlight_themes feat: use Hammerheart for code-block syntax highlighting 2026-05-29 00:07:46 -04:00
sass/skins feat: upgrade to Zola with customised serene theme 2025-11-01 12:09:17 -04:00
scripts feat: add now-page archive and data fetch scripts 2026-04-11 10:18:55 -04:00
static feat: use Hammerheart for code-block syntax highlighting 2026-05-29 00:07:46 -04:00
templates feat: support Dynamic Type text sizing 2026-05-24 01:04:22 -04:00
themes feat: switch theme from serene to serene 2026-04-10 01:54:15 -04:00
.djlintrc chore: exclude CSP from djlint and gitignore generated syntax CSS 2026-02-03 10:52:03 +08:00
.gitignore chore: serve fonts from R2 2026-05-17 12:49:52 -04:00
.gitmodules fix: add theme icons to site static for CI compatibility 2026-04-11 10:18:55 -04:00
.prettierignore chore: add Prettier and djlint configuration 2026-02-03 10:45:29 +08:00
.prettierrc.toml chore: add ESLint and Stylelint with standardised formatting 2026-02-05 04:31:52 +08:00
.stylelintignore feat: add custom templates, Giallo palette, and open heart protocol 2026-04-10 01:55:12 -04:00
.stylelintrc.json chore: add ESLint and Stylelint with standardised formatting 2026-02-05 04:31:52 +08:00
.woodpecker.yml ci: use locked Wrangler deploy tool 2026-05-17 15:02:16 -04:00
config.toml feat: use Hammerheart for code-block syntax highlighting 2026-05-29 00:07:46 -04:00
eslint.config.js chore: add ESLint and Stylelint with standardised formatting 2026-02-05 04:31:52 +08:00
LICENSE.md chore: serve fonts from R2 2026-05-17 12:49:52 -04:00
package-lock.json ci: use locked Wrangler deploy tool 2026-05-17 15:02:16 -04:00
package.json ci: use locked Wrangler deploy tool 2026-05-17 15:02:16 -04:00
README.md docs: add project README 2026-05-17 14:46:53 -04:00

abdo.wtf

Woodpecker CI

Source for abdo.wtf, Abdo's personal blog.

Stack

  • Zola
  • Serene theme as a git submodule
  • Sass compiled by Zola
  • Cloudflare Pages and Pages Functions
  • Woodpecker CI for build and deploy

Development

git submodule update --init --recursive
zola serve

Build the site locally:

zola build

Deployment

Pushes to main run the Woodpecker pipeline in .woodpecker.yml. The pipeline builds the site with Zola and deploys public/ to Cloudflare Pages with Wrangler.

License

Code is MIT licensed. Writing, photos, screenshots, and other original content are licensed under CC BY-NC 4.0 unless a file says otherwise. See LICENSE.md.