Como imprimir do GitHub

99

Se eu quiser imprimir um arquivo markdown do GitHub como ele aparece na tela, por exemplo: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Então, como posso fazer isso? Qual código eu preciso alterar na página github html resultante (que salvo) para que a impressão honre a aparência da redução?

Até agora, a única pista que tenho é esta: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Mas é mais uma solução alternativa utilitária (não programática) que não funciona Isso realmente funciona porque o intérprete de redução em uso não é tão complacente quanto o executado nos sites do GitHub, por isso é complicado.

Pulkitsinghal
fonte

Respostas:

34

Usar o GitPrint é uma ótima maneira de imprimir arquivos diretamente do Github.

Sourabh
fonte
7
GitPrint parece servir arquivos PDF vazios. Pode ser um problema temporário, mas ainda assim, a ferramenta é inútil se não for confiável.
Ragnar123
21
observe que esta opção não funcionará se você estiver tentando imprimir de um repositório Github privado.
Jason Wheeler,
3
O GitPrint também altera a formatação, tornando-a (desculpe o trocadilho) inútil.
jzions
7
GitPrint não funciona. Existem vários problemas em aberto sobre simplesmente não trabalhar em seus problemas de github
CodingYourLife
5
Posso confirmar que o GitPrint não está mais funcionando = (
Madeo
65

Aqui está um bookmarklet que funciona perfeitamente para mim:

  1. Copie o conteúdo do bookmarklet Gist, reproduzido abaixo como backup.
  2. Crie um novo marcador na barra de ferramentas do seu navegador e dê a ele um nome adequado.
  3. Coloque essa linha de código no campo URL.

Se você agora for para uma página Markdown no Github e clicar no favorito, ele reformatará a página e mudará o CSS para que tenha a mesma aparência que na tela quando você imprime. Agora é só imprimir a página.

Conteúdo do booklet:

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
fonte
2
Descobri que este bookmarklet não estava removendo corretamente o cabeçalho do Github para usuários conectados, então eu o atualizei em uma essência atualizada aqui
JKnight
2
quebrado desde o novo design do github
zsitro
Existe uma versão descompactada desse arquivo em algum lugar, caso eu queira tentar algumas edições? Este é todo o código compactado / criptografado na essência atualmente.
Anmol Saraf
A resposta foi atualizada com a versão mais recente de @randomor
Cosmo Harrigan
6
Eu adicionei mais uma melhoria para remover metadados de cabeçalho, ação de cabeçalho, barra lateral direita e rodapé (outubro de 2014): gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3
Benjamin
13

Aqui está uma solução super simples: Basta selecionar todo o texto no leia-me que deseja imprimir, imprimir e escolher "Apenas o texto selecionado".

Isso funcionou perfeitamente no Chrome (incluindo imagens) e não exigiu javascript ou sites externos ou download ou construção de software.

Isso é o que testei em: https://github.com/kroitor/gjk.c/blob/master/README.md

Srekel
fonte
2
Agradável! A opção no Chrome agora é chamada More settings- Selection only. Ele suporta a formatação e não requer software adicional ou download do arquivo markdown.
Jerry101
Ao imprimir do Firefox, selecione o conteúdo que deseja imprimir, acesse a opção "Imprimir" do menu "Arquivo" (ou pressione ctrl + p), depois selecione a opção "Seleção".
myesain
8

Se você é um usuário Mac, outra grande possibilidade é usar a funcionalidade "Leitor" do navegador Safari.

Basta abrir o arquivo markdown e clicar no botão "Leitor" no canto superior direito.

Depois é só imprimir a página com o comando “CMD + P”.

Funciona como um encanto.

pmuens
fonte
Isso parece não funcionar mais no iOS / Safari mais recente :(
Mauricio Morales
8

Outra opção é pandoc . Após a instalação (suporta Windows, Linux e Mac OS), o comando seria mais ou menos pandoc file.md -f markdown --smart -s -o file.pdf

Em seguida, imprima o arquivo PDF resultante.


Também existe este conversor online, que produziu a melhor saída para mim: http://www.markdowntopdf.com/

O Pandoc também tem uma demonstração online.

kitsune
fonte
5

Encontrei uma ferramenta incrível que alcança os resultados de impressão que solicitei: http://plessl.github.com/wkpdf/

Aqui está uma citação de seu site: " Se você deseja renderizar um site com toda a cobertura gráfica para corresponder exatamente à visualização em um navegador, você pode forçar explicitamente o uso da folha de estilo de tela CSS e permitir a impressão de imagens de fundo como no seguinte exemplo ... "

Então eu corri:

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

e foi mágico!

Pulkitsinghal
fonte
6
Contras: ele roda apenas no OS X, ele imprime cabeçalho e rodapé inúteis (não é? Não posso tentar essa ferramenta porque estou no Linux)
Giovanni Cappellotto
E devido às mudanças no OS X pela Apple, wkpdf não está mais sendo mantido pelo autor.
Chris Miller
4

Eu fiz uma extensão do Chrome que faz exatamente isso: GitHub Markdown Printer . É uma solução de um clique para imprimir arquivos markdown exatamente como aparecem no GitHub.

Passos:

  1. Instale a extensão do Chrome
  2. Vá para qualquer página do GitHub / GitHub Enterprise com uma visualização de redução
  3. Clique no ícone GMP para abrir a caixa de diálogo de impressão e imprimir ou salvar como PDF

Confira o repo para mais informações.

Jerry Wu
fonte
A extensão lê e grava em todas as páginas que você visita. Não tenho certeza de quão seguro é
Vikram Khemlani
2
@VikramKhemlani Essa é uma preocupação válida, mas garanto que não estou fazendo nada malicioso. A permissão de leitura é necessária para ver se 1) você está no github e 2) se há uma visualização de redução válida. A permissão de gravação é necessária para adicionar uma folha de estilo personalizada para remover os elementos extras durante a impressão. O projeto é de código aberto e você pode encontrar o código-fonte aqui: github.com/jerry1100/github-markdown-printer/tree/master/src . Se ainda tiver dúvidas, você pode abrir a guia de rede em seu Chrome Devtools e descobrir que não estou enviando dados a lugar nenhum.
Jerry Wu
3

