Cómo imprimir desde GitHub

99

Si quiero imprimir un archivo de rebajas de GitHub como aparece en la pantalla, por ejemplo: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Entonces, ¿cómo puedo lograr eso? ¿Qué código necesito cambiar en la página html de github resultante (que guardo) de modo que la impresión respete la apariencia de la rebaja?

Hasta ahora, la única pista que tengo es esta: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Pero es más una solución utilitaria (no programática) que no ' Realmente funciona porque el intérprete de rebajas en uso no es tan indulgente como el que se ejecuta en los sitios web de GitHub, por lo que se torpe.

Pulkitsinghal
fuente

Respuestas:

34

Usar GitPrint es una excelente manera de imprimir archivos directamente desde Github.

Sourabh
fuente
7
GitPrint parece servir archivos PDF vacíos. Puede ser un problema temporal, pero aún así, la herramienta es inútil si no es confiable.
Ragnar123
21
tenga en cuenta que esta opción no funcionará si está intentando imprimir desde un repositorio privado de Github.
Jason Wheeler
3
GitPrint también estropea el formato, volviéndolo inútil (perdón por el juego de palabras).
jzions
7
GitPrint no funciona. Hay varios problemas abiertos sobre simplemente no trabajar en sus problemas de
github
5
Puedo confirmar que GitPrint ya no funciona = (
Madeo
65

Aquí hay un bookmarklet que funciona perfectamente para mí:

  1. Copie el contenido del bookmarklet Gist, que se reproduce a continuación como copia de seguridad.
  2. Cree un nuevo marcador en la barra de herramientas de su navegador, asígnele un nombre apropiado.
  3. Pon esa línea de código en el campo URL.

Si ahora va a una página de Markdown en Github y hace clic en el marcador, volverá a formatear la página y cambiará el CSS para que se vea igual que en la pantalla cuando imprime. Ahora solo imprime la página.

Contenido 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);
Boris Terzic
fuente
2
Encontré que este bookmarklet no estaba eliminando correctamente el encabezado de Github para los usuarios que habían iniciado sesión, así que lo actualicé en una esencia actualizada aquí
JKnight
2
roto desde el nuevo diseño de github
zsitro
¿Existe una versión sin comprimir de este archivo en algún lugar en caso de que quiera probar algunas ediciones? Todo esto es código comprimido / encriptado en la esencia actualmente.
Anmol Saraf
La respuesta se ha actualizado con la última versión de @randomor
Cosmo Harrigan
6
Agregué
Benjamin
13

Aquí hay una solución súper simple: simplemente seleccione todo el texto en el archivo Léame que desea imprimir, luego imprima y elija "Solo texto seleccionado".

Esto funcionó perfectamente en Chrome (incluidas las imágenes) y no requirió javascript ni sitios externos, ni descargar ni crear software.

Esto es en lo que probé: https://github.com/kroitor/gjk.c/blob/master/README.md

Srekel
fuente
2
¡Agradable! La opción en Chrome ahora se llama More settings- Selection only. Admite el formateo y no requiere software adicional ni descargar el archivo de rebajas.
Jerry101
Al imprimir desde Firefox, seleccione el contenido que desea imprimir, acceda a la opción "Imprimir" del menú "Archivo" (o presione ctrl + p), luego seleccione la opción "Selección".
myesain
8

Si eres un usuario de Mac, otra gran posibilidad es utilizar la funcionalidad "Lector" en el navegador web Safari.

Simplemente abra el archivo de rebajas y haga clic en el botón "Lector" en la esquina superior derecha.

Luego imprima la página con el comando "CMD + P".

Funciona de maravilla.

pmuens
fuente
Esto ya no parece funcionar en el último iOS / Safari :(
Mauricio Morales
8

Otra opción es pandoc . Después de la instalación (es compatible con Windows, Linux y Mac OS), el comando estaría en la línea de pandoc file.md -f markdown --smart -s -o file.pdf

Luego imprima el archivo PDF resultante.


También existe este convertidor en línea, que produjo el mejor resultado para mí: http://www.markdowntopdf.com/

Pandoc también tiene una demostración en línea.

kitsune
fuente
5

Encontré una herramienta increíble que logra los resultados de impresión que pedí: http://plessl.github.com/wkpdf/

Aquí hay una cita de su sitio web: " Si desea renderizar un sitio web con todo el glaseado gráfico para que coincida exactamente con la vista en un navegador, puede forzar explícitamente el uso de la hoja de estilo de pantalla CSS y habilitar la impresión de imágenes de fondo como en el siguiente ejemplo ... "

Entonces corrí:

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

¡y fue mágico!

Pulkitsinghal
fuente
6
Contras: solo se ejecuta en OS X, imprime encabezados y pies de página inútiles (¿verdad? No puedo probar esta herramienta porque estoy en Linux)
Giovanni Cappellotto
Y debido a los cambios en OS X por parte de Apple, el autor ya no mantiene wkpdf.
Chris Miller
4

Hice una extensión de Chrome que hace exactamente esto: GitHub Markdown Printer . Es una solución de un clic para imprimir archivos de rebajas exactamente como aparecen en GitHub.

Pasos:

  1. Instala la extensión de Chrome
  2. Vaya a cualquier página en GitHub / GitHub Enterprise con una vista previa de rebajas
  3. Haga clic en el icono de GMP para abrir el cuadro de diálogo de impresión e imprimir o guardar como PDF

Consulte el repositorio para obtener más información.

Jerry Wu
fuente
La extensión lee y escribe en todas las páginas que visita. No estoy seguro de lo seguro que es
Vikram Khemlani
2
@VikramKhemlani Esa es una preocupación válida, pero les aseguro que no estoy haciendo nada malicioso. Se requiere el permiso de lectura para ver si 1) está en github y 2) si hay una vista previa válida de Markdown. Se requiere el permiso de escritura para agregar una hoja de estilo personalizada para eliminar los elementos adicionales al imprimir. El proyecto es de código abierto y puede encontrar el código fuente aquí: github.com/jerry1100/github-markdown-printer/tree/master/src . Si aún tiene dudas, puede abrir la pestaña de red en sus herramientas de desarrollo de Chrome y descubrir que no estoy enviando ningún dato a ninguna parte.
Jerry Wu
3

