วิธีพิมพ์จาก GitHub


99

หากฉันต้องการพิมพ์ไฟล์ markdown จาก GitHub ตามที่ปรากฏบนหน้าจอตัวอย่างเช่น https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

แล้วฉันจะทำมันให้สำเร็จได้อย่างไร? ฉันต้องเปลี่ยนรหัสอะไรในหน้า github html (ที่ฉันบันทึก) เพื่อให้งานพิมพ์เป็นไปตามรูปลักษณ์และความรู้สึกของ markdown

จนถึงตอนนี้เบาะแสเดียวที่ฉันมีคือ: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages แต่มันเป็นวิธีแก้ปัญหาที่เป็นประโยชน์ (ไม่ใช่โปรแกรม) มากกว่าซึ่งไม่ได้ ' t ใช้งานได้จริงเนื่องจากตัวแปล markdown ที่ใช้งานไม่ได้รับการให้อภัยเหมือนกับที่ทำงานบนเว็บไซต์ GitHub ดังนั้นจึงทำให้เกิดความสับสน

คำตอบ:


34

การใช้GitPrintเป็นวิธีที่ยอดเยี่ยมในการพิมพ์ไฟล์โดยตรงจาก Github


7
ดูเหมือนว่า GitPrint จะให้บริการไฟล์ pdf ที่ว่างเปล่า อาจเป็นปัญหาชั่วคราว แต่ถึงกระนั้นเครื่องมือก็ไม่มีประโยชน์หากไม่น่าเชื่อถือ
Ragnar123

22
โปรดทราบว่าตัวเลือกนี้จะใช้ไม่ได้หากคุณพยายามพิมพ์จากที่เก็บ Github ส่วนตัว
Jason Wheeler

3
GitPrint ทำให้การจัดรูปแบบยุ่งเหยิงเช่นกันการแสดงผล (ขออภัยสำหรับการเล่นสำนวน) มันไม่มีประโยชน์
jzions

7
GitPrint ไม่ทำงาน มีปัญหาเกี่ยวกับการเปิดหลายก็ไม่ทำงานในประเด็น GitHub ของพวกเขา
CodingYourLife

5
ฉันสามารถยืนยันได้ว่า GitPrint ไม่ทำงานอีกต่อไป = (
Madeo

65

นี่คือbookmarkletที่เหมาะกับฉัน:

  1. คัดลอกเนื้อหาของ bookmarklet Gist ซึ่งทำซ้ำด้านล่างเป็นข้อมูลสำรอง
  2. สร้างบุ๊กมาร์กใหม่ในแถบเครื่องมือของเบราว์เซอร์ของคุณตั้งชื่อที่เหมาะสม
  3. ใส่โค้ดหนึ่งบรรทัดในช่อง URL

หากตอนนี้คุณไปที่หน้า Markdown บน Github แล้วคลิกบุ๊กมาร์กมันจะฟอร์แมตหน้าใหม่และเปลี่ยน CSS เพื่อให้ดูเหมือนกับบนหน้าจอเมื่อคุณพิมพ์ ตอนนี้เพียงแค่พิมพ์หน้า

เนื้อหา 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);

2
ฉันพบว่า bookmarklet นี้ไม่ได้ลบส่วนหัว Github สำหรับผู้ใช้ที่ลงชื่อเข้าใช้อย่างถูกต้องดังนั้นฉันจึงอัปเดตในส่วนสำคัญที่อัปเดตที่นี่
JKnight

2
เสียตั้งแต่การออกแบบ github ใหม่
zsitro

มีไฟล์เวอร์ชันที่ไม่มีการบีบอัดใด ๆ ในกรณีที่ฉันต้องการลองแก้ไขบางอย่างหรือไม่? นี่คือรหัสที่บีบอัด / เข้ารหัสทั้งหมดในส่วนสำคัญในปัจจุบัน
Anmol Saraf

คำตอบได้รับการอัปเดตเป็นเวอร์ชันล่าสุดจาก @randomor
Cosmo Harrigan

