Cara mencetak dari GitHub

99

Jika saya ingin mencetak file penurunan harga dari GitHub seperti yang muncul di layar, misalnya: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Lalu bagaimana saya bisa melakukannya? Kode apa yang perlu saya ubah di halaman html github yang dihasilkan (yang saya simpan) sedemikian rupa sehingga hasil cetakan akan menghormati tampilan & nuansa penurunan harga?

Sejauh ini satu-satunya petunjuk yang saya miliki adalah yang satu ini: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Tetapi ini lebih merupakan solusi utilitarian (non-programatik) yang tidak ' Ini tidak benar-benar berfungsi karena penerjemah penurunan harga yang digunakan tidak begitu memaafkan seperti yang dijalankan di situs web GitHub sehingga meraba-raba.

pulkitsinghal
sumber

Jawaban:

34

Menggunakan GitPrint adalah cara terbaik untuk langsung mencetak file dari Github.

Sourabh
sumber
7
GitPrint tampaknya menyajikan file pdf kosong. Ini mungkin masalah sementara, tetapi tetap saja, alat tersebut tidak berguna jika tidak dapat diandalkan.
Ragnar123
21
perhatikan bahwa opsi ini tidak akan berfungsi jika Anda mencoba mencetak dari repo Github pribadi.
Jason Wheeler
3
GitPrint juga merusak pemformatannya, membuat (maaf untuk permainan kata-kata) itu tidak berguna.
jzions
7
GitPrint tidak berfungsi. Ada beberapa masalah terbuka tentang tidak menangani masalah github mereka
CodingYourLife
5
Saya dapat mengonfirmasi bahwa GitPrint tidak berfungsi lagi = (
Madeo
65

Berikut adalah bookmarklet yang berfungsi sempurna untuk saya:

  1. Salin konten bookmarklet Gist, direproduksi di bawah sebagai cadangan.
  2. Buat bookmark baru di toolbar browser Anda, berikan nama yang sesuai.
  3. Letakkan satu baris kode itu di bidang URL.

Jika Anda sekarang pergi ke halaman penurunan harga di Github dan mengklik bookmark, itu akan memformat ulang halaman dan mengubah CSS sehingga terlihat sama seperti di layar saat Anda mencetak. Sekarang cetak saja halamannya.

Isi 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
sumber
2
Saya menemukan bookmarklet ini tidak menghapus dengan benar tajuk Github untuk pengguna yang masuk, jadi saya memperbaruinya di inti yang diperbarui di sini
JKnight
2
rusak sejak desain github baru
zsitro
Apakah ada versi file ini yang tidak terkompresi di mana pun jika saya ingin mencoba beberapa pengeditan? Ini semua adalah kode terkompresi / terenkripsi dalam intinya saat ini.
Anmol Saraf
Jawaban telah diperbarui dengan versi terbaru dari @randomor
Cosmo Harrigan
6
Saya telah menambahkan perbaikan lebih lanjut untuk menghapus meta data header, aksi header, bilah sisi kanan dan footer (Oktober 2014): gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3
Benjamin
13

Berikut solusi yang sangat sederhana: Cukup pilih semua teks di readme yang ingin Anda cetak, lalu cetak dan pilih "Hanya teks yang dipilih".

Ini bekerja dengan sempurna di Chrome (termasuk gambar) dan tidak memerlukan javascript atau situs eksternal atau mengunduh atau membuat perangkat lunak.

Inilah yang saya uji: https://github.com/kroitor/gjk.c/blob/master/README.md

Srekel
sumber
2
Bagus! Opsi di Chrome sekarang disebut More settings- Selection only. Ini mendukung pemformatan dan tidak memerlukan perangkat lunak tambahan atau mengunduh file penurunan harga.
Jerry101
Saat mencetak dari Firefox, pilih konten yang ingin Anda cetak, akses opsi "Cetak" dari menu "File" (atau tekan ctrl + p), lalu pilih opsi "Pilihan".
myesain
8

Jika Anda Pengguna Mac, kemungkinan besar lainnya adalah menggunakan Fungsi "Pembaca" di browser web Safari.

Cukup buka File-markdown dan klik "Pembaca" -Tombol di sudut kanan atas.

Kemudian cetak saja halaman tersebut dengan perintah "CMD + P".

Bekerja seperti pesona.

pmuens
sumber
Sepertinya ini tidak lagi berfungsi pada iOS / Safari terbaru :(
Mauricio Morales
8

Pilihan lainnya adalah pandoc . Setelah menginstal (mendukung Windows, Linux dan Mac OS), perintah akan berada di sepanjang baris pandoc file.md -f markdown --smart -s -o file.pdf

Kemudian cetak file PDF yang dihasilkan.


Ada juga pengonversi online ini, yang menghasilkan keluaran terbaik bagi saya: http://www.markdowntopdf.com/

Pandoc juga memiliki demo online.

kitsune
sumber
5

Menemukan alat luar biasa yang mencapai hasil pencetakan yang saya minta: http://plessl.github.com/wkpdf/

Berikut kutipan dari situs webnya: " Jika Anda ingin merender situs web dengan semua lapisan es grafis agar sama persis dengan tampilan di browser, Anda dapat secara eksplisit memaksa penggunaan lembar gaya layar CSS dan mengaktifkan pencetakan gambar latar belakang seperti pada contoh berikut ... "

Jadi saya lari:

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

dan itu ajaib!

pulkitsinghal
sumber
6
Kekurangan: ini hanya berjalan di OS X, ini mencetak header dan footer yang tidak berguna (bukan? Saya tidak dapat mencoba alat ini karena saya menggunakan Linux)
Giovanni Cappellotto
Dan karena adanya perubahan pada OS X oleh Apple, wkpdf tidak lagi dikelola oleh pembuatnya.
Chris Miller
4

Saya membuat ekstensi Chrome yang hanya melakukan ini: GitHub Markdown Printer . Ini adalah solusi satu klik untuk mencetak file penurunan harga persis seperti yang muncul di GitHub.

Langkah:

  1. Pasang ekstensi Chrome
  2. Buka halaman mana pun di GitHub / GitHub Enterprise dengan pratinjau penurunan harga
  3. Klik ikon GMP untuk membuka dialog cetak dan cetak atau simpan sebagai PDF

Lihat repo untuk info lebih lanjut.

Jerry Wu
sumber
Ekstensi membaca dan menulis ke semua halaman yang Anda kunjungi. Tidak yakin seberapa aman itu
Vikram Khemlani
2
@VikramKhemlani Itu masalah yang valid, tapi saya jamin saya tidak melakukan sesuatu yang berbahaya. Izin baca diperlukan untuk melihat apakah 1) Anda menggunakan github dan 2) jika ada pratinjau penurunan harga yang valid. Izin menulis diperlukan untuk menambahkan lembar gaya kustom untuk menghapus elemen tambahan saat mencetak. Proyek ini bersumber terbuka dan Anda dapat menemukan kode sumbernya di sini: github.com/jerry1100/github-markdown-printer/tree/master/src . Jika Anda masih ragu, Anda dapat membuka tab jaringan di devtools chrome Anda dan menemukan bahwa saya tidak mengirimkan data apa pun.
Jerry Wu
3

