静态网站生成器 mdBook 年度升级的步骤

海云青飞

什么是 mdBook

mdBook is a utility to create modern online books from Markdown files

mdBook 是一个软件工具用来生成在线书籍、文档、教程网站,mdBook 中的 md 指的是 mdBook 只接受 Markdown 格式的源文件

海云青飞 为什么采用 mdBook 来生成网站

我要做自媒体网站,就必须对计算机技术有所了解,虽然我对计算机科学也感兴趣,但是我的最大特长并不在于深入研究某门细化的学科,因此我不想在研究计算机技术上浪费很多时间

我应该用什么技术来做网站?

网站分动态网站和静态网站,我自己维护动态网站的话太费时间,所以我暂不考虑做动态网站

我决定了做静态网站,我自己写过一个静态网站生成器,因维护、升级太费时间,后来被我放弃了

网上有许多静态网站生成器供选择,大多不能令我满意,它们的缺点是:

  1. 本地文件的组织太复杂
  2. 有的静态网站生成器的依赖文件太多,我喜欢单个 binary 的生成器

多年来我一直在探索用什么技术做个静态网站,直到 mdBook 的出现,我做网站的技术方案总算有了着落

mdBook 的更新频繁,我一般在每年初同步更新一下,现在我记录一下今天更新它的步骤,以供以后更新时参考

升级 mdBook binary

海云青飞 的读者如果不熟悉计算机技术,那么我把本节内容写得很详细也没有用;反之,如果读者会用 Linux 命令行,那么我就不用详细解释每个用到的指令,因为这些都只是简单的操作

下面我只列出用到的命令,并不解释每个命令的作用和用法

ssh my-server
mdbook -V
mdbook 0.4.25
cd ~/bin/tmp
wget -O mdbook.tar.gz https://github.com/rust-lang/mdBook/releases/download/v0.4.37/mdbook-v0.4.37-x86_64-unknown-linux-musl.tar.gz
tar-xf *.tar.gz
mv mdbook ..
rm *
cd ..
mdbook -V
mdbook v0.4.37

把自己修改过的文件同步到最新版本

如果我没有修改 mdBook 相关文件,那么上步就已经完成了 mdBook 的升级,可谓是十分快捷

目前我只修改过 theme/index.hbs 文件,我的需求是把此文件更新到最新版并且保留我的修改,实现的方法是找一个逐行比较文件异同的软件,此软件会帮助我实现目的

  1. 下载 mdBook 源文件

    git clone https://github.com/rust-lang/mdBook

    目前我只要用到下载下来的文件中的 mdBook/src/theme/index.hbs 文件,我在其中插入了几行文字,就是显示在网站每个页面最下方的内容,如果把这些内容去掉,那么我只要更新 mdBook 的可执行文件就行了,超级简单

  2. 在 Windows 系统上用 WinMerge 软件比较两个文件

    在 WinMerge 中打开二个文件,一个是最新版的 index.hbs,一个是我修改过的旧版本的 index.hbs,再点击 Compare 进行比较,软件会高亮显示有差异的行,右击高亮行会弹出菜单,其中显示了可用的操作,把最新版本中新增和修改过的内容同步到我的版本中去

更新完成后,我重新生成了网站,以查看是否有问题。结果显示一切 OK

相关网址

  • https://github.com/rust-lang/mdBook
  • https://rust-lang.github.io/mdBook/

2023-02-06


独立思考最难得,赞赏支持是美德!(微信扫描下图)