So drucken Sie von GitHub

98

Wenn ich eine Markdown-Datei von GitHub so drucken möchte, wie sie auf dem Bildschirm angezeigt wird, zum Beispiel: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Wie kann ich das dann erreichen? Welchen Code muss ich auf der resultierenden Github-HTML-Seite (die ich speichere) so ändern, dass der Ausdruck das Erscheinungsbild des Markdowns berücksichtigt?

Bisher habe ich nur den folgenden Hinweis: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Aber es ist eher eine nützliche (nicht programmatische) Problemumgehung, die dies nicht tut. Es funktioniert nicht wirklich, weil der verwendete Markdown-Interpreter nicht so verzeihend ist wie der, der auf den GitHub-Websites ausgeführt wird.

pulkitsinghal
quelle

Antworten:

33

Mit GitPrint können Sie Dateien direkt von Github aus drucken.

Sourabh
quelle
7
GitPrint scheint leere PDF-Dateien zu liefern. Es kann ein vorübergehendes Problem sein, aber dennoch ist das Tool nutzlos, wenn es nicht zuverlässig ist.
Ragnar123
21
Beachten Sie, dass diese Option nicht funktioniert, wenn Sie versuchen, von einem privaten Github-Repo aus zu drucken.
Jason Wheeler
3
GitPrint entstellt auch die Formatierung und macht sie (sorry für das Wortspiel) nutzlos.
jzions
6
GitPrint funktioniert nicht. Es gibt mehrere offene Probleme, bei denen es einfach darum geht, nicht an ihren Github-Problemen zu arbeiten
CodingYourLife
5
Ich kann bestätigen, dass GitPrint nicht mehr funktioniert = (
Madeo
65

Hier ist ein Lesezeichen , das perfekt für mich funktioniert:

  1. Kopieren Sie den Inhalt des Lesezeichens Gist, das unten als Backup wiedergegeben wird.
  2. Erstellen Sie ein neues Lesezeichen in der Symbolleiste Ihres Browsers und geben Sie ihm einen passenden Namen.
  3. Fügen Sie diese eine Codezeile in das URL-Feld ein.

Wenn Sie jetzt zu einer Markdown-Seite in Github gehen und auf das Lesezeichen klicken, wird die Seite neu formatiert und das CSS so geändert, dass es beim Drucken genauso aussieht wie auf dem Bildschirm. Jetzt drucken Sie einfach die Seite.

Inhalt des Lesezeichens:

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);
Boris Terzic
quelle
2
Ich habe festgestellt, dass dieses Lesezeichen den Github-Header für angemeldete Benutzer nicht ordnungsgemäß entfernt hat. Daher habe
JKnight
2
gebrochen seit neuem Github Design
Zsitro
Gibt es irgendwo eine unkomprimierte Version dieser Datei, falls ich einige Änderungen ausprobieren möchte? Dies ist alles komprimierter / verschlüsselter Code im Kern.
Anmol Saraf
Antwort wurde mit der neuesten Version von @randomor
Cosmo Harrigan
6
Ich habe eine weitere Verbesserung hinzugefügt, um Header-Metadaten, Header-Aktion, rechte Seitenleiste und die Fußzeile zu entfernen (Oktober 2014): gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3
Benjamin
13

Hier ist eine supereinfache Lösung: Wählen Sie einfach den gesamten Text in der Readme-Datei aus, den Sie drucken möchten, drucken Sie ihn aus und wählen Sie "Nur ausgewählter Text".

Dies funktionierte perfekt in Chrome (einschließlich Bilder) und erforderte kein Javascript oder externe Websites oder das Herunterladen oder Erstellen von Software.

Dies habe ich getestet unter: https://github.com/kroitor/gjk.c/blob/master/README.md

Srekel
quelle
2
Nett! Die Option in Chrome heißt jetzt More settings- Selection only. Es unterstützt die Formatierung und erfordert keine zusätzliche Software oder das Herunterladen der Markdown-Datei.
Jerry101
Wählen Sie beim Drucken aus Firefox den Inhalt aus, den Sie drucken möchten, rufen Sie die Option "Drucken" im Menü "Datei" auf (oder drücken Sie ctrl + p) und wählen Sie dann die Option "Auswahl".
Myesain
8

Wenn Sie ein Mac-Benutzer sind, besteht eine weitere gute Möglichkeit darin, die "Reader" -Funktionalität im Safari-Webbrowser zu verwenden.

Öffne einfach die Markdown-Datei und klicke auf den "Reader" -Button in der oberen rechten Ecke.

Dann drucken Sie einfach die Seite mit dem Befehl "CMD + P".

Klappt wunderbar.