Saya menggunakan ekstensi browser github-wiki-print untuk mencetak halaman wiki GitHub.

Saya pikir Anda dapat mengedit file manifest.json untuk mencetak file penurunan harga apa pun di repo GitHub.

Giovanni Cappellotto
sumber
2

mengkloning repo

gem install bluecloth
  • membuat file penurunan harga menjadi html
  • buka file di sistem file Anda di browser
  • mencetak dari browser Anda

http://deveiate.org/projects/BlueCloth

Anda dapat menemukan contoh api di sini: http://deveiate.org/projects/BlueCloth/browser/spec/bluecloth_spec.rb

Jed Schneider
sumber
File.open("/path/to/output.html", 'w') {|f| f.write(BlueCloth.new(File.read("/path/to/input.md")).to_html()) }memberi saya halaman HTML untuk dilihat tetapi tidak ada pemformatan atau pewarnaan dari GitHub. Itulah bagian penting dalam mencetak versi cantik yang saya lihat di browser saya, apakah BlueCloth alat yang sesuai untuk itu? Bagaimana?
pulkitsinghal
2

Saya merekomendasikan untuk mengambil gambar dengan http://awesomescreenshot.com/ , kemudian memotong gambar dan mencetaknya (Saya baru saja melakukan ini dan berhasil untuk saya :).

