Switches PostList to the same shared template the other two blogs
use (hero card + image-row cards) and adds matching .post-hero /
.post-row CSS to the editorial light theme. Drops the dependency on
markdown.js getVisibleTags + renderMarkdown — covers come from raw
markdown regex against /images/ paths, no full render needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the rice-paper qipao motif (radial-gradient bg, ZCOOL XiaoWei
display font, Ma Shan Zheng brush brand) with the same clean editorial
magazine theme as hype404 / viralmvp:
- Warm off-white bg (#fbf9f3), rich near-black ink
- Fraunces serif headlines + Inter body + JetBrains Mono code
- Chinese vermilion accent (#c8102e) for the "buzz" brand mark, drop
cap, blockquote rule, pagination/hover states
- Noto Serif SC + Noto Sans SC pulled in alongside Fraunces/Inter so
inline Chinese characters (e.g. 董宇辉) render in a coordinated
serif/sans pair instead of falling through to system fonts
- Same component classes (.post, .post-content, .tag, etc.) so
PostList and post pages cascade through unchanged
- AdSense script preserved for ads-enabled deployments
- Brand wordmark "qipaobuzz" (buzz in vermilion accent)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tag pages emitted <link rel="canonical" href="...tag/Foo Bar/">
with literal spaces. Wrap with encodeURIComponent so the canonical
matches the encoded URL in the sitemap.