# Raw 政策 Raw 是 Beautiful Article 的关键表现力,但必须受**主题**和**文章性**约束。写 Raw 前先读 选定主题的 `theme-profiles/.md` 的 Raw 风格。 ## Raw 是完整的 Web 平台,不是"画 SVG" **Raw 里可以写任意 HTML / CSS / JS / React 组件 —— 整个 Web 平台都在你手里。** SVG 只是 **其中一种**手段,绝不是默认或唯一。别把 Raw 想成"内联画图",那会严重限制网页的想象力。 按"哪种媒介最能讲清这一段"自由选择,例如: - **交互**:拖动条 / 切换 / 折叠 / 步进器 / 计算器 / 小型可调模型 / 假设演算。 - **布局排版**:并排对比、时间线、卡片网格、分栏、引文大字、特殊标题节奏(用 HTML + CSS)。 - **动效**:CSS transition / `@keyframes` / 滚动揭示 / 状态切换的动画。 - **数据可视**:HTML/CSS 条形与热度、``、需要时才用 `` 折线 / slopegraph。 - **嵌入与组合**:表格 + 控件 + 文本拼成的一次性小工具、可复制片段、对照面板。 判断只问一句:**哪种实现最能服务这一段的理解 / 论证 / 节奏?** 用那个,而不是反射性地画 SVG。 ## 核心心法 - **为 THIS 篇文章手写,不是 widget 库。** 每块 Raw 都应为它旁边的段落即时发明:写 token 成本?现写一个小拖动条;写两套方案?拼一个并排对照面板;写体积趋势?才考虑一条内联折线。 **绝不**把 Raw 做成一套固定小组件在文章间复用(同一条 pipeline / 同一套配色到处出现)—— 那等于把自由层退化成又一组受限组件。 - **自由但一致:用 token。** Raw 内部随便写 —— 任意 HTML / React 组件、`
`} /> // 3) 只为这篇文章定义的一个小交互组件 function TokenScale() { const [n, setN] = useState(50); return (
setN(+e.target.value)} /> {n}%
); } ``` 整篇文章里变化这些 —— 不同媒介、不同布局、不同交互 —— 让没有两块 Raw 看起来一样。变化是好的,违反 主题气质不行:`tufte` 的 Raw 不该变成发亮营销 dashboard,`press` 的 Raw 不该变成冷霓虹终端 (除非主题 md 明确允许)。 ## Raw 自检 - 这块 Raw 删掉后,文章理解是否会变差? - 它服务哪一个段落 / 论点? - 它是否使用 `--ra-*` token?是否符合主题 md? - 它是否让文章更像应用?(如果是,砍掉或收敛成服务阅读的解释性视觉 / 排版)