R Markdown v1:功能完备!

R Markdown v1:功能完备!

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

markdown 包已被 litedown 包取代,前者是后者的严格子集,建议改用 litedown。文章回顾了 R Markdown v1 的历史:它基于 markdown 包而非 Pandoc,仅支持 HTML 输出,语法混乱,功能远弱于 v2(rmarkdown)。后来 Jeroen Ooms 开发 commonmark 包,作者据此重写 markdown 包,在功能上取 commonmark 与 Pandoc 之间的折中。作者强调此文并非鼓励使用 v1,多数人应选 v2 或 Quarto,markdown 包只求满足少数人需求,不以功能丰富为目标。

🔎

延伸解读

从 v1 到 litedown:技术栈的变迁

文章指出,R Markdown v1 基于 markdown 包而非 Pandoc,仅支持 HTML 输出,语法混乱。后来 Jeroen Ooms 开发 commonmark 包,作者据此重写 markdown 包,在 commonmark 与 Pandoc 之间取折中。如今 markdown 包又被 litedown 取代,后者是前者的严格超集。这一脉络反映了 R 生态中 Markdown 工具从实验性到标准化、再到进一步整合的演进过程。

“功能完备”的真实含义

作者声明“功能完备”并非拒绝所有未来功能请求,而是表明“功能丰富”不是该包的目标。尤其需要大量工作的新功能不太可能加入。读者应理解,这一定位意味着 markdown 包只求满足少数人的特定需求,而非与 rmarkdown 或 Quarto 竞争。提出新功能请求时需降低预期,避免将其误解为项目已停止维护或不再接受反馈。

谁该用 v1,谁该用 v2 或 Quarto

文章明确表示,此文并非鼓励使用 R Markdown v1。相反,作者认为对大多数人而言,v2(rmarkdown)和 Quarto 是更好的选择。v1 仅适合极少数有特殊需求的用户,例如需要轻量级、仅 HTML 输出的场景。读者在选择工具时,应优先考虑 v2 或 Quarto 以获得更完整的功能和持续支持,除非明确知道自己需要 v1 的局限性。

❓

Q&A

R Markdown v1 和 v2 主要有什么区别?

R Markdown v1 基于 markdown 包而非 Pandoc,仅支持 HTML 输出,语法混乱且功能远弱于 v2;v2(即 rmarkdown 包)基于 Pandoc 和 knitr,功能更强大,支持多种输出格式。

markdown 包现在被什么取代了?

markdown 包已被 litedown 包取代,前者是后者的严格子集,建议改用 litedown。

为什么 markdown 包会被重写?

因为 Jeroen Ooms 开发了 commonmark 包,作者据此重写了 markdown 包,移除了旧的 C 库,并在 commonmark 和 Pandoc 的 Markdown 功能之间做了折中。

作者对使用 R Markdown v1 的态度是什么?

作者并不鼓励使用 v1,认为对大多数人来说 v2 和 Quarto 是更好的选择;重写 markdown 包只是希望满足少数人的需求,不以功能丰富为目标。

markdown 包宣称“功能完备”是什么意思?

“功能完备”并不意味着拒绝所有未来功能请求,而是表示“功能丰富”不是该包的目标,特别是需要大量工作的新功能不太可能被添加。

markdown 包支持哪些 Markdown 特性?

文章提到可以阅读相关章节了解该包支持的特性,但未具体列出;作者表示其特性是 commonmark 和 Pandoc 之间的折中。

🏷️

标签

➡️

继续阅读