Jak drukować z GitHub


99

Jeśli chcę wydrukować plik Markdown z GitHub, tak jak pojawia się na ekranie, na przykład: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Więc jak mogę to osiągnąć? Jaki kod muszę zmienić na powstałej stronie github html (którą zapisuję), aby wydruk był zgodny z wyglądem przeceny?

Jak dotąd jedyną wskazówką, jaką mam, jest ta: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Ale jest to bardziej utylitarne (nieprogramowe) obejście, które nie robi ' naprawdę działa, ponieważ używany interpreter przecen nie jest tak wyrozumiały jak ten, który działa w witrynach GitHub, więc się gubi.

Odpowiedzi:


34

Korzystanie z GitPrint to świetny sposób na bezpośrednie drukowanie plików z Github.


7
Wydaje się, że GitPrint obsługuje puste pliki pdf. Może to być problem tymczasowy, ale mimo to narzędzie jest bezużyteczne, jeśli nie jest niezawodne.
— Ragnar123

21
pamiętaj, że ta opcja nie zadziała, jeśli próbujesz drukować z prywatnego repozytorium Github.
— Jason Wheeler

3
GitPrint zmienia również formatowanie, renderując (przepraszam za kalambur) bezużyteczne.
— jzions

7
GitPrint nie działa. Istnieje wiele otwartych problemów dotyczących po prostu nie rozwiązywania problemów z
— githubem

5
Mogę potwierdzić, że GitPrint już nie działa = (
— Madeo

65

Oto bookmarklet, który działa idealnie dla mnie:

  1. Skopiuj zawartość bookmarkletu Gist, przedstawioną poniżej jako kopię zapasową.
  2. Utwórz nową zakładkę na pasku narzędzi przeglądarki, nadaj jej odpowiednią nazwę.
  3. Umieść tę jedną linię kodu w polu adresu URL.

Jeśli teraz przejdziesz do strony Markdown na Github i klikniesz zakładkę, ponownie sformatujesz stronę i zmieni CSS, tak aby wyglądał tak samo jak na ekranie podczas drukowania. Teraz po prostu wydrukuj stronę.

Zawartość zakładki:

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
Zauważyłem, że ten bookmarklet nie usuwał poprawnie nagłówka Github dla zalogowanych użytkowników, więc zaktualizowałem go w zaktualizowanym
— skrócie

2
zepsuty od czasu nowego projektu github
— zsitro

Czy istnieje nieskompresowana wersja tego pliku na wypadek, gdyby chciał wypróbować jakieś zmiany? Obecnie jest to skompresowany / zaszyfrowany kod.
— Anmol Saraf

Odpowiedź została zaktualizowana o najnowszą wersję od @randomor
— Cosmo Harrigan.

6
Dodałem dalsze ulepszenia, aby usunąć metadane nagłówka, akcję nagłówka, pasek po prawej stronie i stopkę (październik 2014): gist.github.com/BenjaminKlatt/fefb0c53fbe16bc537c3
— Benjamin

13

Oto super proste rozwiązanie: po prostu zaznacz cały tekst w pliku Readme, który chcesz wydrukować, a następnie wydrukuj i wybierz opcję „Tylko zaznaczony tekst”.

To działało doskonale w Chrome (w tym obrazy) i nie wymagało javascript ani zewnętrznych witryn ani pobierania lub tworzenia oprogramowania.

Oto, co przetestowałem na: https://github.com/kroitor/gjk.c/blob/master/README.md


2
Miły! Ta opcja w Chrome nazywa się teraz More settings- Selection only. Obsługuje formatowanie i nie wymaga dodatkowego oprogramowania ani pobierania pliku przeceny.
— Jerry101

W przypadku drukowania z przeglądarki Firefox wybierz treść, którą chcesz wydrukować, przejdź do opcji „Drukuj” z menu „Plik” (lub naciśnij ctrl + p), a następnie wybierz opcję „Wybór”.
— myesain

8

Jeśli jesteś użytkownikiem komputera Mac, kolejną wspaniałą możliwością jest skorzystanie z funkcji „Reader” w przeglądarce Safari.

Po prostu otwórz plik znacznika i kliknij przycisk „Czytnik” w prawym górnym rogu.

Następnie wydrukuj stronę za pomocą polecenia „CMD + P”.

Działa jak marzenie.


Wydaje się, że to już nie działa na najnowszym iOS / Safari :(
— Mauricio Morales

8

Inną opcją jest pandoc . Po zainstalowaniu (obsługuje systemy Windows, Linux i Mac OS), polecenie byłoby podobne do pandoc file.md -f markdown --smart -s -o file.pdf

Następnie wydrukuj wynikowy plik PDF.


Jest też ten konwerter online, który wyprodukował dla mnie najładniejszy wynik: http://www.markdowntopdf.com/

Pandoc ma również demo online.


5

Znalazłem niesamowite narzędzie, które osiąga wyniki drukowania, o które prosiłem: http://plessl.github.com/wkpdf/

Oto cytat z jej witryny internetowej: „ Jeśli chcesz wyrenderować witrynę z wszystkimi lukami graficznymi, aby dokładnie pasowały do ​​widoku w przeglądarce, możesz wyraźnie wymusić użycie arkusza stylów ekranu CSS i włączyć drukowanie obrazów tła, jak w następujący przykład ... ”

Więc pobiegłem:

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

i to było magiczne!


6
Wady: działa tylko na OS X, drukuje bezużyteczny nagłówek i stopkę (prawda? Nie mogę wypróbować tego narzędzia, ponieważ jestem na Linuksie)
— Giovanni Cappellotto

Ze względu na zmiany w OS X firmy Apple, autor nie zajmuje się już wkpdf.
— Chris Miller,

4

Stworzyłem rozszerzenie do Chrome, które robi właśnie to: GitHub Markdown Printer . Jest to rozwiązanie do drukowania plików Markdown dokładnie tak , jak wyglądają w GitHub za jednym kliknięciem .

Kroki:

  1. Zainstaluj rozszerzenie do Chrome
  2. Przejdź do dowolnej strony w GitHub / GitHub Enterprise z podglądem przeceny
  3. Kliknij ikonę GMP, aby otworzyć okno dialogowe drukowania i wydrukuj lub zapisz jako PDF

Sprawdź repozytorium, aby uzyskać więcej informacji.


Rozszerzenie czyta i zapisuje na wszystkich odwiedzanych stronach. Nie jestem pewien, czy to jest bezpieczne
— Vikram Khemlani

2
@VikramKhemlani To ważna obawa, ale zapewniam, że nie robię nic złośliwego. Uprawnienie do odczytu jest wymagane, aby sprawdzić, czy 1) jesteś na githubie i 2) czy istnieje poprawny podgląd przeceny. Uprawnienie do zapisu jest wymagane, aby dodać niestandardowy arkusz stylów w celu usunięcia dodatkowych elementów podczas drukowania. Projekt jest open-source, a kod źródłowy można znaleźć tutaj: github.com/jerry1100/github-markdown-printer/tree/master/src . Jeśli nadal masz wątpliwości, możesz otworzyć kartę sieciową w swoich chrome devtools i stwierdzić, że nigdzie nie wysyłam żadnych danych.
— Jerry Wu


