OFM v1 写作范围,包括链接、嵌入、提示块、数学公式和媒体。

以 Markdown 查看 在新标签页中打开以纯文本查看本页

语法

ofm@1 语法配置具有带版本的固定契约。使用这些语法后,源文件在 Obsidian、生成站点和纯文本编辑器中都能保持可读。

链接与嵌入

链接到其他笔记时,可以使用 Wiki 链接,并通过别名设置显示文本:编译器架构。标题片段可以链接到 编译器边界,块片段可以链接到 编译器契约

下面的摘录嵌入自架构笔记:

来自 Architecture

The compiler receives an immutable snapshot of public-source bytes, attachment metadata, normalized paths, configuration, and optional Git dates. It does not read the filesystem, ask Jekyll for state, use the network, inspect environment variables, or read the current clock. Its sorted result contains pages, generated files, copied assets, and diagnostics. Localization stays behind this same VaultCompiler.compile(BuildRequest) interface: one locale plan creates default-authoritative overlay snapshots and combines their immutable outputs before Jekyll receives them.

嵌入内容会保留来源标记。同一段摘录多次出现时,编译器会限定各实例的 DOM ID,确保锚点不会重复。

文本标记与任务

普通 Markdown 可以与 高亮、脚注和不同任务状态一起使用。1

  • 至少发布一篇笔记。
  • 替换示例标题。
  • 审阅草稿。

提示块

折叠笔记


折叠提示块使用原生 details 元素,因此键盘用户仍能操作。

数学公式与图表

行内公式 e^{i\pi}+1=0 会保持源文本可见,直到 MathJax 载入。

\operatorname{score}(q, d)=\sum_{t\in q}\operatorname{weight}(t, d)

flowchart LR
  Vault --> Compiler
  Compiler --> Jekyll
  Jekyll --> Pages

只有实际使用 Mermaid 或 MathJax 的页面才会载入对应资源。

媒体

图片嵌入可以指定宽度,也可以同时指定宽度和高度:

![[diagram.png|640x360]]
![[paper.pdf#page=3]]
![[paper.pdf#height=560]]

本地音频、视频和 PDF 使用浏览器原生控件。在 v1 中,.3gp 统一视为音频,.webm 统一视为视频。PDF 嵌入支持页码和高度选项。Canvas 与 Bases 文件会显示为下载卡片,因为 v1 不执行其中的数据模型。

外部 HTTPS 媒体继续使用普通 Markdown 图片语法。GIF 与其他受支持图片会保留图片语义,也支持可选的 Obsidian 尺寸。直接视频文件使用原生控件。YouTube、Bilibili 和 Vimeo 链接会变成重视隐私的延迟载入播放器;X 或 Twitter 状态链接会变成延迟载入的 Tweet 嵌入,并保留普通链接作为降级入口。

![Animation|320x180]https://media.example/loop.gif
![Product tour]https://cdn.example/tour.mp4
![Conference talk]https://www.youtube.com/watch?v=NnTvZWp5Q7o&t=1m30s
![](https://www.bilibili.com/video/BV1E7411e7hC?p=2)
![](https://vimeo.com/212731897)
![](https://x.com/obsdmd/status/1580548874246443010)

只有无法通过上述媒体形式表达的页面才应使用显式 iframe:

<iframe
  src="https://example.com/interactive"
  title="Interactive example"
  height="560">
</iframe>

编译器只接受不含凭据和自定义端口的 HTTPS iframe URL。它会丢弃作者写入的主动内容属性,通过标准服务 URL 重建已知视频播放器,并为普通页面应用固定 sandbox。外部嵌入只会在实际包含它的页面上载入,并获得范围受限的内容安全策略。普通 frame 和 Tweet 都保留普通 HTTPS 降级链接。构建不会连接服务提供商。内联代码、代码块或注释中的 iframe 会继续作为惰性源文本。

标签与注释

正文标签(例如 #field-notes)和嵌套标签(例如 #guide/syntax)会与 frontmatter 中的标签合并。站点通过一个带有稳定锚点的标签索引展示它们。

Obsidian 注释与 HTML 注释不会进入 HTML、预览、Search、Graph 元数据或订阅源。

每篇公开笔记都具有 Copy page 和 View as Markdown 操作。两者使用同一份不含 frontmatter 的 Markdown 资源,并保留原始正文,其中包括 OFM 语法和注释。公开笔记中的注释仍属于公开源文本。

混合文字示例请参阅 CJK 展示页

  1. 完整兼容性表格位于 OFM v1 Conformance

搜索本站

打开搜索时载入索引。

    浏览

    上下文

    完整关系图

    正在载入关系图…

    局部关系图

    正在载入关系图…

    图片