这是在 GitHub 页面上实现博客功能的好方法吗?

Is this a good way of implementing Blogging Functionality on GitHub Pages?

我正在考虑使用 GitHub 页面来实现博客,我有点想重新发明轮子。我从头开始构建我的网站,我不想使用 Jekyll,因为它似乎无法集成到具有您自己主题的现有网站中(如果我错了请纠正我)。我想要以下功能:

我正在考虑静态和动态解决方案。静态解决方案是编写一个 python 脚本,以文本格式读取我的博客,并通过向博客 html 页面添加更多 html 来更新博客页面以包含这篇新文章。动态解决方案是让我的博客页面从 github 存储库中获取文章,并将它们实时集成到我的博客中。这也将允许按需获取更多文章(例如,当用户向下滚动我的页面时)。这是否过于复杂或作为一个小项目有意义吗?如有任何意见,我们将不胜感激!

几年前我写了一个静态站点生成器作为 Grunt 插件,所以我可能可以在这里提供一些好的建议。

静态站点生成器会将源文件(通常是 Markdown 或您选择的模板语言中的帖子、页面和模板的类似格式)转换为平面 HTML,然后可以将其推送到服务器.它还可能包含用于将其推送到站点托管位置的脚本。如果您想在 Python 中执行此操作,有很多合适的模块 - Jinja 将是合适的模板系统的一个很好的例子,有几个 Markdown 实现,如果您需要语法高亮 Pygments 是一个不错的选择。

客户端搜索其实是可以的。为此,我的网站使用 Lunr.js - 在构建过程中,它会生成一个用于搜索的索引文件,然后使用 jQuery 将其与页面的其余部分一起加载。

没有服务器端脚本也应该可以无限滚动,因为它只是使用 Javascript 获取相同的内容。 Paul Irish 的 Infinite Scroll 插件不再维护,但理论上它可以做到这一点,并且可能有其他选择。

您可能想查看 article I wrote about it 以获取想法。静态解决方案对我来说效果很好——托管成本低且易于部署。如果需要,您也可以使用 Disqus 或 Facebook 评论。

一个简单的静态站点生成器是一个实用的周末项目,它应该是一个很好的实现你想要的方法。