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.

Respostas:


34

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


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);

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


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.


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.


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!


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.


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


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


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 :).


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.


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


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 .



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.


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


0

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


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.



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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.