본문으로 건너뛰기

Markdown 中启用评论功能的开源解决方案

·170 단어수·1 분

基于 Markdown 的博客系统,有多个开源解决方案支持评论(注释)功能。知名的例子包括基于 GitHub 的博客平台 fastpages,该项目允许用户创建 Markdown 格式的博客文章,并通过名为 Utterances 的开源系统实现评论功能1

主要平台及评论系统
#

项目 描述
博客引擎 Jekyll、Eleventy、fastpages 等众多静态网站生成工具可用于基于 Markdown 的博客创建。
评论系统 - Utterances: 利用 GitHub 问题管理评论,能方便地与 fastpages 集成。
- Isso: 基于 Python的轻量级评论系统,重点关注低服务器要求和隐私保护。
- Remark42: 基于 Go 的评论系统,通过社交登录和多种防垃圾邮件功能提供干净的界面。
- Talkyard: 除了评论功能外,还具备论坛和聊天功能的综合讨论平台。

这些解决方案皆为开源,用户可以选择自我托管或使用如 Docker 容器等方式轻松构建234。fastpages 的一个优点是与 GitHub Pages 的集成非常简单,使得基本评论功能的使用变得非常便利1。相对而言,使用 Eleventy 或 Jekyll 基础的博客,如果选择上述任何评论系统进行整合,可以根据需要进行定制化。

摘要
#

想要在基于 Markdown 的博客中增加评论功能,可以选择像 fastpages 这种自带评论功能的平台(例如 Utterances),或是将像 Jekyll 或 Eleventy 这样的静态网站生成工具与 Isso、Remark42、Talkyard 等评论系统单独整合。不同解决方案在安装难度、服务器要求、隐私保护等方面各有差异,用户应根据自己的环境和需求做出选择。

结合多种开源项目和评论系统,可以轻松在基于 Markdown 的博客中实现评论功能。


对不起,我需要的功能是脚注
#

如果想要在 Markdown 文档中实现脚注功能,可以从多个开源解决方案中选择最合适的选项。例如,如果使用基于 JavaScript 的 Markdown 解析器 markdown-it,可以轻松应用在5中介绍的 markdown-it-footnote 插件。该插件支持基本脚注和内联脚注,其语法遵循 Pandoc 的定义5

主要选项
#

选项 特点 描述
markdown-it-footnote markdown-it 插件,基于 JavaScript 可作为插件轻松集成到 Markdown 解析器中,支持普通和内联脚注语法5
Jekyll (Kramdown) 基于 Ruby 的静态网站生成器,默认支持 Kramdown Kramdown 引擎默认支持脚注功能,因此无需额外插件67
Hugo (Goldmark) 基于 Go 的静态网站生成器,在最新版本中支持脚注 Goldmark Markdown 引擎内置的脚注功能,能够以简单语法实现6
Eleventy (11ty) 基于 JavaScript 的静态网站生成器,自定义性强 使用 markdown-it 时,可添加脚注插件(如 markdown-it-footnote)来使用5

markdown-it-footnote 使用示例
#

以下是同时使用 markdown-it 和 markdown-it-footnote 的简单代码示例:

const MarkdownIt = require('markdown-it');
const markdownItFootnote = require('markdown-it-footnote');

const md = new MarkdownIt().use(markdownItFootnote);

const result = md.render('这是一个脚注引用,[^1]\n\n[^1]: 这是脚注内容。');
console.log(result);

以上代码将 Markdown 文档中输入的脚注标记转换为 HTML,同时自动生成引用区和脚注区域5

摘要
#

如果希望在 Markdown 博客中增加脚注功能,可以根据项目的使用环境选择合适的解决方案。在基于 JavaScript 的项目中,markdown-it-footnote 插件非常实用,而在使用 Ruby 或 Go 基础静态网站生成器的情况下,可以考虑 Jekyll(Kramdown)或 Hugo(Goldmark)567。这些工具均为开源,用户可轻松定制化以实现所需功能。