我在GitHub wiki中收集了大量的资料。我真的很喜欢使用维基与其他人合作,恕我直言这个平台非常好,我喜欢它!
所以,我想继续使用GH wiki收集内容,编辑,保存等,但我也想导出内容以创建一个我们称之为“手册”的pdf文件。我想每次只想运行几个脚本时自动生成手册的更新版本,我不能在此上付出太多努力。
我想有可能以某种方式导出内容并使用pandoc(http://johnmacfarlane.net/pandoc/)来创建pdf,可能会添加索引和样式文件。
另一个有趣的想法可能是每月发布一个网站,直接从维基上转储内容。
我猜其他人已经做过这样的事了,但我没有找到任何东西。任何的想法?
但是......一个GitHub回购的Github wiki本身就是一个git repo(introduced in August 2010)。
您可以克隆它,推送它或从中拉出来。
每个wiki都是一个Git存储库,因此您可以像其他任何东西一样推送和拉取它们。 每个Wiki都尊重与源存储库相同的权限。 只需将“
.wiki
”添加到URL中的任何存储库名称,您就可以开始了。
这使得你的问题的“导出”部分非常微不足道。
从那里,你会发现大量用于将降价页面转换为pdf的脚本:
我正在添加这个答案,以防它有助于任何新读者:)这就是我所做的:
我安装了GitHub桌面:https://desktop.github.com/
然后,在我的存储库的wiki页面上,我点击了“Clone in Desktop”
这将wiki本地保存为.md文件(按照屏幕上的步骤操作后)
然后我使用http://www.markdowntopdf.com/将其转换为pdf(注意:我重命名文件以删除在上传到网站之前无法在pdf文件名中起作用的字符)
最终结果非常好。
我发现许多解决方案很难重现/获得正确的版本/理解/修复/等等...相反,我将提出一个拼凑的docker解决方案,以便在Windows上轻松转换(使用git bash)/ MacOS / Linux 5 “简单”的命令
git clone {project_url}.wiki .
# Convert *.md to *.md.html using the actual github pipeline
docker run --rm -e DOCKER_USER_ID=`id -u` -e DOCKER_GROUP_ID=`id -u` \
v "`pwd`:/src" -v "`pwd`:/out" andyneff/github-markdown-preview
# Fix hyperlinks, since wkhtmltopdf is stricter than github servers
docker run --rm -v `pwd`:/src -w /src perl \
perl -p -i -e 's|(<a href=")([^/"#]+?)(#[^"]*)?(">.*?</a>)|\1\L\2\E.md.html\L\3\E\4|g'\
*.html
# Lowercase all filename so that hyperlink match
docker run --rm -v `pwd`:/src -w /src python \
python -c 'import sys;import os; [os.rename(f, f.lower()) for f in sys.argv[1:]]' \
*.md.html
#Convert html to pdf using QT webkit
docker run -it --rm -e DOCKER_USER_ID=`id -u` -e DOCKER_GROUP_ID=`id -u`\
-v `pwd`:/work -w /work andyneff/wkhtmltopdf \
wkhtmltopdf --encoding utf-8 --minimum-font-size 14 \
--footer-left "[date]" --footer-right "[page] / [topage]" \
--footer-font-size 10 \
toc \
*.html document.pdf
如果没有更好的解决方案,perl是可能失败的主要部分。 Pandoc有一个非常好的过滤器解决方案,但没有使用github管道。
错误:
--user-style-sheet user.css
添加到wkhtmltopdf命令(在toc
/ cover
之前),并添加到你的user.css
.markdown-body .highlight pre,
.markdown-body pre{
overflow:visible !important;
}
在为Barcode Writer in Pure PostScript创建可移植文档时,我已经完成了这个:
GitHub Wiki + Makefile + pandoc→PDF
这个过程在这个blog post中描述。
克隆wiki后的另一个选择,特别是如果您已经在使用Atom,则使用此Markdown to PDF包。对我来说很棒。
我发现单独转换每个降价文档真的很烦人(降价文档之间的链接丢失),所以我最后编写了一个简单的C#程序供我自己使用,只需一步即可完成:a)下载最新版本的wiki来自Github,b)将所有降价文件合并为一个pdf
您可以从以下网站下载二进制文件(Windows或任何支持Mono的平台):https://github.com/borjafdezgauna/CoderDocTools/releases/latest
例如,如果您想通过用户simionsoft将SimionZoo存储库转换为PDF,您可以:
MarkdownToPDF.exe user=simionsoft project=SimionZoo output-file=SimionZoo.pdf
你也可以试试html_links_to_pdf!
这是一个Python 3脚本,只是为了将GitHub Wiki转换为pdf格式,使用与GitHub相同的样式,但略微清晰。