Estou usando a extensão do navegador github-wiki-print para imprimir as páginas wiki do GitHub.

Acho que você pode editar seu arquivo manifest.json para imprimir qualquer arquivo markdown nos repositórios do GitHub.

Giovanni Cappellotto
fonte
2

clonar o repo

gem install bluecloth
  • renderizar os arquivos markdown em html
  • abrir arquivo em seu sistema de arquivos em seu navegador
  • imprima do seu navegador

http://deveiate.org/projects/BlueCloth

você pode encontrar exemplos da API aqui: http://deveiate.org/projects/BlueCloth/browser/spec/bluecloth_spec.rb

Jed Schneider
fonte
File.open("/path/to/output.html", 'w') {|f| f.write(BlueCloth.new(File.read("/path/to/input.md")).to_html()) }me deu uma página HTML para olhar, mas nenhuma formatação ou coloração do GitHub está presente. Essa é a parte fundamental para imprimir uma versão bonita que vejo no meu navegador, o BlueCloth é uma ferramenta apropriada para isso? Como assim?
pulkitsinghal
2

Eu recomendo tirar uma foto com http://awesomescreenshot.com/ , em seguida, cortar a imagem e imprimir (Eu só fiz isso e funcionou para mim :).

DTrejo
fonte
Ainda não é compatível com meu navegador, com certeza testarei a validade dessa solução quando ela estiver disponível e votarei se ela realmente funciona.
pulkitsinghal
1

Maneira super fácil que requer nada mais do que o Chrome:

Você pode falsificar o agente do usuário, dizendo que você é um dispositivo móvel, para obter uma boa versão para impressão.

Do jeito que eu faço isso - há várias maneiras - eu uso o Chrome devTools o recurso "Emulação" do Chrome para emular um dispositivo Android, por exemplo, um Samsung Note 3, então na subseção da tela eu removo "Emular tela", para obter resolução total, depois imprimo.

Julien Bérubé
fonte
1

Outra maneira é apenas baixar o markdown do GitHub ou Bit Bucket e abri-lo com o eclipse. Você obterá a guia de visualização no painel do editor. No menu de arquivo, selecione imprimir. Maneira simples, no entanto, estou tomando a liberdade de assumir que você já tem o Eclipse instalado, normalmente a maioria dos desenvolvedores o tem.

BR

Jeet
fonte
1

Tente pegada.

pip install grip
grip markdown.md

Em seguida, é hospedado em uma porta local. Você pode imprimir ou salvar em PDF por meio da caixa de diálogo de impressão do sistema operacional nativo em seu navegador favorito.

Veja aqui .

ozOli
fonte
0

http://github.com/github/markup

Você não menciona uma preferência de idioma, mas esta é a biblioteca Ruby que o próprio GitHub usa para renderizar os arquivos de marcação. Ele tem a vantagem de suportar as várias marcações que o GitHub suporta (têxtil, rdoc etc). A renderização de arquivos .markdown depende do analisador redcarpet markdown:

http://github.com/tanoku/redcarpet

Pero P.
fonte
0

Se você tiver uma conta no Instapaper , navegue até o arquivo README.md, salve o link no Instapaper e abra a opção "texto" no Instapaper nesse link. A maior parte da "desordem" é removida e a página é impressa bem.

Ralph
fonte
0

Hack simples:

Estou abrindo o arquivo de marcação em algo como Marcado ou a ferramenta online Dillinger e imprimo a partir daí. Algumas dessas ferramentas permitem que você defina a formatação para Github ou outros estilos.

Uma maneira melhor:

Desde que escrevi a resposta acima, encontrei uma maneira melhor:

Eu descobri uma maneira melhor do que o que disse antes.

  1. Clone seu wiki em um diretório local
  2. Use o e-book convert do gitbook & Calibre para gerar o PDF de acordo com as instruções em https://github.com/GitbookIO/gitbook

    • No Mac, você precisa criar um link simbólico para o ebook-convert de dentro do diretório /Application/calibre.app para algum lugar adequado antes de executar o comando gitbook pdf, com um comando como:

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

Robert J Berger
fonte
0

Usei o MarkdownPad e imprimi o HTML em um escritor de PDF. Se você tiver o Pro, poderá exportar para PDF diretamente.

Tobias
fonte
0

Funciona para navegadores Chromium e estrutura de página html "atual" do GitHub

  1. Crie um favorito
  2. No campo Endereço, digite:
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();

Seleciona o texto Wiki, remove e formata a tabela de conteúdo, substitui o conteúdo do corpo e chama a impressora.

crocteamgg
fonte
0

Eu uso esta página http://www.markdownprint.com , muito simples de usar e produz marcação usando o estilo github (que parece muito bom). Altamente recomendado!

Johan O
fonte
0

Basta converter o arquivo MD em PDF

Você pode baixar seu arquivo .md e carregá-lo aqui para convertê-lo em um arquivo pdf. Que você pode imprimir facilmente.

Nishant Shah
fonte