6
ฉันได้เพิ่มการปรับปรุงเพิ่มเติมเพื่อลบข้อมูลเมตาส่วนหัวการดำเนินการส่วนหัวแถบด้านขวาและส่วนท้าย (ตุลาคม 2014): gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3
Benjamin

16

นี่เป็นวิธีง่ายๆสุด ๆ : เพียงเลือกข้อความทั้งหมดใน Readme ที่คุณต้องการพิมพ์จากนั้นพิมพ์และเลือก "เฉพาะข้อความที่เลือก"

สิ่งนี้ทำงานได้อย่างสมบูรณ์ใน Chrome (รวมถึงรูปภาพ) และไม่จำเป็นต้องใช้จาวาสคริปต์หรือไซต์ภายนอกหรือดาวน์โหลดหรือสร้างซอฟต์แวร์

นี่คือสิ่งที่ฉันทดสอบบน: https://github.com/kroitor/gjk.c/blob/master/README.md


2
ดี! ตัวเลือกใน Chrome ที่เรียกว่าตอนนี้-More settings Selection onlyรองรับการจัดรูปแบบและไม่ต้องใช้ซอฟต์แวร์เพิ่มเติมหรือดาวน์โหลดไฟล์ markdown
Jerry101

เมื่อพิมพ์จาก Firefox ให้เลือกเนื้อหาที่คุณต้องการพิมพ์เข้าถึงตัวเลือก "พิมพ์" จากเมนู "ไฟล์" (หรือกดctrl + p) จากนั้นเลือกตัวเลือก "การเลือก"
Noah Heck

10

ตัวเลือกหนึ่งคือpandoc หลังจากติดตั้ง (รองรับ Windows, Linux และ Mac OS) คำสั่งจะเป็นไปตามบรรทัดของ pandoc file.md -f markdown --smart -s -o file.pdf

จากนั้นพิมพ์ไฟล์ PDF ที่ได้


นอกจากนี้ยังมีตัวแปลงออนไลน์ซึ่งให้ผลลัพธ์ที่ดีที่สุดสำหรับฉัน: http://www.markdowntopdf.com/

Pandoc มีการสาธิตออนไลน์เช่นกัน


พบว่าเครื่องมือนี้มีประสิทธิภาพมากmarkdowntopdf.com
Rupesh

8

หากคุณเป็นผู้ใช้ Mac ความเป็นไปได้อีกอย่างคือการใช้ฟังก์ชัน "Reader" ในเว็บเบราว์เซอร์ Safari

เพียงแค่เปิด markdown-File และคลิกปุ่ม "Reader" ที่มุมขวาบน

จากนั้นพิมพ์หน้าด้วยคำสั่ง "CMD + P"

ใช้งานได้เหมือนมีเสน่ห์


