返回功能特性
核心功能

符号嵌入

为函数名写一个 wiki 链接,函数体就会带语法高亮地渲染在原处,直接从源文件中提取。AST 驱动的提取支持 40+ 种语言:Python、Swift、JavaScript、TypeScript、Go、Rust、Java、C、C++、Ruby、Kotlin 等。修改源代码,文档随之更新。

example.md
# 按名称嵌入函数
![[auth.py#validate_token]]

Ohai 从 auth.py 中提取 validate_token 函数,内联渲染并高亮显示。函数更改时,文档自动同步更新。

为何重要

传统文档会过时。你复制粘贴代码到 Markdown,代码不断演进,文档却开始说谎。符号嵌入通过将源文件视为唯一的真实来源来解决这一问题。

与每次重构都会失效的行号引用不同,符号嵌入使用 AST 解析通过实际名称查找代码——函数、类、结构体、常量。重命名文件、重组代码、添加新方法都没关系——只要符号名称存在,文档就能保持准确。

使用场景

API 文档

引用真实的函数签名,而非手动输入的、容易偏离同步的近似版本。

架构决策记录

在 ADR 中嵌入正在讨论的代码。随着代码库演进,示例始终保持最新。

入职指南

向新开发者展示身份验证如何工作,使用可信赖且与代码库匹配的实时代码。

代码审查

将特定函数提取到 Markdown 摘要中,用于异步审查和讨论。

教程

讲解真实的实现方案。读者可以确信代码示例始终是最新的。

运维手册

嵌入运维人员在故障处理期间需要参考的确切配置或脚本。

支持的语言

Tree-sitter AST 解析支持 Python、Swift、JavaScript、TypeScript、Go、Rust、Java、C、C++、Ruby、Kotlin、PHP、Scala、Haskell、OCaml、Lua、Elixir、Bash 等 — 以及数据格式路径提取器,支持 JSON 键、YAML 路径、TOML 表、plist 路径、XML、CSS、SQL 和纯文本。共 40+ 种格式。

PythonSwiftTypeScriptJavaScriptRustGoRubyJavaKotlinCC++C#HaskellElixirScalaRJuliaPerlPHPDartZigVOCamlObjective-CMATLABLuaSQLVerilogJSXTSXJSONYAMLTOMLXMLPlistCSSHTMLMarkdownShellPlain Text

准备好尝试永不过时的文档了吗?

下载 Mac 版