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.

pulkitsinghal
la source

Réponses:

34

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

Sourabh
la source
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);
Boris Terzic
la source
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

Srekel
la source
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.

pmuens
la source
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.

kitsune
la source
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!

pulkitsinghal
la source
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.

Jerry Wu
la source
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
3

J'utilise l' extension de navigateur github-wiki-print pour imprimer des pages wiki GitHub.

Je pense que vous pourriez modifier son fichier manifest.json pour imprimer n'importe quel fichier de démarque sur les dépôts GitHub.

Giovanni Cappellotto
la source
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

Jed Schneider
la source
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 :).

DTrejo
la source
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.

Julien Bérubé
la source
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

Jeet
la source
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 .

ozOli
la source
0

http://github.com/github/markup

Vous ne mentionnez pas de préférence de langue, mais il s'agit de la bibliothèque Ruby que GitHub utilise lui-même pour rendre les fichiers de balisage. Il a l'avantage de prendre en charge les différentes balises GitHub supports (textile, rdoc etc.). Le rendu des fichiers .markdown dépend de l'analyseur de markdown de redcarpet:

http://github.com/tanoku/redcarpet

Pero P.
la source
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.

Ralph
la source
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

Robert J Berger
la source
0

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

Tobias
la source
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.

crocteamgg
la source
0

J'utilise cette page http://www.markdownprint.com , très simple à utiliser et produit du markdown en utilisant le style github (qui a l'air vraiment bien). Recommande fortement!

Johan O
la source
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.

Nishant Shah
la source