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
This commit is contained in:
hoelee committed 2026-09-06 06:21:28 +08:00
1 parent 43b6f65c1c
commit a0b238bc98
25 files changed
+1306 -120

No files matched your search

+29
View File
@@ -0,0 +1,29 @@
---
import type { CollectionEntry } from 'astro:content';
interface Props {
posts: CollectionEntry<'posts'>[];
limit?: number;
}
const { posts, limit } = Astro.props;
const shown = limit ? posts.slice(0, limit) : posts;
const fmt = (d: Date) =>
d.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });
---
<ul class="post-list">
{shown.map((post) => (
<li>
<a href={`/posts/${post.slug}/`}><h2>{post.data.title}</h2></a>
<div class="meta">
<time datetime={post.data.pubDate.toISOString()}>{fmt(post.data.pubDate)}</time>
<span class="sep">·</span>
<a class="tag" href={`/categories/${post.data.category}/`}>{post.data.category}</a>
{post.data.tags.map((t) => <span class="tag">{t}</span>)}
</div>
<p>{post.data.description}</p>
</li>
))}
</ul>