Cách in từ GitHub


98

Nếu tôi muốn in tệp đánh dấu từ GitHub khi nó xuất hiện trên màn hình, ví dụ: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Sau đó, làm thế nào tôi có thể hoàn thành điều đó? Tôi cần thay đổi mã nào trong trang html github kết quả (mà tôi lưu) để bản in sẽ tôn trọng giao diện của dấu xuống?

Cho đến nay, manh mối duy nhất mà tôi có là cái này: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Nhưng đó là một cách giải quyết hữu dụng (không có lập trình) hơn mà không ' không thực sự hoạt động vì trình thông dịch đánh dấu đang được sử dụng không được tha thứ như trình thông dịch chạy trên các trang web GitHub nên nó bị lỗi.

Câu trả lời:


34

Sử dụng GitPrint là cách tuyệt vời để in trực tiếp tệp từ Github.


7
GitPrint dường như phân phát các tệp pdf trống. Nó có thể là một vấn đề tạm thời, nhưng công cụ này vẫn vô dụng nếu nó không đáng tin cậy.
Ragnar123

21
lưu ý rằng tùy chọn này sẽ không hoạt động nếu bạn đang cố in từ repo Github riêng tư.
Jason Wheeler

3
GitPrint cũng làm khó định dạng, hiển thị (xin lỗi vì cách chơi chữ) nó vô dụng.
jzions

7
GitPrint không hoạt động. Có rất nhiều vấn đề cởi mở về đơn giản là không làm việc về các vấn đề github của họ
CodingYourLife

