Haddock 转 Man page转换器
所有处理都在你的设备上完成,大文件可能需要一点时间。
Haddock Documentation与Unix Man Page (roff)的定位并不相同:Haddock 是 Haskell 生态的文档标记:附着在函数上的 -- 注释块,渲染成每个 Hackage 包自带的 API 文档。当命令行文档需要上网或印刷时,把 man 页转成 Markdown、HTML 或 Word。
由于整个转换都在你的设备上完成,它快速、无限量且真正私密——无需账号、没有水印、文件不会出现在任何服务器上。多个文件一次性转换。
Haddock 与 Man page 的对比
| Haddock | Man page | |
|---|---|---|
| 数据结构 | 注释标记(--、'links'、@mono@) | roff 宏(.TH/.SH、\fB 转义) |
| 类型与校验 | UTF-8 文本 | 纯文本,troff 语法 |
| 兼容性 | Haskell、Hackage、Pandoc | groff、mandoc、Pandoc |
| 最适合 | Haskell API 文档 | 命令行参考手册 |
如何将 Haddock 转换为 Man page
- 1
选择文件
选择你的 Haddock 文件。
- 2
立即转换
文件先转换成 Markdown(保留标题、列表与段落的中间格式),再重建为目标格式。
- 3
下载结果
下载 Man page——结构保留,复杂排版被简化。
关于 Haddock 格式
Haddock 是 Haskell 解释自己的方式:-- 注释块里的文档,用 '标识符链接'、@等宽@ 和 /斜体/ 标记,编译成 Hackage 上每个包都发布的 API 参考页。标记活在源码里,但格式自成一们小语言。
从源码注释里转出后,Haddock 文本变成普通结构化散文:Pandoc 把标题、代码块和标识符链接映射到 Markdown 或 HTML,API 知识得以进入手册、wiki 或静态站点生成器,无需重新打字。
+优点
- ✓文档与所描述的代码同处一地
- ✓跨 API 的标识符感知链接
- ✓整个 Haskell 生态的标准
!局限
- −只在 Haskell 项目里有意义
- −语法小,Haddock 之外输出器少
- −嵌在注释里——需先提取
关于 Man page 格式
Man 页是 Unix 最古老且仍活着的文档格式:roff 源码带 .TH 标题宏、.SH 节头和 \fB 这类反斜杠字体转义,由 troff/groff 渲染成每个开发者用 `man ls` 阅读的终端页。它比多数仍在使用的编程语言都老——而且至今随每个 Linux 和 macOS 安装。
现代文档团队已很少手写 roff,但任何要出现在终端里的东西仍绕不开这个格式。Pandoc 把 man 页转成 Markdown、HTML 或 Word,让命令行文档上网——也能从 Markdown 源生成新的 roff。
+优点
- ✓所有类 Unix 系统通用
- ✓紧凑表达结构化手册
- ✓终端与印刷排版皆佳
!局限
- −对新手而言宏语法晦涩
- −roff 工具链古老
- −不适合富媒体或网页优先的文档
为什么把 Haddock 转换成 Man page?
转换的意义在于 Man page 的长处正好补上 Haddock 给不了的东西:所有类 Unix 系统通用而另一边,只在 Haskell 项目里有意义用上面的转换器过一遍,你的文件就站到了正确的取舍那边。
常见问题
Haddock 转 Man page 真的免费吗?
完全免费,无需注册、无水印、也没有每日次数限制。网站依靠广告维持运营。
我的文件会被上传到服务器吗?
不会。转换通过 WebAssembly 完全在你的浏览器内完成,文件不会离开你的设备——这正是它既快又私密的原因。
Windows、Mac、iPhone、安卓都能用吗?
可以。任何装有现代浏览器的设备都适用:Windows、macOS、Linux、安卓和 iOS,无需安装任何软件。
Haddock 转 Man page 有文件大小限制吗?
由于不上传,唯一的限制是你设备的内存。现代桌面浏览器处理几百 MB 的文件都没问题,超大文件只是需要稍等片刻。
转换可以离线进行吗?
可以。页面加载完成后,转换完全在浏览器内运行——你甚至可以断网继续转换。任何文件都不会经过服务器。
转换出来的 Man page 之后还能编辑吗?
取决于目标格式:Man page 为自己的用途而生,本转换器忠实还原其内容,而不是凭空制造可编辑结构。需要大量再编辑时,请从面向编辑的格式入手,最后在这里导出终稿。