如何从GitHub打印

pul*_*hal 92 markdown github pretty-print

如果我想在屏幕上显示GitHub中的markdown文件,例如:https: //github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

那我该怎么做呢?在生成的github html页面(我保存)中需要更改哪些代码才能使打印输出符合降价的外观和感觉?

到目前为止我唯一的线索就是这个:https: //makandracards.com/makandra/4947-how-to-print-github-wiki-pages 但它更像是一种功利主义(非程序化)解决方案真的有用,因为正在使用的降价解释器不像Gi​​tHub网站上运行的解释器那样宽容,所以它无法解决.

Bor*_*zic 65

这是一个适合我的书签:

  1. 复制bookmarklet Gist的内容,下面作为备份重现.
  2. 在浏览器的工具栏中创建一个新书签,为其指定一个合适的名称.
  3. 将这一行代码放在URL字段中.

如果您现在转到Github上的Markdown页面并单击书签,它将重新格式化页面并更改CSS,使其在打印时看起来与屏幕上的相同.现在只需打印页面.

书签内容:

javascript:(function(e,a,g,h,f,c,b,d)%7Bif(!(f=e.jQuery)%7C%7Cg%3Ef.fn.jquery%7C%7Ch(f))%7Bc=a.createElement(%22script%22);c.type=%22text/javascript%22;c.src=%22http://ajax.googleapis.com/ajax/libs/jquery/%22+g+%22/jquery.min.js%22;c.onload=c.onreadystatechange=function()%7Bif(!b&&(!(d=this.readyState)%7C%7Cd==%22loaded%22%7C%7Cd==%22complete%22))%7Bh((f=e.jQuery).noConflict(1),b=1);f(c).remove()%7D%7D;a.documentElement.childNodes%5B0%5D.appendChild(c)%7D%7D)(window,document,%221.3.2%22,function($,L)%7B$('%23header,%20.pagehead,%20.breadcrumb,%20.commit,%20.meta,%20%23footer,%20%23footer-push,%20.wiki-actions,%20%23last-edit,%20.actions,%20.header,.site-footer,.repository-sidebar,.file-navigation,.gh-header-meta,.gh-header-actions,#wiki-rightbar,#wiki-footer,.commit-tease').remove();%20$('%23files,%20.file').css(%7B%22background%22:%22none%22,%20%22border%22:%22none%22%7D);%20$('link').removeAttr('media');%7D); var removeMe = document.getElementsByClassName("file-header")[0]; removeMe.parentNode.removeChild(removeMe);
Run Code Online (Sandbox Code Playgroud)

  • 我添加了一个进一步的改进来删除标题元数据,标题操作,右侧栏和页脚(2014年10月):https://gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3 (6认同)
  • 我发现这个书签没有正确删除登录用户的Github标题,所以我更新了[在这里更新的要点](https://gist.github.com/4454331) (2认同)
  • 自新github设计以来打破了 (2认同)

Sou*_*abh 31

使用GitPrint是直接从Github打印文件的好方法.

  • 请注意,如果您尝试从私有Github仓库进行打印,则此选项将不起作用. (20认同)
  • GitPrint似乎提供空的pdf文件.这可能是一个临时问题,但如果它不可靠,该工具仍然无用. (6认同)
  • 我可以确认 GitPrint 不再工作了 =( (6认同)
  • GitPrint也破坏了格式化,渲染(对不起双关语)它没用. (2认同)
  • GitPrint不起作用.关于根本没有处理他们的github问题,存在多个未解决的问题 (2认同)

Sre*_*kel 10

这是一个非常简单的解决方案:只需选择自述文件中要打印的所有文本,然后打印并选择"仅选定文本".

这在Chrome(包括图片)中完美运行,不需要javascript或外部网站或下载或构建软件.

这是我测试的:https: //github.com/kroitor/gjk.c/blob/master/README.md

  • 好的!Chrome 中的选项现在称为“更多设置”-“仅选择”。它支持格式化,不需要额外的软件或下载 Markdown 文件。 (3认同)

kit*_*une 9

另一个选择是pandoc.安装后(它支持Windows,Linux和Mac OS),命令就是这样 pandoc file.md -f markdown --smart -s -o file.pdf

然后打印生成的PDF文件.


还有这个在线转换器,它为我提供了最好的输出:http: //www.markdowntopdf.com/

Pandoc也有在线演示.


pmu*_*ens 7

如果您是Mac用户,另一个很有可能是在Safari Web浏览器中使用"Reader"功能.

只需打开markdown-File并单击右上角的"Reader"-Button即可.

然后只需使用命令"CMD + P"打印页面.

奇迹般有效.


pul*_*hal 5

找到了一个很棒的工具,可以达到我要求的打印效果:http: //plessl.github.com/wkpdf/

这是来自其网站的一句话:" 如果你想渲染一个网站,其中所有的图形结冰与浏览器中的视图完全匹配,你可以明确强制使用CSS屏幕样式表并启用背景图像的打印,如同以下示例... "

所以我跑了:

wkpdf --source https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md
      --stylesheet-media screen
      --print-background yes
      --output printIt.pdf
Run Code Online (Sandbox Code Playgroud)

这太神奇了!

  • 缺点:它只在OS X上运行,它打印无用的页眉和页脚(是吗?我不能尝试这个工具因为我在Linux上) (6认同)

Jer*_* Wu 5

我制作了一个 Chrome 扩展程序来做到这一点:GitHub Markdown Printer。这是一个一键式解决方案,用于准确打印 Markdown 文件在 GitHub 上的显示方式。

脚步:

  1. 安装 Chrome 扩展程序
  2. 使用降价预览转到 GitHub/GitHub Enterprise 上的任何页面
  3. 单击 GMP 图标打开打印对话框并打印或另存为 PDF

查看repo以获取更多信息。

  • @VikramKhemlani 这是一个合理的担忧,但我向你保证我没有做任何恶意的事情。需要读取权限才能查看 1) 您是否在 github 上以及 2) 是否有有效的 Markdown 预览。需要写入权限才能添加自定义样式表以在打印时删除多余的元素。该项目是开源的,您可以在这里找到源代码:https://github.com/jerry1100/github-markdown-printer/tree/master/src。如果您仍然怀疑,可以打开 chrome 开发工具中的网络选项卡,发现我没有在任何地方发送任何数据。 (2认同)
  • 好消息 - 从 v0.8 开始,由于新的清单 v3 API,此扩展不再需要任何权限或站点访问权限。 (2认同)

Per*_* P. 0

http://github.com/github/markup

您没有提及语言首选项,但这是 GitHub 本身用来呈现标记文件的 Ruby 库。它的优点是支持 GitHub 支持的各种标记(textile、rdoc 等)。渲染 .markdown 文件依赖于 redcarpet markdown 解析器:

http://github.com/tanoku/redcarpet