Article

InkStack 双内容源写作巡检

用一篇 MDX 文章验证 GFM、数学、代码、组件、图片与脚注的统一文章契约。

Eric Yuan

同一个文章界面

InkStack 让 Typst、Markdown 与 MDX 最终落到同一套文章 DOM 契约。页面标题由布局输出,正文从二级标题开始,因此目录、旁注与分享元数据不必关心内容来源。

GFM 与表格

  • GitHub Flavored Markdown
  • 可横向滚动的表格
  • 统一代码工具栏
来源规范入口渲染结果
Typstpost.yaml + index.typGlyphweave 安全 HTML
MarkdownYAML front matter + .md受约束 unified 管线
MDXYAML front matter + .mdx受信任构建代码

数学与代码

行内公式 E=mc2E = mc^2 与块级公式都通过统一构建管线输出:

∫01x2 dx=13\int_0^1 x^2\,dx = \frac{1}{3}
TypeScript
type PostSource =
  | { kind: 'typst'; pdf: boolean }
  | { kind: 'markup'; dialect: 'markdown' | 'mdx' }

图片与脚注

Typst 与 Markdown、MDX 汇入同一主题层
内容源在仓储层汇合,页面只消费统一文章接口。

脚注在宽屏会成为右侧旁注,在窄屏会回到正文末尾。1 同一脚注可以再次引用。1

可信边界

普通 Markdown 拒绝 raw HTML、危险 URL 和事件属性;MDX 则被明确视为与 TypeScript、Astro 组件同级的仓库代码,只接受本地、经过评审的来源。

脚注

  1. 旁注脚本同时兼容 ARIA role 与 data-footnote-* 两种约定。 ↩ ↩2