Estoy usando la extensión del navegador github-wiki-print para imprimir páginas wiki de GitHub.

Creo que podría editar su archivo manifest.json para imprimir cualquier archivo de rebajas en repositorios de GitHub.

Giovanni Cappellotto
fuente
2

clonar el repositorio

gem install bluecloth
  • renderizar los archivos de rebajas en html
  • abrir archivo en su sistema de archivos en su navegador
  • imprimir desde su navegador

http://deveiate.org/projects/BlueCloth

puedes encontrar ejemplos de la API aquí: http://deveiate.org/projects/BlueCloth/browser/spec/bluecloth_spec.rb

Jed Schneider
fuente
File.open("/path/to/output.html", 'w') {|f| f.write(BlueCloth.new(File.read("/path/to/input.md")).to_html()) }me consiguió una página HTML para mirar, pero ninguno de los formatos o colores de GitHub está presente. Esa es la parte clave para imprimir una versión bonita que veo en mi navegador, ¿es BlueCloth una herramienta adecuada para eso? ¿Cómo es eso?
pulkitsinghal
2

Recomiendo tomar una foto con http://awesomescreenshot.com/ , luego recortar la imagen e imprimir (acabo de hacer esto y funcionó para mí :).

DTrejo
fuente
Todavía no es compatible con mi navegador, me aseguraré de probar la validez de esta solución cuando esté disponible y votarla si realmente funciona.
pulkitsinghal
1

Manera súper fácil que no requiere nada más que Chrome:

Puede falsificar al agente de usuario, diciéndole que es un dispositivo móvil, para obtener una buena versión imprimible.

De la forma en que lo hago, hay muchas formas, utilizo Chrome, la función "Emulación" de Chrome devTools para emular un dispositivo Android, por ejemplo, un Samsung Note 3, luego en la subsección de pantalla elimino "Emular pantalla", para obtener resolución completa, luego imprimo.

Julien Bérubé
fuente
1

Otra forma es descargar el markdown de GitHub o Bit Bucket y abrirlo con eclipse. Obtendrá la pestaña de vista previa en el panel del editor. Desde el menú de archivo, seleccione imprimir. De manera simple, sin embargo, me tomo la libertad de asumir que ya tiene eclipse instalado, por lo general, la mayoría de los desarrolladores lo tienen.

BR

Jeet
fuente
1

Prueba el agarre.

pip install grip
grip markdown.md

Luego, se aloja en un puerto local. A continuación, puede imprimir o guardar en PDF a través del cuadro de diálogo de impresión de su sistema operativo nativo desde su navegador favorito.

Vea aquí .

ozOli
fuente
0

Si tiene una cuenta de Instapaper , navegue hasta el archivo README.md, guarde el enlace a Instapaper, luego abra la opción "texto" en Instapaper en ese enlace. La mayor parte del "desorden" se elimina y la página se imprime bien.

Ralph
fuente
0

Hack simple:

He estado abriendo el archivo de rebajas en algo como Marked o la herramienta en línea Dillinger y luego imprimo desde allí. Algunas de estas herramientas le permiten configurar el formato en Github u otros estilos.

Una mejor manera:

Desde que escribí por primera vez la respuesta anterior, encontré una mejor manera:

Descubrí una forma mejor que la que dije antes.

  1. Git clona tu wiki en un directorio local
  2. Utilice gitbook & Calibre's ebook-convert para generar el PDF según las instrucciones en https://github.com/GitbookIO/gitbook

    • En Mac, debe vincular simbólicamente el ebook-convert desde el directorio /Application/calibre.app a un lugar adecuado antes de ejecutar el comando gitbook pdf, con un comando como:

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

Robert J Berger
fuente
0

Solía MarkdownPad e impreso el código HTML a un escritor de PDF. Si tiene Pro, puede exportar a PDF directamente.

Tobias
fuente
0

Funciona para navegadores Chromium y estructura de página html de GitHub "actual"

  1. Crea un marcador
  2. En el campo Dirección ingrese:
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();

Selecciona el texto Wiki, elimina y formatea la tabla de contenido, reemplaza el contenido del cuerpo y llama a la impresora.

crocteamgg
fuente
0

Yo uso esta página http://www.markdownprint.com , realmente simple de usar y produce rebajas usando el estilo github (que se ve muy bien). ¡Altamente recomendado!

Johan O
fuente
0

Simplemente convierta el archivo MD en PDF

Puede descargar su archivo .md y cargarlo aquí para convertirlo en un archivo pdf. Que puedes imprimir fácilmente.

Nishant Shah
fuente