算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
blog-system-design【设计与创意】Design, build, or revise a technical blog as a product system. Use when work affects the blog index, category or section pages, article layout, typography, information density, internal linking, full-text search, keyboard shortcuts, resizable or collapsible navigation, table of contents, responsive breakpoints, reusable article components, media poli…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Build a dense, readable technical publication rather than a marketing landing page. Treat the index, post shell, navigation, typography, and explanatory components as one reusable reading system.
Use ai-devblog for choosing an article angle, writing and editing the prose,
selecting article-specific evidence, and publishing a post. Use this skill when
that work requires a new or changed shared layout, navigation model, taxonomy,
search behavior, or reusable component.
One article must not silently redesign the blog. Audit the existing system first. Reuse a suitable established component; change the system deliberately when the existing pattern is inadequate.
Inspect the rendered blog and its implementation at desktop, tablet, and mobile sizes. Identify:
Preserve durable URLs, feeds, metadata, and existing content contracts. Keep shared layout code separate from article-owned content and data.
Provide the smallest useful hierarchy:
Use one canonical post URL. Make filters shareable through query parameters. Do not create duplicate routes for visual variants of the same article.
Treat internal linking as part of the publication's information architecture, not as an SEO afterthought. When adding or substantially revising a post, scan the existing archive for a small number of relationships that genuinely help a reader continue the subject.
Use two complementary forms:
Prefer two or three strong related posts over a long automatically generated list. Curate for explanatory continuity, not shared keywords alone. Add reciprocal links when two posts are true counterparts, but do not force every relationship to be bidirectional. Keep stable post identity separate from link labels so titles can change without breaking references.
Validate the link graph in tests: every related identifier must resolve to a public canonical post, lists must not contain duplicates or the current post, and ordering must be preserved. Render related reading as compact semantic links with useful context such as category, date, reading time, title, and a short description. Do not let repeated recommendation cards dominate mobile reading density.
/ to focus search when the reader is not typing. Let Escape clear or
blur it. Show the shortcut beside the field.?q= with replace-state semantics so filtered
indexes survive reload, sharing, and browser navigation.On wide desktop screens, keep the blog index available in a left rail while the reader opens a post. Make the rail genuinely useful:
Use conventional responsive transitions unless the existing site defines better breakpoints:
Treat iPhone layouts as first-class rather than a scaled-down desktop. Test at 320, 375, 390, and 430px when the system supports those widths. Keep the article index rail fully absent, preserve a visible back-to-index path, respect safe-area insets, keep fixed controls above browser chrome, and prevent expanded TOCs, tables, code, diagrams, and long titles from forcing horizontal scroll. Stack or scroll wide evidence locally instead of widening the page.
Generate the TOC from stable heading anchors. Highlight the current section. Let readers minimize and restore it. Keep it sticky beside the article on wide screens and floating on narrower screens. Ensure transformed ancestors do not break fixed positioning.
Use a restrained publication such as the Cloudflare blog as inspiration:
clamp() values where appropriate.Information density does not mean tiny text. Compare how much useful content a reader can scan in one viewport, then check legibility, hierarchy, and touch targets.
Measure mobile density by useful facts visible per viewport, not by font size or the absence of horizontal overflow. Treat repeated tall cards as a design smell. When each item is a label plus one or two values, use a compact row, table, or definition list; do not allocate a large bordered panel and centered badge to every item. As a practical review trigger, redesign repeated mobile cards taller than roughly 72px unless their content or interaction genuinely needs the space. Prefer locally scrolling wide evidence over vertically expanding every field.
Prefer semantic, site-native components for recurring forms:
Figure with caption, provenance, and alt text;Keep component logic and styles feature-owned. Keep article data separate from rendering. Do not grow one post route or global stylesheet into the permanent home of every custom visualization.
Editorial illustration is welcome when it contributes a useful idea, memorable context, or recognizable publication identity. It must not become an enormous low-information block above the fold. Prefer a compact treatment beside the opening, later in the article, or in the social card.
Use an information-dense SVG diagram, chart, annotated screenshot, or other
technical visual when the opening needs a hero. Generate a dedicated og:image
for social previews when useful; do not assume it must also appear at full size
inside the article. Do not generate decorative hero art unless the user
explicitly requests it. Prefer no in-article image over a vibes image that does
not explain, prove, or contextualize anything.
Use, in order of explanatory value:
Remove any visual that could be swapped for unrelated artwork without changing the article's meaning.
Run content, type, lint, link, and production-build checks. Then inspect the rendered system at representative widths such as 1600, 1280, 1024, 768, 430, 390, 375, and 320px. Verify:
/, Escape, ?q=, empty
results, and browser back/forward;Treat visual inspection as required evidence. A passing build does not prove that a reading system works. Neither does HTTP 200, an overflow measurement, or DOM presence. Inspect actual rendered screenshots at the target CSS widths.