@Date : 2020-11-01 10:53:07
@Author : Lewis Tian (taseikyo@gmail.com)
@Link : github.com/taseikyo
除了在线的两种方式(GitHub & GitBook),我闲得无聊又写了个脚本,使得可以离线看,主要就是用 Shell 脚本将这些 Markdown 整合生成一个 epub 文档,然后用 Calibre 转成 mobi 格式,发送到 Kindle 看了下效果,还不错。
为了修改其中的跳转链接(锚点)还看了挺多博客的,结果还是得靠自己发散思维来解决,主要用到了 pandoc
,grep
,cut
和 sed
,最后跟我说:sed
真牛逼!
食用方法(Linux 环境,或者 Windows 下使用 WSL):
tian@ubuntu:/mnt/f/GitHub$ git clone https://github.com/taseikyo/arts.git
tian@ubuntu:/mnt/f/GitHub$ cd arts
tian@ubuntu:/mnt/f/GitHub/arts$ chmod +x ./epub.sh
tian@ubuntu:/mnt/f/GitHub/arts$ ./epub.sh
Generate title.txt
Generate temporary folder
Modify the path of images
Modify the anchor of Weeklys
Modify the anchor of README.md & Weeklys
Generate epub file using pandoc
Remove temporary folder
Remove title.txt
Reset README.md
Updated 1 path from the index
于是一个 "arts.epub" 文档就生成了,可能会报下面错误,用 vim 打开,设置文件格式为 unix 类型(:set ff=unix
),然后运行。
tian@ubuntu:/mnt/f/GitHub/arts$ ./epub.sh
./epub.sh: line 6: $'\r': command not found
再更新:除了 epub 格式电子书,又用 LaTex 重写了 Makrdown,在 latex/output 文件夹有一份生成的 pdf。(已经将 latex 文件夹删除,内容压缩为 code/manual-latex.7z)
再再更新:直接利用 eisvogel 模板 直接生成 PDF,集成到 epub.sh 中,由于需要指定中文字体(楷体)又得在 GitHub Action 中,所以花了不少功夫,好在最后搞定了,这下每次 push 新 tag 时,会自动 release 两种电子书。
OK! 73 posts in total. Keep going!
Copyright (c) 2020 Lewis Tian. Licensed under the MIT license.