需求: 比如這個項目, 它是電子書, 但是是md文件的集合, 需求就是, 怎么把它聚合成一個markdown, 或者pdf, 或epub等格式.
發現了這個項目, 它可以完成這個任務. 但是我發現需要改代碼才能完成任務. 所以看看它是怎么實現的.
如何聚合成一個markdown文件. 巧妙: awk 'FNR==1{print ""}{print}' $(source) > $(filename).md
. 其實就是用awk把所有的文件內容print出來, 中間加一個換行符. 當然一開始也會多一個換行
如何得到pdf/epub等格式? 其實這是通過pandoc來做的. 但是我修改了pandoc參數, 因為原來的代碼在我這里有中文字體問題, 運行不起來. 我改為了:
pandoc -s $(filename).md -o $(filename).pdf \
--pdf-engine=xelatex \
-V mainfont='Songti SC' -V monofont='Monaco' -V CJKmainfont='Songti SC' \
--toc
然后說說怎么用, 我沒有html, epub這些需求(epub在我電腦上看起來比較麻煩), markdown和pdf即可. 所以我其實只需要這個倉庫中的Makefile, 用的時候修改source和filename變量即可.