pmuens
quelle
Dies scheint nicht mehr auf der neuesten iOS / Safari zu funktionieren :(
Mauricio Morales
8

Eine weitere Option ist Pandoc . Nach der Installation (unterstützt Windows, Linux und Mac OS) entspricht der Befehl dem von pandoc file.md -f markdown --smart -s -o file.pdf

Drucken Sie dann die resultierende PDF-Datei.


Es gibt auch diesen Online-Konverter, der für mich die schönste Ausgabe lieferte: http://www.markdowntopdf.com/

Pandoc hat auch eine Online-Demo.

Kitsune
quelle
5

Ich habe ein großartiges Tool gefunden, das die von mir gewünschten Druckergebnisse erzielt: http://plessl.github.com/wkpdf/

Hier ein Zitat von seiner Website: " Wenn Sie eine Website mit allen grafischen Elementen rendern möchten, die genau mit der Ansicht in einem Browser übereinstimmen, können Sie die Verwendung des CSS-Bildschirm-Stylesheets explizit erzwingen und das Drucken von Hintergrundbildern wie in der folgendes Beispiel ... "

Also rannte ich:

wkpdf --source https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md
      --stylesheet-media screen
      --print-background yes
      --output printIt.pdf

und es war magisch!

pulkitsinghal
quelle
6
Nachteile: Es läuft nur unter OS X, es druckt nutzlose Kopf- und Fußzeilen (oder? Ich kann dieses Tool nicht ausprobieren, weil ich unter Linux bin)
Giovanni Cappellotto
Und aufgrund von Änderungen in OS X durch Apple wird wkpdf vom Autor nicht mehr gepflegt.
Chris Miller
4

Ich habe eine Chrome-Erweiterung erstellt, die genau dies tut: GitHub Markdown Printer . Es ist eine Ein-Klick- Lösung zum Drucken von Markdown-Dateien genau so, wie sie auf GitHub angezeigt werden.

Schritte:

  1. Installieren Sie die Chrome-Erweiterung
  2. Gehen Sie zu einer beliebigen Seite auf GitHub / GitHub Enterprise mit einer Markdown-Vorschau
  3. Klicken Sie auf das GMP-Symbol, um den Druckdialog zu öffnen und entweder zu drucken oder als PDF zu speichern

Weitere Informationen finden Sie im Repo .

Jerry Wu
quelle
Die Erweiterung liest und schreibt auf alle Seiten, die Sie besuchen. Nicht sicher, wie sicher es ist
Vikram Khemlani
2
@ VikramKhemlani Das ist ein berechtigtes Anliegen, aber ich versichere Ihnen, dass ich nichts Bösartiges tue. Die Leseberechtigung ist erforderlich, um festzustellen, ob 1) Sie sich auf Github befinden und 2) ob eine gültige Markdown-Vorschau vorhanden ist. Die Schreibberechtigung ist erforderlich, um ein benutzerdefiniertes Stylesheet hinzuzufügen und die zusätzlichen Elemente beim Drucken zu entfernen. Das Projekt ist Open Source und den Quellcode finden Sie hier: github.com/jerry1100/github-markdown-printer/tree/master/src . Wenn Sie immer noch Zweifel haben, können Sie die Registerkarte "Netzwerk" in Ihren Chrome-Devtools öffnen und feststellen, dass ich nirgendwo Daten sende.
Jerry Wu
2

Klonen Sie das Repo

gem install bluecloth
  • Rendern Sie die Markdown-Dateien in HTML
  • Öffnen Sie die Datei in Ihrem Dateisystem in Ihrem Browser
  • Drucken Sie in Ihrem Browser

http://deveiate.org/projects/BlueCloth

Beispiele für die API finden Sie hier: http://deveiate.org/projects/BlueCloth/browser/spec/bluecloth_spec.rb

Jed Schneider
quelle
File.open("/path/to/output.html", 'w') {|f| f.write(BlueCloth.new(File.read("/path/to/input.md")).to_html()) }Ich habe mir eine HTML-Seite zum Anschauen besorgt, aber keine der Formatierungen oder Farben von GitHub ist vorhanden. Das ist der Schlüssel zum Ausdrucken einer hübschen Version, die ich in meinem Browser sehe. Ist BlueCloth ein geeignetes Tool dafür? Wie?
pulkitsinghal
2

Ich empfehle, ein Bild mit http://awesomescreenshot.com/ aufzunehmen , dann das Bild zuzuschneiden und zu drucken (ich habe das gerade gemacht und es hat bei mir funktioniert :).

