如何编写静态博客生产器?

最近想要写一个静态博客生成器,但不知道要如何开始。想要问问:一个静态博客生成器由哪些部分组成?如果要使用 Markdown 编辑文章的话,又要怎么处理?

阅读 5.5k
5 个回答

我原来也考虑做过,不过做到一半就放弃了,因为jekyll已经很好了(鄙视我吧)~~~

大致分两个方面:

  1. 网页模版:如何组织网页,网页模版的格式,生成网页
  2. 数据组织:博客这个数据量比较小,就不用考虑数据库了.用文件组织也挺好的,最重要的是tag,category怎么存储怎么提取

关于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/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进