ดูเหมือนจะใช้ไม่ได้กับ iOS / Safari ล่าสุดอีกต่อไป :(
Mauricio Morales

5

พบเครื่องมือที่ยอดเยี่ยมที่ให้ผลการพิมพ์ที่ฉันขอ: http://plessl.github.com/wkpdf/

นี่คือคำพูดจากเว็บไซต์: " หากคุณต้องการแสดงผลเว็บไซต์ด้วยไอซิ่งแบบกราฟิกทั้งหมดเพื่อให้ตรงกับมุมมองในเบราว์เซอร์คุณสามารถบังคับใช้สไตล์ชีทของหน้าจอ CSS อย่างชัดเจนและเปิดใช้งานการพิมพ์ภาพพื้นหลังได้เช่น ตัวอย่างต่อไปนี้ ... "

ฉันจึงวิ่ง:

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

และมันวิเศษมาก!


6
จุดด้อย: มันทำงานบน OS X เท่านั้นมันพิมพ์ส่วนหัวและส่วนท้ายที่ไร้ประโยชน์ (ใช่หรือไม่ฉันไม่สามารถลองใช้เครื่องมือนี้ได้เพราะฉันใช้ Linux)
Giovanni Cappellotto

และเนื่องจากการเปลี่ยนแปลงใน OS X โดย Apple wkpdf จึงไม่ได้รับการดูแลโดยผู้เขียนอีกต่อไป
Chris Miller

4

ผมทำส่วนขยายของ Chrome ที่ไม่เพียงแค่นี้: GitHub Markdown เครื่องพิมพ์ เป็นโซลูชันคลิกเดียวสำหรับการพิมพ์ไฟล์ markdown ตามที่ปรากฏบน GitHub

ขั้นตอน:

  1. ติดตั้งส่วนขยาย Chrome
  2. ไปที่หน้าใดก็ได้บน GitHub / GitHub Enterprise ด้วยการแสดงตัวอย่างมาร์กดาวน์
  3. คลิกไอคอน GMP เพื่อเปิดกล่องโต้ตอบการพิมพ์และพิมพ์หรือบันทึกเป็น PDF

ตรวจสอบrepoสำหรับข้อมูลเพิ่มเติม


ส่วนขยายจะอ่านและเขียนไปยังทุกหน้าที่คุณเยี่ยมชม ไม่แน่ใจว่าปลอดภัยแค่ไหน
Vikram Khemlani

2
@VikramKhemlani นั่นเป็นข้อกังวลที่ถูกต้อง แต่ฉันรับรองว่าฉันไม่ได้ทำอะไรที่เป็นอันตราย จำเป็นต้องมีสิทธิ์ในการอ่านเพื่อดูว่า 1) คุณอยู่ใน github หรือไม่และ 2) หากมีตัวอย่าง markdown ที่ถูกต้อง จำเป็นต้องมีสิทธิ์ในการเขียนเพื่อเพิ่มสไตล์ชีตแบบกำหนดเองเพื่อลบองค์ประกอบพิเศษเมื่อพิมพ์ โครงการดังกล่าวเป็นโอเพนซอร์สและคุณสามารถหารหัสที่มาที่นี่: github.com/jerry1100/github-markdown-printer/tree/master/src หากคุณยังสงสัยคุณสามารถเปิดแท็บเครือข่ายใน Chrome devtools และพบว่าฉันไม่ได้ส่งข้อมูลใด ๆ
Jerry Wu


2

โคลน repo

gem install bluecloth
  • แสดงไฟล์ markdown เป็น html
  • เปิดไฟล์บนระบบไฟล์ของคุณในเบราว์เซอร์ของคุณ
  • พิมพ์จากเบราว์เซอร์ของคุณ

http://deveiate.org/projects/BlueCloth

คุณสามารถดูตัวอย่างของ api ได้ที่นี่: 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()) }ทำให้ฉันมีหน้า HTML เพื่อดู แต่ไม่มีการจัดรูปแบบหรือสีจาก GitHub เลย นั่นคือส่วนสำคัญในการพิมพ์เวอร์ชันสวย ๆ ที่ฉันเห็นบนเบราว์เซอร์ BlueCloth เป็นเครื่องมือที่เหมาะสมหรือไม่? ยังไง?
pulkitsinghal

2

ฉันแนะนำให้ถ่ายภาพด้วยhttp: //awesomesc screenshot.com/ จากนั้นครอบตัดภาพและพิมพ์ (ฉันทำแค่นี้และมันก็ใช้ได้ผลสำหรับฉัน :)


เบราว์เซอร์ของฉันยังไม่รองรับฉันจะทดสอบความถูกต้องของโซลูชันนี้เมื่อพร้อมใช้งานและลงคะแนนว่าใช้งานได้จริงหรือไม่
pulkitsinghal

1

วิธีง่ายๆสุด ๆ ที่ไม่ต้องใช้อะไรมากไปกว่า Chrome:

คุณสามารถหลอกตัวแทนผู้ใช้โดยบอกว่าคุณเป็นอุปกรณ์พกพาเพื่อรับเวอร์ชันสำหรับพิมพ์ที่ดี

วิธีที่ฉันทำ - มีหลายวิธี - ฉันใช้ Chrome โดยใช้คุณลักษณะ "การจำลอง" ของ Chrome devTools เพื่อจำลองอุปกรณ์ Android เช่น Samsung Note 3 จากนั้นในส่วนย่อยของหน้าจอฉันจะลบ "เลียนแบบหน้าจอ" เพื่อให้ได้ ความละเอียดเต็มแล้วฉันพิมพ์


