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.

pulkitsinghal
źródło

Odpowiedzi:

34

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

Sourabh
źródło
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);
Boris Terzic
źródło
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

Srekel
źródło
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.

pmuens
źródło
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.

kitsune
źródło
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!

pulkitsinghal
źródło
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.

Jerry Wu
źródło
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
3

Używam github-wiki-print rozszerzenia przeglądarki do drukowania stron wiki GitHub.

Myślę, że możesz edytować jego plik manifest.json , aby wydrukować dowolny plik przeceny w repozytoriach GitHub.

Giovanni Cappellotto
źródło
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

Jed Schneider
źródło
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 :).

DTrejo
źródł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ę.

Julien Bérubé
źródło
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

Jeet
źródło
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 .

ozOli
źródło
0

http://github.com/github/markup

Nie wspominasz o preferencjach językowych, ale jest to biblioteka Ruby, której GitHub używa do renderowania plików znaczników. Ma tę zaletę, że obsługuje różne znaczniki obsługiwane przez GitHub (tekstylia, rdoc itp.). Renderowanie plików .markdown jest zależne od parsera redcarpet markdown:

http://github.com/tanoku/redcarpet

Pero P.
źródło
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.

Ralph
źródło
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

Robert J Berger
źródło
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.

Tobias
źródło
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ę.

crocteamgg
źródło
0

Używam tej strony http://www.markdownprint.com , bardzo prostej w użyciu i produkującej przeceny w stylu github (który wygląda naprawdę dobrze). Wysoce zalecane!

Johan O
źródło
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ć.

Nishant Shah
źródło