pdf-从github Wiki轻松导出(?)

我正在GitHub Wiki上收集大量资料。 我真的很喜欢使用Wiki与其他人合作,恕我直言,平台真的很棒,我喜欢!

因此,我想继续使用GH Wiki来收集资料,编辑,保存等,但是我也想导出内容以便创建一个我们可以称为“手册”的pdf文件。我想每次只运行几个脚本时自动生成该手册的更新版本,对此我不能做太多的努力。

我猜有可能以某种方式导出内容,并使用pandoc([http://johnmacfarlane.net/pandoc/)]创建pdf,也许添加索引和样式文件。

另一个有趣的想法可能是每个月发布一次网站,直接从Wiki转储内容。

我想其他人已经做了这样的事情,但是我什么也没找到。任何想法?

BigG asked 2020-08-03T18:22:05Z
7个解决方案
56 votes

但是... GitHub存储库的Github Wiki本身就是一个git存储库(于2010年8月推出)。

您可以克隆它,将其推入或拉出它。

每个Wiki都是一个Git存储库,因此您可以像其他任何东西一样推拉它们。
每个Wiki都具有与源存储库相同的权限。
只需在URL中的任何存储库名称中添加“ .wiki”,即可开始使用。

这使得问题的“导出”部分变得微不足道。

从那里,您将找到大量脚本,可将降价页面转换为pdf:

  • Gradle任务
  • 一个makefile
  • python脚本
  • ...
VonC answered 2020-08-03T18:23:03Z
9 votes

我要添加此答案,以防它对任何新读者有所帮助:)这是我所做的:

我安装了GitHub桌面:[https://desktop.github.com/]

然后,在我的资源库的Wiki页面上,单击“在桌面中克隆”Clone

这会将Wiki保存为.md文件在本地(按照屏幕上的步骤操作)

然后,我使用[http://www.markdowntopdf.com/]将其转换为pdf(注意:我将文件重命名以删除在上传到网站之前在pdf文件名中不起作用的字符)

最终结果非常好。

Sophia answered 2020-08-03T18:23:45Z
3 votes

我发现许多解决方案都难以复制/获得正确的版本/理解/修复/等...因此,我将介绍一个拼凑而成的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管道。

错误:

  • 超宽代码块将使用滚动条进行渲染,并在pdf中被截断。 最好使代码块不会溢出,但是您可以将.markdown-body .highlight pre, .markdown-body pre{ overflow:visible !important; } 添加到wkhtmltopdf命令(在toc/cover之前),并添加至您的user.css

    .markdown-body .highlight pre,
    .markdown-body pre{
      overflow:visible !important;
    }
    
  • 最终pdf中的某些链接按+1页关闭,而有些则没有。 不确定模式是什么。 但是具有ID(#)的锚点似乎没有此问题

Andy answered 2020-08-03T18:24:24Z
1 votes

在Pure PostScript中为Barcode Writer创建可移植文档时,我已经做到了这一点:

GitHub Wiki + Makefile + pandoc→PDF

此博客文章中描述了该过程。

Terry Burton answered 2020-08-03T18:24:53Z
1 votes

克隆Wiki后,尤其是如果您已经在使用Atom的情况下,另一种选择是使用此Markdown to PDF软件包。对我来说很棒。

davidheller answered 2020-08-03T18:25:13Z
1 votes

我发现不得不单独转换每个降价文档真的很烦(降价文档之间的链接丢失了),所以我最终写了一个简单的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
borjafdezgauna answered 2020-08-03T18:25:43Z
0 votes

您也可以尝试html_links_to_pdf!

这是一个Python 3脚本,仅用于将GitHub Wiki转换为pdf格式,并使用与GitHub相同的样式,但稍微干净一些。

user3773048 answered 2020-08-03T18:26:07Z
translate from https://stackoverflow.com:/questions/18759738/effortless-export-from-github-wiki