Comment imprimer depuis GitHub


99

Si je souhaite imprimer un fichier de démarque depuis GitHub tel qu'il apparaît à l'écran, par exemple: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Alors comment puis-je y parvenir? Quel code dois-je changer dans la page html github résultante (que j'enregistre) pour que l'impression respecte l'aspect et la convivialité du démarque?

Jusqu'à présent, le seul indice que j'ai est celui-ci: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Mais c'est plus une solution de contournement utilitaire (non programmatique) qui ne fonctionne pas. t fonctionne vraiment parce que l'interpréteur de démarque utilisé n'est pas aussi indulgent que celui qui fonctionne sur les sites Web GitHub, donc il tâtonne.

Réponses:


34

L'utilisation de GitPrint est un excellent moyen d'imprimer directement des fichiers depuis Github.


7
GitPrint semble servir des fichiers pdf vides. Cela peut être un problème temporaire, mais l'outil est quand même inutile s'il n'est pas fiable.
Ragnar123

21
notez que cette option ne fonctionnera pas si vous essayez d'imprimer à partir d'un dépôt Github privé.
Jason Wheeler

3
GitPrint modifie également le formatage, le rendant (désolé pour le jeu de mots) inutile.
jzions

7
GitPrint ne fonctionne pas. Il y a plusieurs problèmes ouverts à propos du simple fait de ne pas travailler sur leurs problèmes github
CodingYourLife

5
Je peux confirmer que GitPrint ne fonctionne plus = (
Madeo

65

Voici un bookmarklet qui fonctionne parfaitement pour moi:

  1. Copiez le contenu du bookmarklet Gist, reproduit ci-dessous en tant que sauvegarde.
  2. Créez un nouveau signet dans la barre d'outils de votre navigateur, donnez-lui un nom approprié.
  3. Mettez cette ligne de code dans le champ URL.

Si vous allez maintenant sur une page Markdown sur Github et cliquez sur le signet, cela reformatera la page et changera le CSS pour qu'il ait le même aspect qu'à l'écran lorsque vous imprimez. Maintenant, imprimez simplement la page.

Contenu du signet:

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
J'ai trouvé que ce bookmarklet ne supprimait pas correctement l'en-tête Github pour les utilisateurs connectés, je l'ai donc mis à jour à jour ici
JKnight

2
cassé depuis le nouveau design github
zsitro

Existe-t-il une version non compressée de ce fichier au cas où je voudrais essayer quelques modifications? C'est tout le code compressé / chiffré dans l'essentiel actuellement.
Anmol Saraf

La réponse a été mise à jour avec la dernière version de @randomor
Cosmo Harrigan

6
J'ai ajouté une nouvelle amélioration pour supprimer les métadonnées d'en-tête, l'action d'en-tête, la barre latérale droite et le pied de page (octobre 2014): gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3
Benjamin

14

Voici une solution super simple: sélectionnez simplement tout le texte du readme que vous souhaitez imprimer, puis imprimez et choisissez "Uniquement le texte sélectionné".

Cela fonctionnait parfaitement dans Chrome (y compris les images) et ne nécessitait aucun javascript ou sites externes, ni téléchargement ou création de logiciel.

C'est ce que j'ai testé sur: https://github.com/kroitor/gjk.c/blob/master/README.md


2
Agréable! L'option dans Chrome s'appelle désormais More settings- Selection only. Il prend en charge le formatage et ne nécessite pas de logiciel supplémentaire ni de téléchargement du fichier de démarque.
Jerry101

Lors de l'impression depuis Firefox, sélectionnez le contenu que vous souhaitez imprimer, accédez à l'option "Imprimer" du menu "Fichier" (ou appuyez sur ctrl + p), puis sélectionnez l'option "Sélection".
myesain

8

Si vous êtes un utilisateur Mac, une autre excellente possibilité est d'utiliser la fonctionnalité "Reader" dans le navigateur Web Safari.

Ouvrez simplement le fichier markdown et cliquez sur le bouton "Reader" dans le coin supérieur droit.

Ensuite, imprimez simplement la page avec la commande "CMD + P".

Fonctionne comme un charme.


Cela ne semble plus fonctionner sur le dernier iOS / Safari :(
Mauricio Morales

8

Une autre option est pandoc . Après l'installation (il prend en charge Windows, Linux et Mac OS), la commande serait dans le sens de pandoc file.md -f markdown --smart -s -o file.pdf

Imprimez ensuite le fichier PDF résultant.


Il y a aussi ce convertisseur en ligne, qui a produit le meilleur résultat pour moi: http://www.markdowntopdf.com/

Pandoc propose également une démo en ligne.


5

J'ai trouvé un outil génial qui permet d'obtenir les résultats d'impression que j'ai demandés: http://plessl.github.com/wkpdf/

Voici une citation de son site Web: " Si vous souhaitez rendre un site Web avec tout le glaçage graphique pour correspondre exactement à la vue dans un navigateur, vous pouvez explicitement forcer l'utilisation de la feuille de style d'écran CSS et activer l'impression des images d'arrière-plan comme dans le exemple suivant ... "

Alors j'ai couru:

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

et c'était magique!


6
Inconvénients: il ne fonctionne que sur OS X, il imprime un en-tête et un pied de page inutiles (n'est-ce pas? Je ne peux pas essayer cet outil car je suis sous Linux)
Giovanni Cappellotto

Et en raison des modifications apportées à OS X par Apple, wkpdf n'est plus maintenu par l'auteur.
Chris Miller

4

J'ai créé une extension Chrome qui fait exactement cela: GitHub Markdown Printer . C'est une solution en un clic pour imprimer les fichiers de démarque exactement comme ils apparaissent sur GitHub.

Pas:

  1. Installez l'extension Chrome
  2. Accédez à n'importe quelle page sur GitHub / GitHub Enterprise avec un aperçu de démarque
  3. Cliquez sur l'icône GMP pour ouvrir la boîte de dialogue d'impression et imprimer ou enregistrer au format PDF

Consultez le repo pour plus d'informations.


L'extension lit et écrit sur toutes les pages que vous visitez. Je ne sais pas à quel point il est sécurisé
Vikram Khemlani

2
@VikramKhemlani C'est une préoccupation valable, mais je vous assure que je ne fais rien de malveillant. L'autorisation de lecture est requise pour voir si 1) vous êtes sur github et 2) s'il existe un aperçu de démarque valide. L'autorisation d'écriture est requise pour ajouter une feuille de style personnalisée afin de supprimer les éléments supplémentaires lors de l'impression. Le projet est open-source et vous pouvez trouver le code source ici: github.com/jerry1100/github-markdown-printer/tree/master/src . Si vous avez encore des doutes, vous pouvez ouvrir l'onglet réseau dans vos outils de développement Chrome et constater que je n'envoie aucune donnée nulle part.
Jerry Wu


2

cloner le repo

gem install bluecloth
  • rendre les fichiers markdown en html
  • ouvrez le fichier sur votre système de fichiers dans votre navigateur
  • imprimer depuis votre navigateur

http://deveiate.org/projects/BlueCloth

vous pouvez trouver des exemples de l'API ici: 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()) }m'a donné une page HTML à regarder, mais aucune mise en forme ou coloration de GitHub n'est présente. C'est l'élément clé dans l'impression d'une jolie version que je vois sur mon navigateur, BlueCloth est-il un outil approprié pour cela? Comment?
pulkitsinghal

2

Je recommande de prendre une photo avec http://awesomescreenshot.com/ , puis de recadrer l'image et de l'imprimer (je viens de le faire et cela a fonctionné pour moi :).


Ce n'est pas encore pris en charge sur mon navigateur, je ne manquerai pas de tester la validité de cette solution lorsqu'elle sera disponible et de la voter si elle fonctionne réellement.
pulkitsinghal

1

Un moyen très simple qui ne nécessite rien de plus que Chrome:

Vous pouvez usurper l'agent utilisateur, en disant que vous êtes un appareil mobile, pour obtenir une belle version imprimable.

La façon dont je le fais - il existe de nombreuses façons - j'utilise Chrome la fonction "Emulation" de Chrome devTools pour émuler un appareil Android, par exemple un Samsung Note 3, puis dans la sous-section écran, je supprime "Emuler l'écran", pour obtenir pleine résolution, puis j'imprime.


1

Une autre façon consiste simplement à télécharger le markdown depuis GitHub ou Bit Bucket et à l'ouvrir avec eclipse. Vous obtiendrez l'onglet d'aperçu dans le volet de l'éditeur. Dans le menu Fichier, sélectionnez Imprimer. Un moyen simple, mais je prends la liberté de supposer que vous avez déjà installé eclipse, généralement la plupart des développeurs l'ont.

BR


1

Essayez la prise.

pip install grip
grip markdown.md

Ensuite, il est hébergé sur un port local. Vous pouvez ensuite imprimer ou enregistrer au format PDF via la boîte de dialogue d'impression native de votre système d'exploitation à partir de votre navigateur préféré.

Regardez ici .



0

Si vous avez un compte Instapaper , accédez au fichier README.md, enregistrez le lien vers Instapaper, puis ouvrez l'option "texte" dans Instapaper sur ce lien. La plupart des "fouillis" sont supprimés et la page s'imprime bien.


0

Hack simple:

J'ai ouvert le fichier markdown dans quelque chose comme Marked ou l'outil en ligne Dillinger , puis j'ai imprimé à partir de là. Certains de ces outils vous permettent de définir la mise en forme sur Github ou d'autres styles.

Une meilleure façon:

Depuis que j'ai écrit la réponse ci-dessus pour la première fois, j'ai trouvé un meilleur moyen:

J'ai découvert un meilleur moyen que ce que j'ai dit plus tôt.

  1. Git clonez votre wiki dans un répertoire local
  2. Utilisez l'ebook-convert de gitbook & Calibre pour générer le PDF selon les instructions de https://github.com/GitbookIO/gitbook

    • Sur Mac, vous devez créer un lien symbolique sur l'ebook-convert depuis le répertoire /Application/calibre.app vers un endroit approprié avant d'exécuter la commande gitbook pdf, avec une commande comme:

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


0

J'ai utilisé MarkdownPad et imprimé le HTML sur un graveur PDF. Si vous avez Pro, vous pouvez exporter directement au format PDF.


0

Fonctionne pour les navigateurs Chromium et la structure de page HTML "actuelle" de GitHub

  1. Créer un signet
  2. Dans le champ Adresse, saisissez:
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();

Sélectionne le texte du wiki, supprime et formate la table des matières, remplace le contenu du corps et appelle l'imprimante.



0

Convertissez simplement le fichier MD en PDF

Vous pouvez télécharger votre fichier .md et le télécharger ici pour le convertir en fichier pdf. Que vous pouvez facilement imprimer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.