5
Tôi có thể khẳng định rằng GitPrint không hoạt động nữa = (
Madeo

65

Đây là một bookmarklet hoạt động hoàn hảo đối với tôi:

  1. Sao chép nội dung của bookmarklet Gist, được sao chép bên dưới làm bản sao lưu.
  2. Tạo dấu trang mới trên thanh công cụ của trình duyệt, đặt tên phù hợp cho nó.
  3. Đặt một dòng mã đó vào trường URL.

Nếu bây giờ bạn truy cập trang Markdown trên Github và nhấp vào dấu trang, nó sẽ định dạng lại trang và thay đổi CSS để nó trông giống như trên màn hình khi bạn in. Bây giờ chỉ cần in trang.

Nội dung 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
Tôi nhận thấy bookmarklet này không xóa đúng tiêu đề Github cho người dùng đã đăng nhập, vì vậy tôi đã cập nhật nó tại một ý chính cập nhật ở đây
JKnight

2
bị phá vỡ kể từ khi thiết kế github mới
zsitro

Có phiên bản không nén của tệp này ở bất kỳ đâu trong trường hợp tôi muốn thử một số chỉnh sửa không? Đây là tất cả mã được nén / mã hóa trong ý chính hiện tại.
Anmol Saraf

Câu trả lời đã được cập nhật với phiên bản mới nhất từ @randomor
Cosmo Harrigan

6
Tôi đã thêm một cải tiến hơn nữa để xóa dữ liệu meta tiêu đề, hành động tiêu đề, thanh bên phải và chân trang (tháng 10 năm 2014): gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3
Benjamin

13

Đây là một giải pháp siêu đơn giản: Chỉ cần chọn tất cả văn bản trong readme mà bạn muốn in, sau đó in và chọn "Chỉ văn bản đã chọn".

Điều này hoạt động hoàn hảo trong Chrome (bao gồm cả hình ảnh) và không yêu cầu javascript hoặc các trang web bên ngoài hoặc tải xuống hoặc xây dựng phần mềm.

Đây là những gì tôi đã thử nghiệm trên: https://github.com/kroitor/gjk.c/blob/master/README.md


2
Đẹp! Tùy chọn trong Chrome hiện được gọi là More settings- Selection only. Nó hỗ trợ định dạng và không yêu cầu phần mềm bổ sung hoặc tải xuống tệp đánh dấu.
Jerry101

Khi in từ Firefox, chọn nội dung bạn muốn in, truy cập tùy chọn "Print" từ menu "File" (hoặc nhấn ctrl + p), sau đó chọn tùy chọn "Selection".
myesain

8

Nếu bạn là Người dùng Mac, một khả năng tuyệt vời khác là sử dụng Chức năng "Trình đọc" trong trình duyệt web Safari.

Chỉ cần mở tệp đánh dấu và nhấp vào nút "Trình đọc" -Button ở góc trên cùng bên phải.

Sau đó chỉ cần in trang bằng lệnh "CMD + P".

Hoạt động như một sự quyến rũ.


Điều này dường như không còn hoạt động trên iOS / Safari mới nhất :(
Mauricio Morales

8

Một lựa chọn khác là pandoc . Sau khi cài đặt (nó hỗ trợ Windows, Linux và Mac OS), lệnh sẽ nằm dọc theo dòng pandoc file.md -f markdown --smart -s -o file.pdf

Sau đó in tệp PDF kết quả.


Ngoài ra còn có công cụ chuyển đổi trực tuyến này, đã tạo ra đầu ra đẹp nhất cho tôi: http://www.markdowntopdf.com/

Pandoc cũng có một bản demo trực tuyến.


5

Đã tìm thấy một công cụ tuyệt vời giúp đạt được kết quả in mà tôi yêu cầu: http://plessl.github.com/wkpdf/

Đây là trích dẫn từ trang web của nó: " Nếu bạn muốn hiển thị một trang web với tất cả các đồ họa đóng băng để khớp chính xác với chế độ xem trong trình duyệt, bạn có thể buộc sử dụng biểu định kiểu màn hình CSS một cách rõ ràng và cho phép in hình nền như trong ví dụ sau ... "

Vì vậy, tôi đã chạy:

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

và nó thật kỳ diệu!


6
Nhược điểm: nó chỉ chạy trên OS X, nó in tiêu đề vô dụng và footer (hiện nó tôi không thể thử công cụ này bởi vì tôi là trên Linux?)
Giovanni Cappellotto

Và do những thay đổi trong OS X của Apple, wkpdf không còn được tác giả duy trì.
Chris Miller

4

Tôi đã tạo một tiện ích mở rộng của Chrome thực hiện điều này: Máy in GitHub Markdown . Đó là giải pháp một cú nhấp chuột để in các tệp đánh dấu chính xác như cách chúng xuất hiện trên GitHub.

Các bước:

  1. Cài đặt tiện ích mở rộng của Chrome
  2. Truy cập bất kỳ trang nào trên GitHub / GitHub Enterprise với bản xem trước đánh dấu
  3. Nhấp vào biểu tượng GMP để mở hộp thoại in và in hoặc lưu dưới dạng PDF

Kiểm tra repo để biết thêm thông tin.


Tiện ích mở rộng đọc và ghi tất cả các trang bạn truy cập. Không chắc nó an toàn đến mức nào
Vikram Khemlani

2
@VikramKhemlani Đó là một mối quan tâm hợp lệ, nhưng tôi đảm bảo với bạn rằng tôi không làm bất cứ điều gì độc hại. Quyền đọc là bắt buộc để xem liệu 1) bạn có đang truy cập github và 2) nếu có bản xem trước đánh dấu hợp lệ. Cần có quyền ghi để thêm một biểu định kiểu tùy chỉnh để loại bỏ các phần tử thừa khi in. Dự án là mã nguồn mở và bạn có thể tìm thấy mã nguồn tại đây: github.com/jerry1100/github-markdown-printer/tree/master/src . Nếu vẫn còn nghi ngờ, bạn có thể mở tab mạng trong chrome devtools của mình và thấy rằng tôi không gửi bất kỳ dữ liệu nào đi đâu cả.
Jerry Wu,


2

sao chép repo

gem install bluecloth
  • hiển thị các tệp đánh dấu thành html
  • mở tệp trên hệ thống tệp của bạn trong trình duyệt của bạn
  • in từ trình duyệt của bạn

http://deveiate.org/projects/BlueCloth

bạn có thể tìm thấy các ví dụ về api tại đây: 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()) }đã cho tôi một trang HTML để xem nhưng không có định dạng hoặc màu nào từ GitHub. Đó là phần quan trọng trong việc in ra một phiên bản đẹp mà tôi thấy trên trình duyệt của mình, BlueCloth có phải là công cụ thích hợp cho việc đó không? Làm sao vậy?
pulkitsinghal

2

Tôi khuyên bạn nên chụp ảnh bằng http://awesomescreenshot.com/ , sau đó cắt ảnh và in (Tôi vừa làm điều này và nó đã hiệu quả với tôi :).


