Come stampare da GitHub


99

Se voglio stampare un file markdown da GitHub come appare sullo schermo, ad esempio: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Allora come posso farlo? Quale codice devo modificare nella pagina html github risultante (che ho salvato) in modo tale che la stampa rispetti l'aspetto del markdown?

Finora l'unico indizio che ho è questo: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Ma è più una soluzione utilitaristica (non programmatica) che non funziona t funziona davvero perché l'interprete markdown in uso non è così indulgente come quello in esecuzione sui siti Web GitHub, quindi armeggia.

Risposte:


34

L'utilizzo di GitPrint è un ottimo modo per stampare direttamente i file da GitHub.


7
GitPrint sembra servire file pdf vuoti. Potrebbe essere un problema temporaneo, ma lo strumento è inutile se non è affidabile.
Ragnar123

21
nota che questa opzione non funzionerà se stai tentando di stampare da un repository Github privato.
Jason Wheeler

3
GitPrint altera anche la formattazione, rendendola (scusate il gioco di parole) inutile.
jzions

7
GitPrint non funziona. Ci sono più problemi aperti sul semplicemente non lavorare sui loro problemi di GitHub
CodingYourLife,

5
Posso confermare che GitPrint non funziona più = (
Madeo

65

Ecco un bookmarklet che funziona perfettamente per me:

  1. Copia il contenuto del bookmarklet Gist, riprodotto di seguito come backup.
  2. Crea un nuovo segnalibro nella barra degli strumenti del tuo browser, dagli un nome appropriato.
  3. Inserisci quella riga di codice nel campo URL.

Se ora vai a una pagina Markdown su GitHub e fai clic sul segnalibro, la pagina riformatterà e cambierà il CSS in modo che appaia come sullo schermo quando stampi. Ora stampa la pagina.

Contenuto del bookmarklet:

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);

2
Ho scoperto che questo bookmarklet non rimuoveva correttamente l'intestazione Github per gli utenti che hanno effettuato l'accesso, quindi l'ho aggiornato in una
sintesi

2
rotto dal nuovo design di GitHub
zsitro

Esiste una versione non compressa di questo file da qualche parte nel caso in cui voglio provare alcune modifiche? Questo è tutto codice compresso / crittografato attualmente in sintesi.
Anmol Saraf

La risposta è stata aggiornata con l'ultima versione di @randomor
Cosmo Harrigan

6
Ho aggiunto un ulteriore miglioramento per rimuovere i metadati dell'intestazione, l'azione dell'intestazione, la barra laterale destra e il piè di pagina (ottobre 2014): gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3
Benjamin

13

Ecco una soluzione semplicissima: seleziona semplicemente tutto il testo nel file Leggimi che desideri stampare, quindi stampa e scegli "Solo testo selezionato".

Funzionava perfettamente in Chrome (comprese le immagini) e non richiedeva JavaScript o siti esterni né il download o la creazione di software.

Questo è ciò su cui ho testato: https://github.com/kroitor/gjk.c/blob/master/README.md


2
Bello! L'opzione in Chrome si chiama ora More settings- Selection only. Supporta la formattazione e non richiede software aggiuntivo o il download del file markdown.
Jerry101

Quando si stampa da Firefox, selezionare il contenuto che si desidera stampare, accedere all'opzione "Stampa" dal menu "File" (o premere ctrl + p), quindi selezionare l'opzione "Selezione".
myesain

8

Se sei un utente Mac, un'altra grande possibilità è usare la funzionalità "Lettore" nel browser web Safari.

Basta aprire il file markdown e fare clic sul pulsante "Reader" nell'angolo in alto a destra.

Quindi basta stampare la pagina con il comando "CMD + P".

Funziona come un fascino.


Questo non sembra più funzionare sull'ultimo iOS / Safari :(
Mauricio Morales

8

Un'altra opzione è pandoc . Dopo l'installazione (supporta Windows, Linux e Mac OS), il comando sarebbe sulla falsariga di pandoc file.md -f markdown --smart -s -o file.pdf

Quindi stampa il file PDF risultante.


C'è anche questo convertitore online, che ha prodotto l'output migliore per me: http://www.markdowntopdf.com/

Pandoc ha anche una demo online.


5

Ho trovato uno strumento fantastico che raggiunge i risultati di stampa che avevo richiesto: http://plessl.github.com/wkpdf/

Ecco una citazione dal suo sito web: " Se vuoi rendere un sito web con tutta la glassa grafica in modo che corrisponda esattamente alla vista in un browser, puoi forzare esplicitamente l'uso del foglio di stile dello schermo CSS e abilitare la stampa di immagini di sfondo come nel seguente esempio ... "

Quindi ho corso:

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

ed è stato magico!


6
Contro: funziona solo su OS X, stampa intestazioni e piè di pagina inutili (vero? Non posso provare questo strumento perché sono su Linux)
Giovanni Cappellotto

E a causa dei cambiamenti in OS X da parte di Apple, wkpdf non viene più mantenuto dall'autore.
Chris Miller

4

Ho creato un'estensione per Chrome che fa proprio questo: GitHub Markdown Printer . È una soluzione con un clic per stampare esattamente i file markdown come appaiono su GitHub.

