分享好友 行情首页 行情分类 切换频道
基于Markdown格式的电子书生成工具大比拼:gohugo、mdbook和peach
2024-12-24 01:46  浏览:78

基于Markdown格式文件写博客已经很多年了,一直使用的是Wordpress的markdown插件,由于各种遗留原因,一直没有转换到直接使用静态站点的方式。博客文章之间一般来说多是独立篇章,少有关联,即便是写一个系列文章,数量也不会太多。因此,用博客形式来组织书籍章节是不大合适的。“术业有专攻”,我们还得寻找专门用来制作电子书的工具或平台,并且要支持本地安装,支持基于Markdown格式的源数据文件。

专门用于制作电子书类文档的知名工具包括:gitbook和Read the Docs。不过前者的开源版本2018年末就不更新了,而Read the Docs则比较老,还需要多个工具配合。我个人倾向于单个二进制文件搞定一切。于是我找到了三个候选:gohugo、mdbook和peach,这三个候选部署时都只有一个二进制文件。gohugo和peach是Go语言实现的,而mdbook则是用Rust语言实现的。下面我们就来简单对比一下这三个基于Markdown格式的电子书制作工具。

mdbook是模仿gitbook样式的从markdown文件生成电子书的工具和静态站点服务,它仅聚焦于“电子书制作和站点服务”。如果不是类似gitbook风格的其他类静态内容服务,那么它并不适合。因此,该工具采用了惯例优先原则(convention over configuration),使得使用时我们无需做太多的配置即可生成一个像模像样的电子书站点。

