使用 Gitalk 实现静态页面评论的功能

本贴最后更新于 595 天前,其中的信息可能已经时异事殊

使用静态页面的理由

本人在 GitHub 上使用 github.io 部署了一个静态主页,地址是 http://aopstudio.github.io,用于存放一些笔记文件。虽然静态页面功能少,自动化程度低,不过 github.io 的优点在于页面完全随自己设计,html,css 和 JavaScript 全部随由自己安排,同时不需要自己的服务器资源。而且不少 GitHub 用户都会设置 github.io 作为自己的展示页面,也算是一个潮流。

更大的理由——Markdown Preview Enhanced 插件太强大。。。

我使用的 Markdown 写作工具是 VS code 搭配其中的 Markdown Preview Enhanced 插件,功能相当强大,尤其是其中的脚本语言画图像的功能让我爱不释手。在该插件内可以使用脚本语言(比如 DOT 语言)画出矢量图,包含流程图、时序图、有向图、无向图等等,目前我还没有发现其他 Markdown 渲染工具可以达到相同的功能。GitHub 中的 Markdown 语言据说是对原生 Markdown 进行了功能增强,但是连\TeX公式都不支持,和 MPE 插件比起来更是差了十万八千里(这里要夸一下 Solo 中的 Markdown 渲染器,是支持\TeX公式的)。但是过于强大也带来了兼容性的问题。在其他的 Markdown 渲染器中都无法实现在 VS code 中的近乎完美的预览效果(这同样也是我不使用 Hexo 的理由)。好在 MPE 插件实现了输出 HTML 文件的功能,输出的 HTML 文件的显示效果和在 VS code 中的预览效果没什么区别。我将输出的 HTML 部署到 github.io,就可以在静态网页中实现和桌面端相同的渲染效果(主要是指矢量图的渲染)。

其他存在的问题和解决方案

“静态页面因为没有后台服务器,所以无法保存评论的内容,也就无法实现评论的功能。”一般人在不了解 JavaScript 强大功能的情况下,基本上会这么想。但是现在有个高人用 JavaScript 实现了静态页面评论的功能,也就是 Gitalk 项目。其实我一开始发现的是 Gitment,原理和 Gitalk 相似,但是 Gitment 已经很久没有维护了,作者连自己主页的 SSL 证书过期了都不管,因此我选择了还在维护的 Gitalk。Gitalk 把评论放在 GitHub 仓库的 issue 中,访问静态页面时通过 JavaScript 与 issue 中的数据进行交互来完成评论的功能,这真是一个绝妙的想法。而且作者询问过 GitHub 官方,这种方式不属于滥用 issue 的范畴。

使用 Gitalk 的方法很简单,官方文档中已经说的很清楚了,在此就不再赘述了。

个人静态站点还未解决的其他问题

我的笔记内容篇幅比较长,当我发布在 Solo 中时,会自动生成侧边栏导航目录,但是 MPE 插件生成的静态页面中没有侧边栏目录,只能从头看到尾,效果如示例网页。现在正在寻找为该页面生成侧边栏导航目录的方法,如果有高人指点,在此感激不尽!

  • Gitalk
    3 引用 • 20 回帖
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    176 引用 • 1892 回帖 • 367 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    135 引用 • 1027 回帖 • 517 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...