Как печатать с GitHub

99

Если я хочу напечатать файл уценки из GitHub так, как он отображается на экране, например: https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

Тогда как я могу этого добиться? Какой код мне нужно изменить на результирующей странице github html (которую я сохраняю), чтобы распечатка учитывала внешний вид уценки?

Пока что единственный ключ, который у меня есть, - это: https://makandracards.com/makandra/4947-how-to-print-github-wiki-pages Но это скорее утилитарный (непрограммный) обходной путь, который не Это действительно работает, потому что используемый интерпретатор уценки не так прост, как тот, который работает на сайтах GitHub, поэтому он возится.

Pulkitsinghal
источник

Ответы:

34

Использование GitPrint - отличный способ напрямую печатать файлы из Github.

Сураб
источник
7
GitPrint, похоже, обслуживает пустые файлы PDF. Это может быть временная проблема, но, тем не менее, инструмент бесполезен, если он ненадежен.
Ragnar123
21
обратите внимание, что эта опция не будет работать, если вы пытаетесь печатать из частного репозитория Github.
Джейсон Уиллер,
3
GitPrint также искажает форматирование, делая (извините за каламбур) его бесполезным.
jzions
7
GitPrint не работает. Есть несколько открытых проблем, связанных с тем, что они просто не работают над их проблемами на github
CodingYourLife
5
Я могу подтвердить, что GitPrint больше не работает = (
Мадео
65

Вот букмарклет, который мне отлично подходит:

  1. Скопируйте содержимое букмарклета Gist, воспроизведенное ниже в качестве резервной копии.
  2. Создайте новую закладку на панели инструментов вашего браузера, дайте ей подходящее имя.
  3. Поместите эту одну строку кода в поле URL.

Если вы сейчас перейдете на страницу Markdown в Github и нажмете закладку, она переформатирует страницу и изменит CSS так, чтобы при печати он выглядел так же, как на экране. Теперь просто распечатайте страницу.

Содержание букмарклета:

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
Я обнаружил, что этот букмарклет неправильно удаляет заголовок Github для вошедших в систему пользователей, поэтому я обновил его в обновленном виде здесь
JKnight
2
сломан, так как новый дизайн github
zsitro
Есть ли где-нибудь несжатая версия этого файла на случай, если я захочу опробовать некоторые правки? На данный момент это весь сжатый / зашифрованный код.
Анмол Сараф
Ответ обновлен последней версией от @randomor
Cosmo
6
Я добавил дополнительное улучшение для удаления метаданных заголовка, действия заголовка, правой боковой панели и нижнего
Бенджамин
14

Вот очень простое решение: просто выберите весь текст в файле readme, который вы хотите распечатать, затем распечатайте и выберите «Только выделенный текст».

Это отлично работало в Chrome (включая изображения) и не требовало javascript, внешних сайтов или загрузки или создания программного обеспечения.

Это то, что я тестировал: https://github.com/kroitor/gjk.c/blob/master/README.md

Срекель
источник
2
Ницца! Параметр в Chrome теперь называется More settings- Selection only. Он поддерживает форматирование и не требует дополнительного программного обеспечения или загрузки файла уценки.
Jerry101
При печати из Firefox выберите контент, который вы хотите распечатать, откройте опцию «Печать» в меню «Файл» (или нажмите ctrl + p), затем выберите опцию «Выбор».
myesain
8

Если вы являетесь пользователем Mac, еще одна прекрасная возможность - использовать функцию «Reader» в веб-браузере Safari.

Просто откройте файл уценки и нажмите кнопку «Читатель» в правом верхнем углу.

Затем просто распечатайте страницу с помощью команды «CMD + P».

Работает как шарм.

pmuens
источник
Похоже, это больше не работает на последней версии iOS / Safari :(
Маурисио Моралес,
8

Другой вариант - pandoc . После установки (он поддерживает Windows, Linux и Mac OS) команда будет выглядеть примерно так: pandoc file.md -f markdown --smart -s -o file.pdf

Затем распечатайте полученный PDF-файл.


Существует также этот онлайн-конвертер, который произвел на меня самый приятный результат: http://www.markdowntopdf.com/

У Pandoc также есть онлайн-демо.

кицунэ
источник
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

и это было волшебно!

Pulkitsinghal
источник
6
Минусы: он работает только в OS X, печатает бесполезный верхний и нижний колонтитулы (не так ли? Я не могу попробовать этот инструмент, потому что я использую Linux)
Джованни Каппеллотто
А из-за изменений в OS X, внесенных Apple, wkpdf больше не поддерживается автором.
Крис Миллер,
4

Я сделал расширение Chrome, которое делает именно это: GitHub Markdown Printer . Это решение в один клик для точной печати файлов уценки , как они появляются на GitHub.

Шаги:

  1. Установите расширение Chrome
  2. Перейдите на любую страницу GitHub / GitHub Enterprise с предварительным просмотром уценки
  3. Щелкните значок GMP, чтобы открыть диалоговое окно печати и либо распечатать, либо сохранить в формате PDF.

Проверьте репо для получения дополнительной информации.

Джерри Ву
источник
Расширение читает и записывает все страницы, которые вы посещаете. Не уверен, насколько это безопасно,
Викрам Хемлани
2
@VikramKhemlani Это серьезная проблема, но уверяю вас, я не делаю ничего злонамеренного. Разрешение на чтение требуется, чтобы узнать, 1) вы находитесь на github и 2) есть ли действительный предварительный просмотр уценки. Разрешение на запись требуется для добавления настраиваемой таблицы стилей для удаления лишних элементов при печати. Это проект с открытым исходным кодом, и вы можете найти исходный код здесь: github.com/jerry1100/github-markdown-printer/tree/master/src . Если вы все еще сомневаетесь, вы можете открыть вкладку сети в chrome devtools и обнаружить, что я никуда не отправляю никаких данных.
Джерри Ву
3

