如何从GitHub打印
如果我想从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但它更多的是一个功利(非编程)的解决方法,因为使用的降价解释器并不像在GitHub网站上运行的那样宽容,
使用GitPrint是从Github直接打印文件的好方法。
这是一个书签 ,完全适合我:
- 复制小书签Gist的内容,作为备份在下面转载。
- 在浏览器的工具栏中创build一个新的书签,给它一个合适的名字。
- 将这一行代码放在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);
另一个select是pandoc 。 安装后(支持Windows,Linux和Mac OS),命令将沿着pandoc file.md -f markdown --smart -s -o file.pdf
然后打印生成的PDF文件。
还有这个在线转换器,它为我生成了最好的输出: http : //www.markdowntopdf.com/
Pandoc也有一个在线演示。
find一个很好的工具,达到我要求的印刷效果: http : //plessl.github.com/wkpdf/
这里有一个来自其网站的引用:“ 如果你想渲染一个网站,所有的graphics结冰与浏览器中的视图完全匹配,你可以明确地强制使用CSS屏幕样式表,并启用背景图像打印下面的例子… “
所以我跑了:
wkpdf --source https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md --stylesheet-media screen --print-background yes --output printIt.pdf
这是神奇的!
我正在使用github-wiki-print浏览器扩展来打印GitHub wiki页面。
我想你可以编辑它的manifest.json文件来在GitHub仓库上打印任何减价文件。
如果你是一个Mac用户,另一个很大的可能性是在Safari浏览器中使用“Reader”function。
只需打开markdown-File并点击右上angular的“Reader”button即可。
然后用命令“CMD + P”打印页面。
奇迹般有效。
克隆回购
gem install bluecloth
- 将降价文件呈现为html
- 在浏览器中打开文件系统上的文件
- 从您的浏览器打印
http://deveiate.org/projects/BlueCloth
你可以在这里findapi的例子: http : //deveiate.org/projects/BlueCloth/browser/spec/bluecloth_spec.rb
这是一个超级简单的解决scheme:只需select您要打印的自述文本中的所有文本,然后打印并select“仅select文本”。
这在Chrome浏览器(包括图像)完美工作,不需要JavaScript或外部网站或下载或build立软件。
这是我testing的: https : //github.com/kroitor/gjk.c/blob/master/README.md
超简单的方式,只需要Chrome浏览器:
你可以欺骗用户代理,告诉你是一个移动设备,以获得一个不错的打印版本。
我这样做的方式 – 有很多方法 – 我使用Chrome的Chrome devTools“仿真”function来模拟一个Android设备,例如三星Note 3,然后在屏幕的子部分,我删除“模拟屏幕”,以获得全分辨率,然后我打印。
另一种方法就是从GitHub或Bit Bucket下载Markdown,并用eclipse打开它。 您将在编辑器窗格中看到预览标签。 从文件菜单中select打印。 简单的方法,但是我冒昧地假设你已经安装了eclipse,通常大部分的开发者都拥有它。
BR
尝试抓地力。
pip install grip grip markdown.md
然后它被托pipe在本地端口上。 然后,您可以通过您最喜欢的浏览器的本地操作系统打印对话框打印或保存为PDF。
看到这里 。
http://github.com/github/markup
您没有提到语言首选项,但这是GitHub本身用来呈现标记文件的Ruby库。 它具有支持GitHub支持的各种标记 (纺织,rdoc等)的优点。 渲染.markdown文件依赖于redcarpet markdownparsing器:
如果您有Instapaper帐户,请导航到README.md文件,将链接保存到Instapaper,然后在该链接的Instapaper中打开“文本”选项。 大部分的“混乱”被删除,页面打印良好。
简单的黑客:
我一直在Marked或在线工具Dillinger中打开降价文件,然后从那里打印。 其中一些工具允许您将格式设置为Github或其他样式。
更好的方法:
自从我第一次写上面的答案,我发现了一个更好的方法:
我发现了比我之前说的更好的方法。
- 把你的wiki克隆到本地目录
-
根据https://github.com/GitbookIO/gitbook中的说明,使用gitbook和Calibre的电子书转换生成PDF
- 在Mac上,在运行gitbook pdf命令之前,必须将/Application/calibre.app目录中的电子书转换符号链接到适当的位置,命令如下所示:
ln -s /Applications/calibre.app/Contents/console.app/Contents/MacOS/ebook-convert / usr / local / bin
我使用MarkdownPad并将HTML打印到PDF作家。 如果你有Pro,你可以直接导出到PDF。
适用于Chrome浏览器和“当前”GitHub html页面结构
- 创build一个书签
- 在地址栏中input:
javascript:var content = document.querySelector('.repository-content'); var toc = document.querySelector('#wiki-rightbar'); toc.innerHTML = ''; var wb = document.querySelector('.has-rightbar .wiki-body'); wb.style.marginRight = '0px'; var body = document.querySelector('body'); body.innerHTML = ''; body.appendChild(content); window.print();
selectWiki文本,删除和格式化内容表,replace正文内容并调用打印机。