DTrejo
sumber
Ini belum didukung di browser saya, saya pasti akan menguji validitas solusi ini ketika tersedia dan memilihnya jika benar-benar berfungsi.
pulkitsinghal
1

Cara super mudah yang hanya membutuhkan Chrome:

Anda dapat menipu agen pengguna, dengan mengatakan bahwa Anda adalah perangkat seluler, untuk mendapatkan versi cetak yang bagus.

Cara saya melakukannya - ada banyak cara - saya menggunakan fitur "Emulasi" Chrome devTools untuk meniru perangkat Android, misalnya Samsung Note 3, lalu di sub-bagian layar saya menghapus "Emulasi layar", untuk mendapatkan resolusi penuh, lalu saya mencetak.

Julien Bérubé
sumber
1

Cara lain adalah mengunduh penurunan harga dari GitHub atau Bit Bucket dan membukanya dengan eclipse. Anda akan mendapatkan tab pratinjau di panel editor. Dari menu file pilih cetak. Cara yang sederhana, namun saya mengambil kebebasan untuk menganggap Anda sudah menginstal gerhana, biasanya sebagian besar pengembang memilikinya.

BR

Jeet
sumber
1

Coba genggaman.

pip install grip
grip markdown.md

Kemudian di-host di porta lokal. Anda kemudian dapat mencetak atau menyimpan ke PDF melalui dialog cetak OS asli Anda dari browser favorit Anda.

Lihat disini .

ozOli
sumber
0

http://github.com/github/markup

Anda tidak menyebutkan preferensi bahasa, tetapi ini adalah pustaka Ruby yang GitHub gunakan sendiri untuk merender file markup. Ini memiliki keuntungan dalam mendukung berbagai markup yang didukung GitHub (tekstil, rdoc dll). Rendering file .markdown memiliki ketergantungan pada parser penurunan harga redcarpet:

http://github.com/tanoku/redcarpet

Pero P.
sumber
0

Jika Anda memiliki akun Instapaper , navigasikan ke file README.md, simpan tautan ke Instapaper, lalu buka opsi "teks" di Instapaper pada tautan itu. Sebagian besar "kekacauan" dihapus dan halaman tercetak dengan baik.

Muntah
sumber
0

Retas Sederhana:

Saya telah membuka file penurunan harga di sesuatu seperti Marked atau alat online Dillinger dan kemudian mencetak dari sana. Beberapa alat ini memungkinkan Anda untuk mengatur pemformatan ke Github atau gaya lainnya.

Cara yang lebih baik:

Sejak saya pertama kali menulis jawaban di atas, saya menemukan cara yang lebih baik:

Saya telah menemukan cara yang lebih baik daripada yang saya katakan sebelumnya.

  1. Git mengkloning wiki Anda ke direktori lokal
  2. Gunakan gitbook & Calibre's ebook-convert untuk menghasilkan PDF sesuai instruksi di https://github.com/GitbookIO/gitbook

    • Di Mac, Anda harus menghubungkan ebook-convert dari dalam direktori /Application/calibre.app ke tempat yang sesuai sebelum menjalankan perintah gitbook pdf, dengan perintah seperti:

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

Robert J Berger
sumber
0

Saya menggunakan MarkdownPad dan mencetak HTML ke PDF writer. Jika Anda memiliki Pro, Anda dapat mengekspor ke PDF secara langsung.

Tobias
sumber
0

Berfungsi untuk browser Chromium dan struktur halaman html GitHub "saat ini"

  1. Buat bookmark
  2. Di kolom Address masukkan:
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();

Memilih teks Wiki, menghapus dan memformat daftar isi, mengganti isi badan dan memanggil printer.

crocteamgg
sumber
0

Saya menggunakan halaman ini http://www.markdownprint.com , sangat mudah digunakan dan menghasilkan penurunan harga menggunakan gaya github (yang terlihat sangat bagus). Sangat disarankan!

Johan O
sumber
0

Cukup ubah file MD menjadi PDF

Anda dapat mengunduh file .md Anda dan mengunggahnya di sini untuk mengubahnya menjadi file pdf. Yang dapat Anda cetak dengan mudah.

Nishant Shah
sumber