由于是rust实现的,mdbook本地部署时只需一个二进制文件,我们直接从它的github release上下载对应os平台的release文件(这里是macos的0.4.0版本

解压后,将mdbook所在路径添加到PATH环境变量中

接下来,我们就使用mdbook init命令创建一个电子书工程

我们看到mdbook init生成了一个目录,目录布局如下

接下来,我们直接运行mdbook serve即启动了一个服务,用于访问该电子书

我们通过浏览器访问http://localhost:3000,可以看到如下页面


:mdbook生成的电子书首页

我们看到:我们没有做任何配置就生成了一个和gitbook样式差不多的电子书服务站点。该站点还支持选择页面显示模式(截图中使用的是默认的Light模式)、支持查询等。

如果我们要增加新章节、编排章节标题缩进,只需编辑电子书工程下面的src/SUMMARY.md

这些对于多数人来说已经是足够了的,后续只需关注书籍内容即可,无需对mdbook生成的工程进行什么调整。mdbook会自动探测src目录下的文件变化并根据变化重新生成静态html文件。我们只需刷新页面即可看到最新变化。

peach是一款由Go语言实现的多语言、实时同步以及全文搜索功能的 Web 文档服务器。它由gogs的作者无闻打造,该作者的很多开源项目的文档也都是由peach生成和提供文档服务支撑的。我们可以直接使用go get安装peach

接下来,我们用peach建立电子书工程

我们这里直接使用peach项目自身文档的自定义模板

下载配置好的自定义模板

启动web服务

我们通过浏览器访问http://localhost:5556,可以看到如下页面


:peach生成的电子书目录页

不过,和mdbook不同,上面peach加载并渲染的文档并不在本地,我们在custom/app.ini中看到如下配置

我们看到当前例子采用了remote模式,即使用Github上的仓库peachdocs/docs中的数据(markdown文件)作为源文件进行渲染,而这个仓库的结构如下

TOC.ini文件描述了文档结构布局

我们看到,和mdbook相比,peach的门槛稍高一些,需要学习TOC.ini中的特殊配置语法,同时如果要改变peach的默认风格,还要学习peach使用的模板语法(Peach 使用 Go 语言 Pongo2 v3 版本 作为模板引擎,它使用的是 Django HTML 格式)。

gohugo是这几年最火的静态站点生成工具。和上面两个工具不同的是:它致力于成为一个通用的静态站点工具,与hexo等目标一致。结合gohugo与git book风格的theme也能实现电子书制作与站点服务。

经过多年发展,gohugo的安装十分方便:在macos上,我们既可以使用go get安装(gohugo支持module,也可以使用brew安装

通过hugo new site命令,我们来创建一个新的站点

下面是生成的站点的初始目录结构

接下来我们来安装gitbook theme

我们可以修改一下顶层目录的config.toml,增加theme="book"

启动该站点

这时由于content目录为空,因此通过浏览器访问: localhost:1313后只能看到只有一个标题的空白页面。

我们将https://github.com/alex-shpak/hugo-book themes/book下面的样例站点的content拷贝到我们的站点中

再次启动hugo server后,我们通过浏览器浏览,可以看到下面页面


:gohugo生成的电子书目录页

我们看到这个页面分为三栏,最左侧是站点目录栏,中间是章节内容,右侧显示的是内容中的标题结构。电子书源文件分布在content目录下,该目录的结构如下

•_index.md是首页布局•menu/index.md是左侧栏的布局

其他均为文章内容源文件。如果我们要调整首页布局或左侧栏的书籍结构,我们只需调整上述两个文件即可。

我们粗略、快速对mdbook、peach和gohugo工具做了比较,三者部署时都是单二进制文件。

我们的目标是利用工具生成电子书,仅从达到这个目的难易度来看

•mdbook是“门槛”最低的,几乎无需配置,就能搭建出一个像模像样的类似gitbook的图书站点;•peach门槛较高一些,要配置的东西多一些;•gohugo门槛适中,但却最为灵活和强大。如果对gohugo的模板语法十分熟悉,可以定义出一套满足自己风格的电子书浏览页面风格。


我的网课“Kubernetes实战:高可用集群搭建、配置、运维与应用”在慕课网上线了,感谢小伙伴们学习支持

我爱发短信:企业级短信平台定制开发专家 https://51smspush.com/ smspush : 可部署在企业内部的定制化短信平台,三网覆盖,不惧大并发接入,可定制扩展;短信内容你来定,不再受约束, 接口丰富,支持长短信,签名可选。

2020年4月8日,中国三大电信运营商联合发布《5G消息白皮书》,51短信平台也会全新升级到“51商用消息平台”,全面支持5G RCS消息。

著名云主机服务厂商DigitalOcean发布最新的主机计划,入门级Droplet配置升级为:1 core CPU、1G内存、25G高速SSD,价格5$/月。有使用DigitalOcean需求的朋友,可以打开这个链接地址:https://m.do.co/c/bff6eed92687 开启你的DO主机之路。

Gopher Daily(Gopher每日新闻)归档仓库 - https://github.com/bigwhite/gopherdaily

我的联系方式

微博:https://weibo.com/bigwhite20xx 微信公众号:iamtonybai 博客:tonybai.com github: https://github.com/bigwhite

微信赞赏


    以上就是本篇文章【基于Markdown格式的电子书生成工具大比拼:gohugo、mdbook和peach】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/quote/3625.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
权威外链平台指南:助力网站排名与流量飙升297
外链建设是网站优化不可或缺的重要环节。优质外链不仅能传递权重,还能为网站带来引流,提升品牌知名度。本文将为您提供一份全面
软媒魔方电脑版(Win10)
软媒魔方电脑版(Win10)是一款全新好用的电脑优化大师,用户们可以在软媒魔方电脑版(Win10)通过简易的操作来对你的电脑进行一个全
如何找到微信
在数字化高速发展的今天,微信作为一款集社交、支付、信息获取等多功能于一体的应用,已经成为人们日常生活中不可或缺的一部分。
绿云获得PCI PA-DSS支付安全认证
近日,绿云oHotel产品获得了PA-DSS(Payment Application Data Security Standard)支付应用数据安全标准3.2版本一级认证。支付
网站快照不更新的原因是什么?
在时,大家都会主要到网站的快照,那么网站快照对于优化有哪些作用呢?下面云无限小编为大家详细介绍:通俗的说只要被搜索引擎收
百度爱采购平台的特点及优势有哪些?
爱采购是一个电商平台,提供一站式的采购服务。它为企业提供了更方便、高效的采购渠道,帮助企业降低采购成本,提高采购效率。爱
最新文艺朋友圈说说文案
最新文艺朋友圈说说文案大全(精选80句)  像座孤独的海,内心隐隐呼唤著游云的望乡人。以下这篇是关于文艺朋友圈说说文案的句
通过 Docker 搭建 Typecho 详细教程
下面以 Centos 7 为例1.1 安装 Docker 安装依赖设置yum源查看所有仓库中所有docker版本安装docker设置开机启动启动 Docker查看版
【Apple TV 4K】软件篇:有钱有时间 方能享清闲
【新人求关注~】想要用好Apple TV 4K,不仅需要有硬件上的准备,软件方面也有很多门槛等你去跨、去折腾。如果让我用一句话来形
网络综合布线考试试题及答案.pdfVIP
================精选公文范文,管理类,工作总结类,工作计划类文档,欢迎阅读下载==============网络综合布线考试试题及答案专
本企业新闻
推荐企业新闻
发表评论
0评