Мне интересно, есть ли утилита командной строки для получения файла Markdown со вкусом GitHub и рендеринга его в HTML.
Я использую вики GitHub для создания контента сайта. Я клонировал репозиторий на своем сервере и хотел бы обработать его в обычном HTML. Для меня важно, что то, что появляется на GitHub, именно так и должно выглядеть для моего сайта. Я также хотел бы использовать огороженные блоки с ~~~
, поэтому я бы предпочел не использовать только стандартный синтаксис Markdown.
Я немного заглянул в предварительный просмотр JavaScript, думая, что смогу подключить его к Node.js, но они говорят, что он устарел. Я посмотрел на репозиторий redcarpet, но он не похож на интерфейс командной строки.
Я накатил свое собственное решение, однако, поскольку ни одно решение здесь явно не лучше, чем другие, я оставлю вопрос без выбранного ответа.
--out
аргумент в grip для рендеринга в файл HTML вместо браузера, это было бы приемлемо?--export
опцию, которая отображает GFM и его стили в один файл. Это отвечает на вопрос?Ответы:
Я написал небольшой CLI на Python и добавил поддержку GFM. Это называется Grip (Github Readme Instant Preview) .
Установите его с помощью:
И использовать это просто:
Тогда посетите
localhost:5000
чтобы просмотретьreadme.md
файл в этом месте.Вы также можете указать свой собственный файл:
И изменить порт:
И, конечно же, специально отображать GitHub-Flavored Markdown, опционально с контекстом репозитория:
Известные особенности:
stdin
иstdout
добавление в 3.0.Надеюсь, это поможет кому-то здесь. Проверьте это .
источник
grip
работает прямо из коробки.Я не нашел быстрого и простого метода для Markdown со вкусом GitHub, но нашел немного более общую версию - Pandoc . Он конвертирует из / в ряд форматов, включая Markdown, Rest, HTML и другие.
Я также разработал
Makefile
для преобразования всех файлов .md в .html (в значительной степени к примеру в Writing, Markdown и Pandoc ):источник
<pre/>
тег в исходном коде GFM, Pandoc будет вставлять<br/>
теги для разрывов строк, в то время как GitHub отображает его. он удаляет пробелы, кажется, в противном случае оставляет содержимое в покое.brew install pandoc
gfm
ниmarkdown_github
входные форматы правильно не отображают такие вещи, как блоки кода.Может быть, это может помочь:
Документации не существует, но я получил ее из документации gollum . Глядя на rubydoc.info , похоже, что вы можете использовать:
в вашем коде Ruby. Вы можете легко обернуть это в скрипт, чтобы превратить его в утилиту командной строки:
Выполните это с
./render.rb path/to/my/markdown/file.md
. Обратите внимание, что это небезопасно для использования в производстве без очистки.источник
Он не обрабатывает расширения GitHub, но это лучше, чем ничего. Я считаю, что вы можете расширить модуль для обработки дополнений GitHub.
источник
Возможно, это не то, что вам нужно, но, поскольку вы упомянули Node.js: я не смог найти хороший инструмент для предварительного просмотра документации GitHub Flavored Markdown на моем локальном диске перед их фиксацией в GitHub, поэтому сегодня я создал один на основе Node.js: https : //github.com/ypocat/gfms
Так что, возможно, вы можете использовать showdown.js из него для своей Wiki, если ваш вопрос все еще актуален. Если нет, возможно, другие люди, столкнувшиеся с той же проблемой, что и я, найдут (как и я) этот вопрос и ответ на него.
источник
Для чтения файла README.md в терминале я использую:
Pandoc выводит его в формате HTML, который Lynx отображает в вашем терминале.
Он отлично работает: он заполняет мой терминал, ярлыки показаны ниже, я могу пролистать, и ссылки работают! Хотя есть только один размер шрифта, но цвета + отступы + выравнивание восполняют это.
Установка:
источник
pandoc readme.md -o readme.md.html
и открыть полученный файл.function md { pandoc $@ | lynx -stdin }
GitHub имеет API Markdown, который вы можете использовать.
источник
jq --slurp --raw-input '{"text": "\(.)", "mode": "markdown"}' < README.md | curl --data @- https://api.github.com/markdown > README.html
grip
... вы выбрали. : PИспользуйте помеченные . Он поддерживает GitHub Flavored Markdown, может использоваться как модуль Node.js и из командной строки.
Примером может быть:
источник
^D
?В основном это продолжение ответа @ barry-staes за использование Pandoc . У Homebrew это также есть, если вы на Mac:
Pandoc поддерживает GFM в качестве формата ввода через
markdown_github
имя.Вывод в файл
Открыть в рыси
Откройте в браузере по умолчанию на OS X
Интеграция TextMate
Вы всегда можете перенаправить текущий выбор или текущий документ к одному из вышеперечисленных, как позволяет большинство редакторов. Вы также можете легко настроить среду так,
pandoc
чтобы она заменяла процессор Markdown по умолчанию, используемый в пакете Markdown .Сначала создайте скрипт оболочки со следующим содержимым (я его назову
ghmarkdown
):Затем вы можете установить
TM_MARKDOWN
переменную (в Предпочтения → Переменные)/path/to/ghmarkdown
, и она заменит процессор Markdown по умолчанию.источник
Я создал инструмент, аналогичный функциональности предварительного просмотра Atom, но как отдельное приложение. Не уверен, что это то, что вы ищете, но это может быть полезно. - https://github.com/yoshuawuyts/vmd
источник
pandoc
сbrowser
хорошо работает для меня.Применение:
cat README.md | pandoc -f markdown_github | browser
Установка (при условии, что вы используете Mac OSX):
$ brew install pandoc
$ brew install browser
Или на Debian / Ubuntu:
apt-get install pandoc browser
источник
apt-get isntall pandoc
будет делать, нет необходимости использовать небезопасные, местные вещи, такие как варево.Также см. Https://softwareengineering.stackexchange.com/a/128721/24257 .
Ruby-скрипт, использующий Redcarpet , будет «утилитой командной строки», если у вас будет локальный Ruby
источник
Основываясь на этом комментарии, я написал однострочник, чтобы поразить Github Markdown API, используя
curl
иjq
.Вставьте эту функцию bash в командную строку или в ваш
~/.bash_profile
:А затем, чтобы увидеть, как отображается обработанный HTML-код в браузере:
Замените
open "$HTMLFILE"
на,lynx "$HTMLFILE"
если вам нужно чистое терминальное решение.источник
GitHub (с тех пор) разработал хороший модульный текстовый редактор под названием Atom (на основе Chromium и использует Node.js). модули для пакетов).
Предварительно установленный по умолчанию пакет Markdown Preview позволяет отображать предварительный просмотр на отдельной вкладке с помощью Ctrl+ Shift+ M.
Я не проверял его полный синтаксис, но, поскольку он исходит от GitHub, я был бы очень удивлен, если бы синтаксис предварительного просмотра отличался от их (огражденные блоки используют
~~~
work).Теперь, хотя технически он не основан на командной строке, он использует Node.js и выводит его на DOM- рендерер, который может помочь любому, пытающемуся отобразить HTML на основе синтаксиса GitHub на веб-сервере на основе Node.js, или просто отредактировать ее. / его README.md не в сети.
источник
Мое окончательное решение было использовать Python Markdown . Я свернул свое собственное расширение, которое установило блоки забора.
источник
Существует действительно хороший и простой инструмент для просмотра документов GFM Markdown:
GFMS - Github ароматизированный сервер уценки
Это простой и легкий (не требующий настройки) HTTP-сервер, который вы можете запустить в любом каталоге, содержащем файлы уценки, чтобы просмотреть их.
Особенности:
источник
Мне удалось использовать для этой цели однострочный скрипт Ruby (хотя он должен был находиться в отдельном файле). Сначала выполните эти команды один раз на каждой клиентской машине, с которой вы будете загружать документы:
Затем установите этот скрипт в образе клиента и назовите его
render-readme-for-javadoc.rb
:Наконец, вызовите это так:
ETA: Это не поможет вам с Markdown StackOverflow-flavour, который, похоже, не отвечает этому ответу.
источник
Я использую Pandoc с опцией
--from=gfm
для GitHub Flavored Markdown следующим образом:источник
pandoc: Unknown reader: gfm
. Переход к 2.2.1 исправляет это.sudo apt install pandoc
?Улучшение решения @ barry-stae. Вставьте этот фрагмент в ~ / .bashrc
Затем мы можем быстро просмотреть файл из командной строки. Также хорошо работает в сеансах SSH / Telnet.
источник
Позднее добавление, но у showdownjs есть инструмент CLI, который вы можете использовать для анализа MD в HTML.
источник
Я нашел сайт, который сделает это за вас: http://tmpvar.com/markdown.html . Вставьте свой Markdown, и он отобразит его для вас. Кажется, работает просто отлично!
Тем не менее, он, кажется, не обрабатывает опцию подсветки синтаксиса для кода; то есть
~~~ruby
функция не работает. Это просто печатает «рубин».источник
Улучшая ответы @ barry-stae и @Sandeep для обычных пользователей elinks, вы добавили бы следующее .bashrc:
Не забудьте установить pandoc (и elinks).
источник
Основываясь на ответе Джима Лима , я установил гем GitHub Markdown. Это включало скрипт gfm, который принимает имя файла в командной строке и записывает эквивалентный HTML в стандартный вывод. Я немного изменил это, чтобы сохранить файл на диск, а затем открыть стандартный браузер с помощью launchy:
источник
ruby,
огурцы и т. Д.), По-видимому, распознаются как заборы (поскольку они отображаются в тексте с фиксированной шириной), подсветка синтаксиса отсутствует. Есть идеи почему?Подход «быстрый и грязный» заключается в загрузке HTML-страниц вики с помощью
wget
утилиты, а не клонировании. Например, вот как я скачал вики Hystrix с GitHub (я использую Ubuntu Linux):Первый вызов загрузит страницу входа в вики и все ее зависимости. Второй вызовет все подстраницы на нем. Теперь вы можете просматривать вики, открыв
Netflix/Hystrix/wiki.1.html
.Обратите внимание, что оба вызова
wget
необходимы. Если вы просто запустите второй, то пропустите некоторые зависимости, необходимые для правильного отображения страниц.источник
Я недавно сделал то, что вы хотите, потому что мне нужно было сгенерировать документацию из файлов Markdown, и стиль GitHub довольно хорош. Попробуй это. Написано в Node.js.
GFM
источник