DTrejo
quelle
Es wird in meinem Browser noch nicht unterstützt. Ich werde die Gültigkeit dieser Lösung testen, sobald sie verfügbar ist, und abstimmen, ob sie tatsächlich funktioniert.
pulkitsinghal
1

Super einfacher Weg, der nichts weiter als Chrome erfordert:

Sie können den Benutzeragenten fälschen und Ihnen mitteilen, dass Sie ein mobiles Gerät sind, um eine schöne druckbare Version zu erhalten.

So wie ich es mache - es gibt viele Möglichkeiten - verwende ich Chrome, die Chrome devTools "Emulation" -Funktion, um ein Android-Gerät zu emulieren, z. B. ein Samsung Note 3, und entferne dann im Unterabschnitt "Bildschirm" die Option "Bildschirm emulieren" volle Auflösung, dann drucke ich.

Julien Bérubé
quelle
1

Eine andere Möglichkeit besteht darin, den Markdown von GitHub oder Bit Bucket herunterzuladen und mit Eclipse zu öffnen. Sie erhalten die Registerkarte Vorschau im Editorbereich. Wählen Sie im Menü Datei die Option Drucken. Einfacher Weg, aber ich erlaube mir anzunehmen, dass Sie Eclipse bereits installiert haben. Normalerweise haben es die meisten Entwickler.

BR

Jeet
quelle
1

Versuchen Sie es mit Griff.

pip install grip
grip markdown.md

Dann wird es auf einem lokalen Port gehostet. Sie können dann über den Druckdialog Ihres nativen Betriebssystems in Ihrem bevorzugten Browser drucken oder als PDF speichern.

Siehe hier .

ozOli
quelle
0

http://github.com/github/markup

Sie erwähnen keine Spracheinstellung, aber dies ist die Ruby-Bibliothek, die GitHub selbst zum Rendern der Markup-Dateien verwendet. Es hat den Vorteil der Unterstützung der verschiedenen Markierungen GitHub Stützen (Textil, rdoc usw.). Das Rendern von .markdown-Dateien hängt vom Redcarpet-Markdown-Parser ab:

http://github.com/tanoku/redcarpet

Pero P.
quelle
0

Wenn Sie ein Instapaper- Konto haben, navigieren Sie zur Datei README.md, speichern Sie den Link zu Instapaper und öffnen Sie die Option "Text" in Instapaper unter diesem Link. Der größte Teil der "Unordnung" wird entfernt und die Seite wird gut gedruckt.

Ralph
quelle
0

Einfacher Hack:

Ich habe die Markdown-Datei in etwas wie Marked oder dem Online-Tool Dillinger geöffnet und dann von dort aus gedruckt. Mit einigen dieser Tools können Sie die Formatierung auf Github oder andere Stile einstellen.

Ein besserer Weg:

Seit ich die obige Antwort zum ersten Mal geschrieben habe, habe ich einen besseren Weg gefunden:

Ich habe einen besseren Weg gefunden als das, was ich zuvor gesagt habe.

  1. Git klonen Sie Ihr Wiki in ein lokales Verzeichnis
  2. Verwenden Sie ebook-convert von gitbook & Calibre, um das PDF gemäß den Anweisungen unter https://github.com/GitbookIO/gitbook zu generieren

    • Auf dem Mac müssen Sie die E-Book-Konvertierung aus dem Verzeichnis /Application/calibre.app mit einem Befehl wie dem folgenden verknüpfen, bevor Sie den Befehl gitbook pdf ausführen:

    ln -s /Applications/calibre.app/Contents/console.app/Contents/MacOS/ebook-convert / usr / local / bin

Robert J Berger
quelle
0

Ich habe MarkdownPad verwendet und den HTML-Code auf einem PDF-Writer gedruckt. Wenn Sie Pro haben, können Sie direkt in PDF exportieren.

Tobias
quelle
0

Funktioniert für Chromium-Browser und die "aktuelle" GitHub-HTML-Seitenstruktur

  1. Erstellen Sie ein Lesezeichen
  2. Geben Sie im Feld Adresse Folgendes ein:
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();

Wählt den Wiki-Text aus, entfernt und formatiert das Inhaltsverzeichnis, ersetzt den Textinhalt und ruft den Drucker auf.

crocteamgg
quelle
0

Ich benutze diese Seite http://www.markdownprint.com , die sehr einfach zu bedienen ist und Markdowns im Github-Stil erzeugt (der wirklich gut aussieht). Sehr empfehlenswert!

Johan O.
quelle
0

Konvertieren Sie einfach die MD-Datei in PDF

Sie können Ihre .md Datei herunterladen und laden hier in eine PDF - Datei zu konvertieren. Was Sie leicht drucken können.

Nishant Shah
quelle