Nó chưa được hỗ trợ trên trình duyệt của tôi, tôi chắc chắn sẽ kiểm tra tính hợp lệ của giải pháp này khi nó có sẵn và bỏ phiếu cho nó nếu nó thực sự hoạt động.
pulkitsinghal

1

Cách siêu dễ dàng không yêu cầu gì hơn ngoài Chrome:

Bạn có thể giả mạo tác nhân người dùng, nói rằng bạn là thiết bị di động, để có được một phiên bản có thể in đẹp.

Theo cách tôi thực hiện - có rất nhiều cách - tôi sử dụng tính năng "Giả lập" của Chrome devTools để mô phỏng thiết bị Android, ví dụ như Samsung Note 3, sau đó trong phần phụ màn hình, tôi xóa "Giả lập màn hình", để lấy độ phân giải đầy đủ, sau đó tôi in.


1

Một cách khác là chỉ cần tải xuống markdown từ GitHub hoặc Bit Bucket và mở nó bằng eclipse. Bạn sẽ nhận được tab xem trước trong ngăn trình chỉnh sửa. Từ menu tệp chọn in. Cách đơn giản, tuy nhiên, tôi tự do giả định rằng bạn đã cài đặt eclipse thường hầu hết các nhà phát triển đều có nó.

BR


1

Thử độ bám.

pip install grip
grip markdown.md

Sau đó, nó được lưu trữ trên một cổng cục bộ. Sau đó, bạn có thể in hoặc lưu thành PDF thông qua hộp thoại in hệ điều hành gốc từ trình duyệt yêu thích của mình.

Xem tại đây .


0

http://github.com/github/markup

Bạn không đề cập đến tùy chọn ngôn ngữ, nhưng đây là thư viện Ruby mà chính GitHub sử dụng để hiển thị các tệp đánh dấu. Nó có ưu điểm là hỗ trợ các hỗ trợ GitHub đánh dấu khác nhau (dệt, rdoc, v.v.). Việc hiển thị các tệp .markdown phụ thuộc vào trình phân tích cú pháp đánh dấu redcarpet:

http://github.com/tanoku/redcarpet


0

Nếu bạn có tài khoản Instapaper , hãy điều hướng đến tệp README.md, lưu liên kết vào Instapaper, sau đó mở tùy chọn "văn bản" trong Instapaper trên liên kết đó. Hầu hết các "lộn xộn" được loại bỏ và trang in tốt.


0

Hack đơn giản:

Tôi đang mở tệp đánh dấu bằng thứ gì đó như Marked hoặc công cụ trực tuyến Dillinger và sau đó in từ đó. Một số công cụ này cho phép bạn đặt định dạng thành Github hoặc các kiểu khác.

Một cách tốt hơn:

Kể từ lần đầu tiên tôi viết câu trả lời ở trên, tôi đã tìm thấy một cách tốt hơn:

Tôi đã khám phá ra một cách tốt hơn những gì tôi đã nói trước đó.

  1. Git sao chép wiki của bạn vào một thư mục cục bộ
  2. Sử dụng công cụ chuyển đổi ebook của gitbook & Calibre để tạo PDF theo hướng dẫn trong https://github.com/GitbookIO/gitbook

    • Trên Mac, bạn phải liên kết mã hóa ebook-convert từ trong thư mục /Application/calibre.app đến một nơi nào đó phù hợp trước khi chạy lệnh gitbook pdf, bằng một lệnh như:

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


0

Tôi đã sử dụng MarkdownPad và in HTML cho một trình viết PDF. Nếu bạn có Pro, bạn có thể xuất trực tiếp sang PDF.


0

Hoạt động cho trình duyệt Chromium và cấu trúc trang html GitHub "hiện tại"

  1. Tạo dấu trang
  2. Trong trường Địa chỉ, hãy nhập:
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();

Chọn văn bản Wiki, xóa và định dạng bảng nội dung, thay thế nội dung nội dung và gọi máy in.


0

Tôi sử dụng trang này http://www.markdownprint.com , thực sự đơn giản để sử dụng và tạo ra đánh dấu bằng cách sử dụng kiểu github (trông thực sự tốt). Rất khuyến khích!


0

Đơn giản chỉ cần chuyển đổi tệp MD thành PDF

Bạn có thể tải xuống tệp .md của mình và tải tệp đó lên đây để chuyển đổi thành tệp pdf. Mà bạn có thể dễ dàng in.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.