2

sklonuj repozytorium

gem install bluecloth
  • renderuj pliki markdown do html
  • otwórz plik w systemie plików w przeglądarce
  • drukować z przeglądarki

http://deveiate.org/projects/BlueCloth

przykłady api można znaleźć tutaj: 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()) }mam stronę HTML do obejrzenia, ale nie ma żadnego formatowania ani kolorowania z GitHub. To jest kluczowa część drukowania ładnej wersji, którą widzę w mojej przeglądarce, czy BlueCloth jest do tego odpowiednim narzędziem? Jak to?
— pulkitsinghal

2

Polecam zrobić zdjęcie za pomocą http://awesomescreenshot.com/ , a następnie przyciąć zdjęcie i wydrukować (właśnie to zrobiłem i u mnie zadziałało :).


Nie jest jeszcze obsługiwany w mojej przeglądarce, z pewnością przetestuję poprawność tego rozwiązania, gdy będzie dostępne i zagłosuję, jeśli faktycznie działa.
— pulkitsinghal

1

Super łatwy sposób, który nie wymaga niczego więcej niż Chrome:

Możesz sfałszować klienta użytkownika, mówiąc, że jesteś urządzeniem mobilnym, aby uzyskać ładną wersję do druku.

Sposób, w jaki to robię - jest wiele sposobów - używam Chrome, funkcji „Emulacja” programu Chrome devTools do emulacji urządzenia z Androidem, np. Samsung Note 3, a następnie w podsekcji ekranu usuwam „Emuluj ekran”, aby uzyskać w pełnej rozdzielczości, potem drukuję.


1

Innym sposobem jest po prostu pobranie przeceny z GitHub lub Bit Bucket i otwarcie go za pomocą eclipse. Otrzymasz kartę podglądu w okienku edytora. Z menu Plik wybierz Drukuj. Prosty sposób, jednak pozwalam sobie na założenie, że masz już zainstalowane eclipse, zwykle większość programistów je ma.

BR


1

Spróbuj przyczepności.

pip install grip
grip markdown.md

Następnie jest hostowany na porcie lokalnym. Następnie możesz drukować lub zapisywać w formacie PDF za pomocą natywnego okna dialogowego drukowania systemu operacyjnego z ulubionej przeglądarki.

Zobacz tutaj .



0

Jeśli masz konto Instapaper , przejdź do pliku README.md, zapisz łącze w Instapaper, a następnie otwórz opcję „tekst” w Instapaper na tym łączu. Większość „bałaganu” zostaje usunięta, a strona dobrze się drukuje.


0

Prosty hack:

Otwieram plik przecen w czymś takim jak Marked lub w narzędziu online Dillinger, a następnie stamtąd drukuję. Niektóre z tych narzędzi pozwalają ustawić formatowanie na Github lub inne style.

Lepszy sposób:

Odkąd po raz pierwszy napisałem powyższą odpowiedź, znalazłem lepszy sposób:

Odkryłem lepszy sposób niż to, co powiedziałem wcześniej.

  1. Git sklonuj swoją wiki do katalogu lokalnego
  2. Użyj konwertera ebooków gitbook i Calibre, aby wygenerować plik PDF zgodnie z instrukcjami na https://github.com/GitbookIO/gitbook

    • Na komputerze Mac, przed uruchomieniem polecenia gitbook pdf, musisz połączyć symboliczne konwersję ebooka z katalogu /Application/calibre.app do odpowiedniego miejsca, używając polecenia takiego jak:

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


0

Użyłem MarkdownPad i wydrukowałem HTML do pisarza PDF. Jeśli masz wersję Pro, możesz bezpośrednio eksportować do formatu PDF.


0

Działa dla przeglądarek Chromium i "aktualnej" struktury strony html GitHub

  1. Utwórz zakładkę
  2. W polu Adres wpisz:
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();

Wybiera tekst Wiki, usuwa i formatuje spis treści, zastępuje treść i wywołuje drukarkę.



0

Po prostu przekonwertuj plik MD do formatu PDF

Możesz pobrać plik .md i przesłać go tutaj, aby przekonwertować go na plik pdf. Które możesz łatwo wydrukować.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.