Я использую расширение браузера github-wiki-print для печати вики-страниц GitHub.

Я думаю, вы могли бы отредактировать его файл manifest.json, чтобы распечатать любой файл уценки в репозиториях GitHub.

Джованни Каппеллотто
источник
2

клонировать репо

gem install bluecloth
  • рендеринг файлов уценки в 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://awesomescreenshot.com/ , затем обрезать изображение и распечатать (я только что сделал это, и у меня это сработало :).

DTrejo
источник
Он еще не поддерживается в моем браузере, я обязательно протестирую это решение, когда оно станет доступным, и проголосую за него, если оно действительно работает.
Pulkitsinghal
1

Супер простой способ, не требующий ничего, кроме Chrome:

Вы можете обмануть пользовательский агент, сообщив, что вы мобильное устройство, чтобы получить красивую версию для печати.

То, как я это делаю - есть много способов - я использую Chrome, функцию «Эмуляция» Chrome DevTools для эмуляции устройства Android, например Samsung Note 3, затем в подразделе экрана я удаляю «Эмуляция экрана», чтобы получить полное разрешение, потом распечатываю.

Жюльен Берубе
источник
1

Другой способ - просто загрузить уценку с GitHub или Bit Bucket и открыть ее с помощью eclipse. Вы получите вкладку предварительного просмотра в панели редактора. В меню файла выберите печать. Простой способ, однако я позволяю себе предположить, что у вас уже установлен eclipse, обычно он есть у большинства разработчиков.

BR

Джит
источник
1

Попробуйте захватить.

pip install grip
grip markdown.md

Затем он размещается на локальном порту. Затем вы можете распечатать или сохранить в PDF через диалоговое окно печати вашей собственной ОС из вашего любимого браузера.

Смотрите здесь .

ozOli
источник
0

http://github.com/github/markup

Вы не упоминаете языковые предпочтения, но это сама библиотека Ruby, которую GitHub использует для рендеринга файлов разметки. Его преимущество заключается в поддержке различных наценок. поддерживаемых GitHub (textile, rdoc и т. Д.). Отрисовка файлов .markdown зависит от парсера уценки redcarpet:

http://github.com/tanoku/redcarpet

Перо П.
источник
0

Если у вас есть учетная запись Instapaper , перейдите к файлу README.md, сохраните ссылку в Instapaper, затем откройте опцию «текст» в Instapaper по этой ссылке. Большая часть «беспорядка» удалена, и страница хорошо распечатывается.

Ральф
источник
0

Простой взлом:

Я открывал файл уценки в чем-то вроде Marked или в онлайн-инструменте Dillinger, а затем печатал оттуда. Некоторые из этих инструментов позволяют установить форматирование на Github или другие стили.

Лучший способ:

Поскольку я впервые написал вышеупомянутый ответ, я нашел лучший способ:

Я нашел способ лучше, чем то, что я сказал ранее.

  1. Git клонировать вашу вики в локальный каталог
  2. Используйте gitbook & Calibre ebook-convert для создания PDF-файла в соответствии с инструкциями в https://github.com/GitbookIO/gitbook

    • На Mac перед запуском команды gitbook pdf необходимо создать символическую ссылку на ebook-convert из каталога /Application/calibre.app в удобное место с помощью такой команды:

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

Роберт Дж. Бергер
источник
0

Я использовал MarkdownPad и распечатал HTML в редакторе PDF. Если у вас Pro, вы можете напрямую экспортировать в PDF.

Тобиас
источник
0

Работает для браузеров Chromium и "текущей" структуры html-страниц GitHub.

  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();

Выбирает текст вики, удаляет и форматирует таблицу содержания, заменяет основное содержание и вызывает принтер.

Crocteamgg
источник
0

Я использую эту страницу http://www.markdownprint.com , она очень проста в использовании и производит уценку в стиле github (что выглядит очень хорошо). Настоятельно рекомендую!

Йохан О
источник
0

Просто конвертируйте файл MD в PDF

Вы можете скачать свой .md-файл и загрузить его сюда, чтобы преобразовать его в файл pdf. Который вы легко можете распечатать.

Нишант Шах
источник