博文

目前显示的是标签为“静态博客”的博文

只需五步,自己动手写一个静态博客

为什么要自己动手写一个静态博客? 众所周知,随着Github Pages这样的服务越来越流行,现在像Hexo、Hugo、Pelican这样的静态博客越来越多, 像我以前就是用 Pelican 的,但因为 Pelican 的依赖比较多(其实是想自己造轮子), 自从见过 Nim 就一直很想自己写一个静态博客,但总是觉得比较麻烦, 直到看到  Writing a small static site generator  , 才发现原来写一个静态博客竟如此简单。 废话不多说,那我们就开始动手做吧! 准备工作 安装好Nim编译器,如果你用Debian GNU/Linux, apt install nim 即可 安装依赖 nimble install markdown nimble install nwt 收集markdown列表 静态博客大多是使用markdown这样的源格式来编写文章,然后输出成HTML, 因为最近几年写markdown比较多,这里就只支持markdown。 这段代码比较简单,遍历 srcs 目录中的 *.md 文件,然后交给 md_processor 去解析 proc write_posts ( ) : seq [ JsonNode ] = var post : JsonNode for file in walkDirRec "./srcs/" : if file . endsWith ".md" : echo file post = md_processor ( file ) write_post ( post ) result . add post 解析markdown源 因为不像Python里有好用的 frontmatter ,所以我们这里用 pegs 来解析markdown中的元信息(如Title、Tags等)。 这里的 markdown 解析是用 nim-markdown  ,这在准备工作中已经安装好了 proc md_processor ( file_path : string ) : JsonNode = var f...