使用静态页面的理由 本人在 Github 上使用 github.io 部署了一个静态主页,地址是[链接],用于存放一些笔记文件。虽然静态页面功能少,自动化程度低,不过 github.io 的优点在于页面完全随自己设计,html,css 和 javascript 全部随由自己安排,同时不需要自己的服务器资源。而且不少 G ..

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

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

使用静态页面的理由

本人在 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 插件生成的静态页面中没有侧边栏目录,只能从头看到尾,效果如示例网页。现在正在寻找为该页面生成侧边栏导航目录的方法,如果有高人指点,在此感激不尽!

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:PipeSoloSymWide 等,欢迎大家加入,贡献开源。

    1891 引用 • 3629 回帖 • 590 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    138 引用 • 255 回帖 • 779 关注
  • GitHub

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

    115 引用 • 944 回帖 • 668 关注
  • Markdown

    Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过类似 HTML 的标记语法,它可以使普通文本内容具有一定的格式,具体语法请参考 Markdown 教程

    80 引用 • 353 回帖 • 668 关注
回帖   
请输入回帖内容...