Commit Graph

5 Commits

Author SHA1 Message Date
tiennm99 1eafaefff8 fix: post-v0.2.0 review P1s + CI hygiene (v0.2.1)
Security:
- render-link: drop `| safeHTML` on .Text (self-XSS surface w/ Goldmark unsafe:true)
- projects.html: safeURL + noreferrer + target=_blank on repo/demo
- comments: require repo+repoId+categoryId in gate (prevent broken Giscus iframe)
- htmltest-action: pin to commit SHA 31be84a (supply-chain)

Fixed:
- seo.html: nil-safe \$authorURL chain (no nil.url template error)
- nav.html: relURL on Menu.URL (sub-path deploy correctness)
- pages.yml: drop dead if-find Pagefind guard
2026-05-10 03:04:58 +07:00
tiennm99 944a6c8e1b ci: htmltest smoke tests and build validation
Add htmltest configuration, smoke test script, CSS budget assertion in CI
pipeline for quality gates.
2026-05-09 09:32:40 +07:00
tiennm99 4f17588f19 feat: core layouts and partials (Phase 3)
- baseof.html with named blocks (head_extra, body_class, main, scripts)
- single.html with data-pagefind-body wrapper
- list.html using post-card partial
- home.html placeholder (Phase 4 fills hero/projects/recent-posts)
- 404.html with vi i18n
- _partials: head (full meta + OG + Twitter Card + RSS autodiscovery + theme-flash script), header, nav, footer, meta, post-card, icon
- Sample post fixture in exampleSite to validate render

ci: bump GitHub Actions to Node 24-compatible versions

- actions/checkout v4 → v6
- actions/setup-node v4 → v6, node 20 → 22
- actions/upload-pages-artifact v3 → v5
- actions/deploy-pages v4 → v5
2026-05-07 20:45:31 +07:00
tiennm99 05d71218dc ci: skip Pagefind step when no HTML pages exist yet 2026-05-07 20:29:33 +07:00
tiennm99 afc5d25885 feat: initial theme scaffold
- Repo metadata: theme.toml, README, Apache-2.0 license
- Hugo defaults: vi language, post permalinks, taxonomies, paginate, TOC config
- exampleSite skeleton with themesDir wiring
- CI: Hugo build + Pagefind index + Pages deploy
- Pagefind devDependency in package.json (Dependabot weekly)
- vi i18n strings, default archetype
- Empty layouts/_partials/_markup/_shortcodes directories ready for Phase 3
2026-05-07 20:27:07 +07:00