Commit Graph
9 Commits
Author SHA1 Message Date
hoelee 7e0802f913 SEO: real robots.txt + hreflang pairs + BlogPosting schema
Deploy / build (push) Successful in 18s
robots.txt was absent at the origin, so Cloudflare served its Free-plan
Content Signals Policy placeholder — a file with no User-agent, no Sitemap
and no directives. Adds src/pages/robots.txt.ts (origin 200 → CF merges
instead of substituting) pointing at sitemap-index.xml, disallowing
/pagefind/, and expressing search=yes / ai-input=yes / ai-train=no in line
with the two-lane SEO+GEO strategy in docs/seo-reference.md. Citation
crawlers (Google-Extended, OAI-SearchBot, PerplexityBot, ClaudeBot) stay
allowed; only training-only harvesters blocked.

hreflang was never emitted despite full EN/ZH i18n: both language versions
sat in the sitemap with no cross-reference. BaseLayout gains altLocaleUrl
and emits en/zh/x-default per page; every post pair, category pair, and
landing page now cross-links.

Also adds BlogPosting JSON-LD (@id-linked to the site-wide Person node)
so Google has a rich-result-eligible node per article, and creates the
missing /zh/about/ page — the EN about page pointed its language switch at
a 404, and /about/ was the only unpaired page after hreflang landed.
2026-09-19 21:41:22 +08:00
hoelee 4cf52e04c1 Categories page: descriptions, per-category terminal illustrations, full ZH version
Deploy / build (push) Successful in 17s
- 7 categories now listed with name, blurb, post count and a
  per-category terminal-style SVG illustration (CategoryArt)
- empty categories show '0 posts · coming soon' (non-link, no soft-404)
- new zh pages: /zh/categories/ index + /zh/categories/[category]/ detail
- PostList is locale-aware (zh-CN dates, zh category links)
- zh nav '分类' now points to /zh/categories/
- category detail pages get art + description header
- language switch wired both ways (EN <-> ZH)
2026-09-13 23:50:08 +08:00
hoelee 93c716f876 Add Pagefind search, sort posts by update time, link DigiKedai bot repo
Deploy / build (push) Successful in 20s
2026-09-06 07:31:02 +08:00
hoelee 1ccb54a466 style: nav labels title-case + RSS caps; post titles title-case
Deploy / build (push) Successful in 14s
2026-09-06 07:04:34 +08:00
hoelee e608d28ec3 i18n: translate nav labels on Chinese pages (文章/分类/关于)
Deploy / build (push) Successful in 14s
2026-09-06 07:02:01 +08:00
hoelee 6b56c1f4db feat: language switch links to same post in other language
Deploy / build (push) Successful in 10s
- Add translation field to schema + auto-match by zh/ prefix
- BaseLayout accepts per-page switchHref; post page resolves translation link
- Falls back to section landing (/ or /zh/) when no translation exists
2026-09-06 06:50:37 +08:00
hoelee e0d4b0fbb7 feat: locale routing (en flat, zh subfolder), language switcher, dark default
Deploy / build (push) Successful in 11s
- Derive lang from folder (posts/zh/* -> zh, else en); remove lang: frontmatter
- Change post route to [...slug] to capture nested zh paths
- Add nav language switcher (EN <-> 中文) + /zh/ landing page
- Default theme to dark (light opt-in via toggle)
- Translate hello-world-zh placeholder into English intro post
- Update case study: docker-compose sample + real install gotchas (commit history)
- Add docs/project-state.md (Tier 1/2/3 backlog)
2026-09-06 06:37:34 +08:00
hoelee a0b238bc98 feat: design-system upgrade + brand to 'Mr Hoelee'
Deploy / build (push) Successful in 16s
- Extract CSS into src/styles/global.css with design tokens (hoelee.com brand palette)
- Self-hosted Inter + JetBrains Mono via @fontsource
- Sticky nav + manual light/dark toggle + copy-button code blocks
- Author card + Person JSON-LD (E-E-A-T), article meta, related posts, reading time
- Full SEO: canonical, OG (with dims), twitter:card, favicon (all sizes), RSS + sitemap
- New /categories/ and /categories/[category]/ pages
- Add docs/ knowledge guides (content, design, seo, ops) + README index
- Brand name: hoelee.dev -> Mr Hoelee
2026-09-06 06:21:28 +08:00
hoelee 8372d5e659 Initial commit: Astro blog scaffold with CI/CD
Deploy / build (push) Waiting to run
2026-09-06 04:18:16 +08:00