108 votes

Comment imprimer à partir de GitHub

Si je veux imprimer un fichier markdown de 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 modifier dans la page html github résultante (que je sauvegarde) pour que l'impression respecte l'aspect et la convivialité du format markdown ?

Pour l'instant, le seul indice que j'ai est celui-ci : https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Mais il s'agit plutôt d'une solution de contournement utilitaire (non programmatique) qui ne fonctionne pas vraiment parce que l'interpréteur markdown utilisé n'est pas aussi indulgent que celui qui fonctionne sur les sites web de GitHub, ce qui fait qu'il cafouille.

66voto

Boris Terzic Points 6148

Voici un bookmarklet qui fonctionne parfaitement pour moi :

  1. Copiez le contenu du Gist du bookmarklet, reproduit ci-dessous à titre de 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 vous rendez maintenant sur une page Markdown sur Github et que vous cliquez sur le signet, la page sera reformatée et les feuilles de style en cascade seront modifiées pour que l'impression soit identique à celle de l'écran. Il ne vous reste plus qu'à imprimer la page.

Contenu du 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 votes

J'ai constaté que ce bookmarklet ne supprimait pas correctement l'en-tête Github pour les utilisateurs connectés, et je l'ai donc mis à jour. à une liste mise à jour ici

3 votes

Cassé depuis le nouveau design de github

0 votes

Existe-t-il une version non compressée de ce fichier au cas où je voudrais essayer de le modifier ? Tout ceci est du code compressé / crypté dans le gist actuellement.

34voto

Sourabh Points 169

Utilisation de GitPrint est un excellent moyen d'imprimer directement les fichiers de Github.

7 votes

GitPrint semble servir des fichiers pdf vides. Il s'agit peut-être d'un problème temporaire, mais l'outil est inutile s'il n'est pas fiable.

22 votes

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

3 votes

GitPrint ne tient pas compte du formatage, ce qui le rend inutile (désolé pour le jeu de mots).

5voto

pulkitsinghal Points 350

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

Voici une citation de son site web : " Si vous voulez que le rendu d'un site Web, avec tout le glaçage graphique, corresponde exactement à l'affichage dans un navigateur, vous pouvez forcer explicitement l'utilisation de la feuille de style d'écran CSS et activer l'impression des images d'arrière-plan comme dans l'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 votes

Inconvénients : il ne fonctionne que sous OS X, il imprime des en-têtes et des pieds de page inutiles (est-ce le cas ? Je ne peux pas essayer cet outil car je suis sous Linux).

0 votes

Et en raison des changements apportés à OS X par Apple, wkpdf n'est plus maintenu par l'auteur.

3voto

Giovanni Points 1010

J'utilise le github-wiki-print extension de navigateur pour imprimer les pages wiki de GitHub.

Je pense que vous pourriez modifier son manifeste.json pour imprimer tout fichier markdown sur les dépôts GitHub.

2voto

Jed Schneider Points 6253

Cloner le repo

gem install bluecloth
  • rendre les fichiers markdown en html
  • ouvrir un fichier sur votre système de fichiers dans votre navigateur
  • imprimer à partir de 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

0 votes

File.open("/path/to/output.html", 'w') {|f| f.write(BlueCloth.new(File.read("/path/to/input.md")).to_htm‌​l()) } m'a permis d'obtenir une page HTML à regarder, mais aucun formatage ou coloration de GitHub n'est présent. C'est la partie clé de l'impression d'une jolie version que je vois sur mon navigateur. BlueCloth est-il un outil approprié pour cela ? Comment ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X