2013-12-16 11:52:11 +0000 2013-12-16 11:52:11 +0000
159
159

Как я могу конвертировать узоры со вкусом Гитуба в формат PDF

Недавно я начал изучать Markdown для работы с документацией, и мне нужно распечатать несколько своих страниц Markdown. Я хотел бы использовать утилиту командной строки, терминала и т.д., которая позволяет мне конвертировать Markdown со вкусом Github в PDF. Она должна иметь правильную подсветку синтаксиса и не должна выглядеть ужасно. Спасибо за помощь.

Ответы (12)

161
161
161
2014-02-27 13:55:56 +0000

Я успешно использовал grip для отображения уценки в Chrome, а затем использовал в Chrome опцию “Сохранить как PDF” в диалоговом окне печати.

pip install grip  
grip your_markdown.md

grip отобразит уценку на localhost:5000 - просто отредактируйте и обновите браузер. Печатайте, когда будете готовы.

Это дало более надёжное представление, чем pandoc, и было легче, чем установка латекса (требуется pandoc для генерации pdf).

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

56
56
56
2015-04-16 01:52:57 +0000

Вы также можете использовать Node.js на основе markdown-pdf

npm install -g markdown-pdf
markdown-pdf /path/to/markdown
```.
43
43
43
2014-02-11 12:22:33 +0000

Взгляните на pandoc . В нём есть подсветка синтаксиса. Это может потребовать внесения (незначительных) изменений в ваш документ, так как он имеет свой собственный вкус разметки, и я не знаю, насколько он соответствует вкусу GitHub.

12
12
12
2014-08-08 02:44:02 +0000

Если файл уценки размещался в репозитории github, то gitprint - интересная опция для создания pdf / печати.

Все, что вам нужно сделать, это заменить github.com на gitprint.com в URL. Вот пример с домашней страницы gitprint.

К сожалению, он не работает с гистами разметки и работает только с файлами разметки в репозитории.

8
8
8
2015-07-10 08:44:36 +0000

Онлайн-конвертер доступен по адресу http://www.markdowntopdf.com Это обеспечивает подсветку синтаксиса из коробки и является самым простым решением, которое я видел до сих пор. Он также корректно обрабатывает другие функции, специфичные для GFM, например таблицы.

6
6
6
2013-12-16 14:08:08 +0000

Как я уже говорил в своем комментарии, Github использует Linguist для подсветки синтаксиса. На Github, вы можете использовать это, чтобы указать подсветку синтаксиса таким образом:

```ruby 
требуют 'redcarpet' 
markdown = Redcarpet.new("Hello World!") 
помещают markdown.to_html 


К сожалению, нет хорошего способа преобразовать Markdown непосредственно в PDF файл с подсветкой синтаксиса. 

### Альтернативы: 

**Вim** : 

Если у вас есть vim, вы можете легко добиться подсветки синтаксиса, запустив следующее из терминала: 

vim -c hardcopy -c quit /path/to/file.ps “`

Или внутри vim:

Это создаст PostScript файл, который может быть преобразован в pdf, например, с помощью ps2pdf:

:hardcopy >/path/to/file.ps

Фонарик-источник :

Если вы хотите вместо этого пойти по маршруту HTML или LaTeX, можно попробовать Source-highlight . Список всех языков, поддерживаемых Source-highlight, можно найти здесь .

Включает несколько примеров команд Source-highlight:

ps2pdf /path/to/file.ps

Используя этот входной файл

И каждый выводит свой собственный HTML файл: Hello1.html Hello2.html Hello3.html

Дополнительные примеры использования Source-highlight можно найти здесь

Windows : Вим , ps2pdf (предоставленные Ghostscript ) и Source-highlight доступны через Cygwin .

6
6
6
2018-08-22 14:39:58 +0000

Для тех, кто работает под Linux, используйте pandoc .

Инсталляция:

sudo apt install pandoc texlive-latex-extra

Да, вам нужен пакет -extra из-за шрифтов.

Конвертировать:

pandoc --from markdown -o output.pdf my-file.md
3
3
3
2015-08-27 03:55:39 +0000

Недавно я создал сервис для конвертирования документов с пометками в PDF. Он поддерживает ароматизированную уценку Github, а также подсветку синтаксиса. Сервис расположен по адресу: http://markdown2pdf.com

1
1
1
2017-10-07 10:49:27 +0000

Я попробовал несколько хромированных плагинов и онлайн-конвертеров. MDtr2PDF является лучшим. Он поддерживает Github-ароматизированную уценку и юникод.

1
1
1
2020-01-17 07:08:10 +0000

Мне больше всего повезло с VSCode и расширением Markdown PDF . Онлайн-конвертеры испортили кодировку для моих файлов или вставили водяные знаки в заголовок.

Uage:

  1. Установите расширение
  2. Откройте MD файл с VSCode, убедитесь, что подсветка Markdown включена
  3. Откройте палитру команд (F1), введите export и выберите markdown-pdf: Export (pdf)

NB: расширение устанавливает и использует локальную версию Chromium в фоновом режиме.

Есть несколько вариантов управления форматированием, все они объясняются на сайте, ссылка на который приведена выше.

1
1
1
2018-05-15 17:41:27 +0000

Я усовершенствовал [ этот фрагмент ]0x3 и для своих личных нужд:

# sudo apt install grip wkhtmltopdf

MD=${1:-README.md}
PDF=${2:-"$MD".pdf}
PORT=8971
DELAY=10

printf "Converting $MD to $PDF on port $PORT\n"
printf "Waiting $DELAY seconds for server to start...\n"

grip "$MD" localhost:$PORT &
sleep $DELAY
wkhtmltopdf http://localhost:$PORT "$PDF"
kill $(ps -eo pid,command | grep grip | grep -v grep | awk '{print $1}')

Сохранить как /usr/local/bin/md2pdf и sudo chmod +x /usr/local/bin/md2pdf после.

Использование:

  • md2pdf преобразует README.md в README.md.pdf

  • md2pdf foo.md преобразует foo.md в foo.md.pdf

  • md2pdf foo.md bar.pdf преобразует foo.md в bar.pdf

1
1
1
2016-09-10 09:56:12 +0000

Мое решение: конвертируйте разметку с pandoc в html (не забудьте использовать css для pandoc для отображения границ таблицы), затем откройте ее с libreoffice, выберите опцию export as pdf.

NB : ни одно из упомянутых здесь и в интернете решений не работало для меня: 1) решения на основе браузера (т.е. grip) добавляют избыточную информацию, например, номера страниц, которые мне не удалось удалить, 2) преобразование pandoc в pdf нарушено, для меня оно генерирует пустую таблицу (возможно, из-за юникода, и да, я настроил его на использование xetex), 3) решения на основе сайта (i. Например, gitprint.com) также добавляют избыточные вещи, такие как github-подобные поля, в то время как мне нужна простая таблица, которую я сгенерировал с помощью awk!