如何编写静态博客生产器?
最近想要写一个静态博客生成器,但不知道要如何开始。想要问问:一个静态博客生成器由哪些部分组成?如果要使用 Markdown
编辑文章的话,又要怎么处理?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
最近想要写一个静态博客生成器,但不知道要如何开始。想要问问:一个静态博客生成器由哪些部分组成?如果要使用 Markdown
编辑文章的话,又要怎么处理?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
我原来也考虑做过,不过做到一半就放弃了,因为jekyll已经很好了(鄙视我吧)~~~
大致分两个方面:
关于markdown我当时用python做的,python有现成的轮子可以用
jekyll
是值得参考,ruby
开发的,github在用如果是要使用md的话,那主要就是要实现md解析器了。还有一些简单的路由,这个要看自己的需要了。
之前正好也写过一个静态博客生成器,虽然没什么人用,不过也是可以说点的。
由于静态博客的评论部分基本都是整合给第三方评论系统的,所以博客整体上来说就是文章的集合体,需要存放的最重要的两个东西就是 文章(Post) 和 文章的索引(Post Index)。
由于 页面(Page) 其实也可以算是另一种型式的文章,是否有需要也可以看你的需求。
下面我讲讲文章索引。博客一方面是方便用户记录,另一方面也要方便用户查阅以前的文章,由于静态博客先天的搜索缺陷,所以索引其实是非常重要的,而且是需要多种形式的。正常的 按照时间线的索引,如果有关键词功能的话还需要 按照关键词+时间线的索引,或者是 按照文章分类+时间线的索引。当然,我个人觉得关键词和分类这两个的作用其实是差不多的,个人觉得实现一个也就足够。如果是多用户的话甚至还有 按照作者+时间线的索引。
普遍来说,生成静态博客就是生成无数的静态的HTML文件,你按照路径生成以上所说的文件就可以了。不过还有另外一种思路是生成文章的JSON集合,然后通过JavaScript在相应的页面获取相应的内容。
强烈推荐Gitblog,可导出静态页面!
Gitblog是一个简单易用的Markdown博客系统,它不需要数据库,没有管理后台功能,更新博客只需要添加你写好的Markdown文件即可。 它摆脱了在线编辑器排版困难,无法实时预览的缺点,一切都交给Markdown来完成,一篇博客就是一个Markdown文件。 同时也支持评论,代码高亮,数学公式,页面PV统计等常用功能。 Gitblog提供了不同的主题样式,你可以根据自己的喜好配置,如果你想自己制作博客主题,也是非常容易的。 Gitblog还支持整站静态导出,你完全可以导出整站静态网页部署到Github Pages。
Gitblog官方网站
http://www.gitblog.cn/