1

อีกวิธีคือดาวน์โหลด markdown จาก GitHub หรือ Bit Bucket แล้วเปิดด้วย eclipse คุณจะได้รับแท็บแสดงตัวอย่างในบานหน้าต่างตัวแก้ไข จากเมนูไฟล์เลือกพิมพ์ วิธีง่ายๆ แต่ฉันใช้เสรีภาพในการสมมติว่าคุณติดตั้งคราสไว้แล้วโดยปกตินักพัฒนาส่วนใหญ่จะมีมัน

BR


1

ลองจับ

pip install grip
grip markdown.md

จากนั้นโฮสต์บนพอร์ตท้องถิ่น จากนั้นคุณสามารถพิมพ์หรือบันทึกเป็น PDF ผ่านกล่องโต้ตอบการพิมพ์ OS ดั้งเดิมจากเบราว์เซอร์ที่คุณชื่นชอบ

ดูที่นี่ .



0

http://github.com/github/markup

คุณไม่ได้กล่าวถึงการตั้งค่าภาษา แต่นี่คือไลบรารี Ruby ที่ GitHub ใช้เพื่อแสดงไฟล์มาร์กอัป มีข้อดีในการรองรับมาร์กอัปต่างๆที่GitHub รองรับ (สิ่งทอ, rdoc ฯลฯ ) การเรนเดอร์ไฟล์. markdown ขึ้นอยู่กับตัวแยกวิเคราะห์ redcarpet markdown:

http://github.com/tanoku/redcarpet


0

หากคุณมีบัญชีInstapaperให้ไปที่ไฟล์ README.md บันทึกลิงก์ไปที่ Instapaper จากนั้นเปิดตัวเลือก "text" ใน Instapaper บนลิงก์นั้น "ความยุ่งเหยิง" ส่วนใหญ่จะถูกลบออกและหน้าที่พิมพ์ได้ดี


0

แฮ็คง่ายๆ:

ฉันเปิดไฟล์ markdown ในบางอย่างเช่นMarkedหรือDillingerเครื่องมือออนไลน์แล้วพิมพ์จากที่นั่น เครื่องมือเหล่านี้บางอย่างช่วยให้คุณตั้งค่าการจัดรูปแบบเป็น Github หรือรูปแบบอื่น ๆ

วิธีที่ดีกว่า:

ตั้งแต่ฉันเขียนคำตอบข้างต้นครั้งแรกฉันพบวิธีที่ดีกว่า:

ฉันได้ค้นพบวิธีที่ดีกว่าที่พูดไปก่อนหน้านี้

  1. Git โคลนวิกิของคุณไปยังโลคัลไดเร็กทอรี
  2. ใช้ ebook-convert ของ gitbook & Calibre เพื่อสร้าง PDF ตามคำแนะนำในhttps://github.com/GitbookIO/gitbook

    • บน Mac คุณต้องเชื่อมโยง ebook-convert จากภายในไดเร็กทอรี /Application/calibre.app ไปยังบางที่ที่เหมาะสมก่อนที่จะรันคำสั่ง gitbook pdf ด้วยคำสั่งเช่น:

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



0

ใช้งานได้กับเบราว์เซอร์ Chromium และโครงสร้างหน้า GitHub html "ปัจจุบัน"

  1. สร้างบุ๊กมาร์ก
  2. ในฟิลด์ที่อยู่ให้ป้อน:
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();

เลือกข้อความ Wiki ลบและจัดรูปแบบสารบัญแทนที่เนื้อหาเนื้อหาและเรียกใช้เครื่องพิมพ์


0

เพียงแค่แปลงไฟล์ MD เป็น PDF

คุณสามารถดาวน์โหลดไฟล์. md ของคุณและอัปโหลดที่นี่เพื่อแปลงเป็นไฟล์ pdf ซึ่งคุณสามารถพิมพ์ได้อย่างง่ายดาย.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.