Passaggi:

  1. Installa l'estensione per Chrome
  2. Vai a qualsiasi pagina su GitHub / GitHub Enterprise con un'anteprima del markdown
  3. Fare clic sull'icona GMP per aprire la finestra di dialogo di stampa e stampare o salvare come PDF

Controlla il repository per maggiori informazioni.


L'estensione legge e scrive in tutte le pagine che visiti. Non sono sicuro di quanto sia sicuro
Vikram Khemlani

2
@VikramKhemlani Questa è una preoccupazione valida, ma ti assicuro che non sto facendo nulla di malevolo. L'autorizzazione di lettura è richiesta per vedere se 1) sei su GitHub e 2) se c'è un'anteprima del markdown valida. L'autorizzazione di scrittura è necessaria per aggiungere un foglio di stile personalizzato per rimuovere gli elementi extra durante la stampa. Il progetto è open-source e puoi trovare il codice sorgente qui: github.com/jerry1100/github-markdown-printer/tree/master/src . Se hai ancora dei dubbi, puoi aprire la scheda di rete nei tuoi strumenti di sviluppo Chrome e scoprire che non sto inviando alcun dato da nessuna parte.
Jerry Wu


2

clona il repo

gem install bluecloth
  • eseguire il rendering dei file markdown in html
  • apri il file sul tuo filesystem nel tuo browser
  • stampa dal tuo browser

http://deveiate.org/projects/BlueCloth

puoi trovare esempi dell'API qui: http://deveiate.org/projects/BlueCloth/browser/spec/bluecloth_spec.rb


File.open("/path/to/output.html", 'w') {|f| f.write(BlueCloth.new(File.read("/path/to/input.md")).to_html()) }mi ha dato una pagina HTML da guardare ma non è presente nessuna formattazione o colorazione da GitHub. Questa è la parte fondamentale nella stampa di una bella versione che vedo sul mio browser, BlueCloth è uno strumento appropriato per questo? Come mai?
pulkitsinghal

2

Consiglio di scattare una foto con http://awesomescreenshot.com/ , quindi ritagliare l'immagine e stamparla (l'ho appena fatto e ha funzionato per me :).


Non è ancora supportato sul mio browser, mi assicurerò di testare la validità di questa soluzione quando sarà disponibile e votarla se funziona davvero.
pulkitsinghal

1

Modo super semplice che non richiede altro che Chrome:

Puoi falsificare lo user-agent, dicendo che sei un dispositivo mobile, per ottenere una bella versione stampabile.

Per come lo faccio io - ci sono molti modi - utilizzo Chrome la funzione "Emulazione" di Chrome devTools per emulare un dispositivo Android, ad esempio un Samsung Note 3, quindi nella sottosezione dello schermo rimuovo "Emula schermo", per ottenere piena risoluzione, quindi stampo.


1

Un altro modo è scaricare il markdown da GitHub o Bit Bucket e aprirlo con eclipse. Otterrai la scheda di anteprima nel riquadro dell'editor. Dal menu file seleziona stampa. Modo semplice, tuttavia mi prendo la libertà di presumere che eclipse sia già installato di solito nella maggior parte degli sviluppatori.

BR


1

Prova la presa.

pip install grip
grip markdown.md

Quindi è ospitato su una porta locale. È quindi possibile stampare o salvare in PDF tramite la finestra di dialogo di stampa del sistema operativo nativo dal browser preferito.

Vedi qui .



0

Se hai un account Instapaper , vai al file README.md, salva il collegamento a Instapaper, quindi apri l'opzione "testo" in Instapaper su quel collegamento. La maggior parte del "disordine" viene rimosso e la pagina viene stampata correttamente.


0

Hack semplice:

Ho aperto il file markdown in qualcosa come Marked o lo strumento online Dillinger e poi ho stampato da lì. Alcuni di questi strumenti ti consentono di impostare la formattazione su GitHub o altri stili.

Un modo migliore:

Da quando ho scritto per la prima volta la risposta sopra ho trovato un modo migliore:

Ho scoperto un modo migliore di quello che ho detto prima.

  1. Git clona il tuo wiki in una directory locale
  2. Usa gitbook e l'ebook-convert di Calibre per generare il PDF secondo le istruzioni in https://github.com/GitbookIO/gitbook

    • Su Mac, devi collegare simbolicamente l'ebook-convert dalla directory /Application/calibre.app a un posto adatto prima di eseguire il comando gitbook pdf, con un comando come:

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


0

Ho usato MarkdownPad e ho stampato l'HTML su uno scrittore PDF. Se hai Pro puoi esportare direttamente in PDF.


0

Funziona con i browser Chromium e la struttura della pagina html GitHub "corrente"

  1. Crea un segnalibro
  2. Nel campo Indirizzo inserisci:
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();

Seleziona il testo Wiki, rimuove e formatta il sommario, sostituisce il contenuto del corpo e chiama la stampante.



0

Converti semplicemente il file MD in PDF

Puoi scaricare il tuo file .md e caricarlo qui per convertirlo in un file pdf. Che puoi stampare facilmente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.