Markdown Viewer


154

Я нашел файл, отформатированный с помощью Markdown. Не могли бы вы, ребята, предложить, какой просмотрщик я мог бы использовать для просмотра файлов такого типа? Надеюсь, один без графического интерфейса (если это возможно)

Обновление Я действительно искал средство просмотра, которое могло бы анализировать формат файла разметки, который не нуждается ни в каком преобразовании. Но что-то близкое к этому должно быть в порядке.


5
Файл уценки может быть прочитан, когда вы открываете его в редакторе, вам не нужны навороченные инструменты для его чтения. Для чего вы хотите / в каком формате вы хотите, чтобы он был в?
Кастерма

1
Существует много версий «уценки». Технически, LaTeX, HTML - это уценки, а также курсив, жирный жирный курсив и ссылки на USE ...
vonbrand

1

15
@vonbrand LaTeX и HTML являются маркировать на языках. Markdown - это определенный «язык» форматирования текста (хотя вы правы, что существует несколько вариантов, в том числе тот, который используется на сайтах Stack Exchange, подобных этому). Название Markdown - это шутка, поскольку оно позволяет вам делать много разных вещей, которые можно сделать с помощью языка разметки, без «разметки» (т. Е. Добавления тегов) в ваш текст (по большей части).
Лоуренс Гонсалвес

Ответы:


37

Следующий веб-сайт предоставляет инструмент, который будет переводить уценку в HTML:

http://daringfireball.net/projects/markdown/

После того, как вы конвертируете файл в HTML, есть несколько инструментов командной строки, которые можно использовать для просмотра файла. Используя тестовый файл, который содержит форматированный текст уценки, я обнаружил, что следующее работает хорошо.

$ wget http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip
$ unzip Markdown_1.0.1.zip
$ cd Markdown_1.0.1/
$ ./Markdown.pl ~/testfile.markdown | html2text

html2text - это один из многих инструментов, которые вы можете использовать для просмотра текста в формате html из командной строки. Другой вариант, если вы хотите получить более приятный вывод, это использовать lynx :

$ ./Markdown.pl ~/testfile.markdown | lynx -stdin

Если вы являетесь пользователем emacs, кто-то написал режим для уценки, который доступен здесь: http://jblevins.org/projects/markdown-mode/ . Это обеспечивает хорошую подсветку синтаксиса, как видно на скриншоте на этом сайте.

Все эти инструменты должны быть доступны для Slackware.


8
В VIM вы можете получить подсветку синтаксиса, вручную установив синтаксис на уценку, если он не распознается. :set syntax=mkd
Герт

1
Я никогда бы не подумал использовать -stdinи рысь, очень умный и действительно то, что мне было нужно.
NickO

1
Я проверил это и могу убедиться, что он работает в Linux, но, что интересно, справочная страница сообщает, что такая функция применима только к UNIX. -stdin read the startfile from standard input (UNIX only),
sherrellbc

98

Использование pandoc и lynx без создания временных файлов:

pandoc file.md | lynx -stdin

7
(примечание: pandoc в haskell)
2015 г.,

10
Или простоpandoc -t plain file.md | less
Адриано П

7
затем добавьте это к .bashrc: md() { pandoc "$1" | lynx -stdin; }
HDave

После некоторых попыток я остановился на чтении по умолчанию «README.md», что я обычно и делаю: function mdless {/ usr / bin / pandoc -t plain "$ {1: -README.md} "| / USR / бен / менее; }
bgvaughan

Для решения @ HDave, если вы получаете defining function based on alias 'md', сделайте следующее: Проверьте, для чего оно (например, нужно ли вам / используете его? ): which md(У меня было установлено значение mkdir -p). Нет? Затем добавить это выше линии: unalias md. Получил эту ошибку при использовании zshна Ubuntu 18.
Swivel

44

Я написал облегченное средство просмотра разметки терминала на python, для CLI или как lib:

Он поддерживает, например, таблицы, предупреждения и тонны цветовых тем.

Usage:
mdv [-t THEME] [-T C_THEME] [-x] [-l] [-L] [-c COLS] [-f FROM] [-m] [-M   DIR] [-H] [-A] [MDFILE]

Options:
MDFILE    : Path to markdown file
-t THEME  : Key within the color ansi_table.json. 'random' accepted.
-T C_THEME: Theme for code highlight. If not set: Use THEME.
-l        : Light background (not yet supported)
-L        : Display links
-x        : Do not try guess code lexer (guessing is a bit slow)
-f FROM   : Display FROM given substring of the file.
-m        : Monitor file for changes and redisplay FROM given substring
-M DIR    : Monitor directory for markdown file changes
-c COLS   : Fix columns to this (default: your terminal width)
-A        : Strip all ansi (no colors then)
-H        : Print html version

   введите описание изображения здесь


Мне это очень нравится, но в нем отсутствуют некоторые основные функции удобства использования, такие как: не отображать тему по умолчанию при запуске в качестве приложения (мне действительно все равно, какая тема используется, позвольте мне определить одну в своем псевдониме, а затем просто покажите уценку, пожалуйста), обосновывая текст абзаца (не спрашивая здесь о дополнительных переносах слов, но, по крайней мере, перенос слов), и он также, кажется, не обрабатывает разрывы абзацев должным образом по какой-то странной причине. Это действительно хорошее начало и имеет много полезных функций, таких как подсветка синтаксиса кода, но в основном его нельзя использовать в его текущем состоянии, печально, потому что он так близко.
Томас

Привет спасибо! Кстати, всего лишь через 10 лет я исправил эти проблемы. Если вам все еще интересно, взгляните на вопросы и отзывы о GH.
Красная пилюля

Эй, а как насчет той версии Python 3?
Лукас Соареш

будет делать , как только PY3 готов к POSIX thoughtstreams.io/ncoghlan_dev/...
Red Pill

Жаль, что он по-прежнему не поддерживает светлый фон. (установлено с помощью, pipкак предложено в Readme)
Руслан

42

Примечание : кредиты на ответ @ Джо в переполнении стека.


Вы можете использовать Grip , который отображает Markdown точно так же, как это делает GitHub (он использует API уценки GitHub ).

Установите его с помощью pip:

pip install grip

Чтобы отобразить файл example.md:

grip -b example.md

Как это выглядит:

введите описание изображения здесь


1
Пользователи Arch Linux: Grip - это другой пакет. Делай pip install gripвместо этого.
пр.

Работает как шарм. Я рекомендую это.
some_guy632

30

Это программа с графическим интерфейсом, но я считаю полезным для этой задачи ReText , то есть редактор для Markdown и reStructuredText с режимом предварительного просмотра:

ReText скриншот

Однако, если вам нужно увидеть файл ReText из терминала, одним из вариантов может быть преобразование marddown в html с помощью pandocи просмотр html-копии в lynx:

pandoc file.mkd > file.html ; lynx file.html

редактировать

Для систем * nix доступно еще несколько бесплатных редакторов уценки с предварительным просмотром. Некоторые в официальных репозиториях, другие нет, и у каждого свои сильные и слабые стороны, но как подходящие зрители я хотел бы подчеркнуть следующее:

  • Typora : Он все еще находится в бета-фазе, но пока что он бесплатный (неясно, как будет лицензироваться стабильная версия). Хотя это и не FOSS, он идеально подходит для просмотра разметки, поскольку по умолчанию он работает почти как редактор WYSIWYG («режим предварительного просмотра в реальном времени») с панелью Outline (оглавление), что очень удобно для больших файлов. «Режим исходного кода» имеет подсветку синтаксиса, включая большие шрифты для заголовков и курсив для выделения. И не только экспорт в HTML, ODT и PDF. Также можно импортировать-экспортировать в несколько форматов через pandocинтеграцию.

  • Ghostwriter : только предварительный просмотр HTML (не редактируемый), но также имеет симпатичную панель контура и подсветку синтаксиса. Без параметров импорта, но экспортируйте в несколько форматов с помощью процессоров pandoc и других (MultiMarkdown, Discount или cmark) и проводите проверку орфографии через hunspell/ myspell.

  • MdCharm : аналогично Retext, но поддерживает уценку (дополнительная скидка) и MultiMarkdown. Показать также контурную (ToC) панель.

Для R Markdownпользователей, я должен упомянуть также editR . Это не программа, а пакет R для редактирования / html предварительного просмотра R Markdown в браузере. R Commander и RStudio также позволяют легко просматривать в HTML, PDF или Word.


Я использую исключительно текст. Это еще не подвело меня, но тогда я не использовал его так широко, как некоторые другие. Я использую его исключительно для создания проблем в github (который, к сожалению, использует уценку) и не имеет графического интерфейса для него.
Шириш

Спасибо за отзыв Фрэн, именно то, что я искал. Единственное, что я заметил, что ReText отсутствует, так это функция обновления или «загрузки при изменении», так что вы можете использовать ее вместе с другими редакторами.
Пепел

Очень хороший совет. Также рекомендуется здесь: softwarerecs.stackexchange.com/a/17740 Хранилище было изменено на github: github.com/retext-project/retext
Dr Beco

12

Для тех, кто предпочитает w3m (привязки в стиле vi):

pandoc file.md | w3m -T text/html

Я поместил это в скрипт, mdview.sh, и вставил это в мой путь:

#!/bin/sh
pandoc "$1" | w3m -T text/html

Безусловно, лучшая версия без графического интерфейса: рендеринг сохраняет цвета терминала и выглядит как простая lessкоманда с раскраской.
Ulysse BN


4

Существует также Discount, реализация Дэвидом Парсонсом C текста Markdown Джона Грубера на html языке. Скидка состоит из нескольких утилит командной строки , включая markdown, mkd2html, makepage, mktagsи theme.

http://www.pell.portland.or.us/~orc/Code/discount/

Кроме того, есть реализация уценки в C, использующая грамматику PEG.

https://github.com/jgm/peg-markdown

В Mac OS X вы также можете взглянуть на qlmarkdownгенератор QuickLook для файлов Markdown.


3

Я знаю, что вы сказали, что предпочитаете не-GUI-приложение, но в настоящее время я работаю над GUI-приложением под названием DownMarker, которое делает это. Вы можете найти источник в ртутном хранилище здесь . Вы можете найти автономный исполняемый файл для запуска с моно или .NET здесь .

Предостережение: он далек от завершения и только изредка тестировался на Linux / Mono. Последний тест, который я сделал, был на Mono 2.6. Если вы хотите собрать его самостоятельно, вам потребуется последняя версия Mercurial для клонирования репозитория и MonoDevelop для компиляции приложения.


1
Он открывается на моей машине с Windows 7 64 битами, но он не отображает документ md, он только показывает источник. Тем не менее, удивительно, что моно приложение просто без сбоев работало на моей машине. :)
GmonC


3

Пару комментариев спрашивали или упоминали о возможности использования надстройки браузера. Мне нравится этот подход, потому что я могу редактировать файлы разметки в любом текстовом редакторе Linux (от nano до vim до Kate) и просматривать файлы в Firefox (мой браузер по выбору).

Я просто установил это дополнение к Firefox, и оно работало из коробки на Kubuntu 12.04 и Firefox 33.0. Никаких настроек не требуется.

Markdown Viewer :: Дополнения для Firefox
https://addons.mozilla.org/en-us/firefox/addon/markdown-viewer/

(Мне также нравится ReText, но я бы предпочел, чтобы что-то вроде ReText было реализовано как плагин для Kate. ReText не хватает слишком многих функций, чтобы конкурировать со зрелыми редакторами, такими как Kate.)


Вопрос задали зрителю без графического интерфейса, но мне лично очень нравится это решение.
sauerburger

3

IMHO сильно недооцененный просмотрщик уценки командной строки - markdown-cli .

Монтаж

npm install markdown-cli --global

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

markdown-cli <file>

Особенности

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

  • гораздо лучше обрабатывает плохо отформатированные файлы (аналогично atom, github и т. д .; например, когда перед списками отсутствуют пустые строки)
  • более стабильно с форматированием в заголовках или списках (жирный текст в списках разрывает подсписки в некоторых других средствах просмотра)
  • правильное форматирование таблицы
  • подсветка синтаксиса
  • разрешает ссылки на сноски, чтобы показать ссылку вместо номера сноски (не всем это нужно)

Скриншот

example.png

Недостатки

Я понял следующие проблемы

  • кодовые блоки сглажены (все ведущие пробелы исчезают)
  • перед списками появляются две пустые строки

3

В настоящее время используется mdpв Arch Linux и Termux на Android, инструмент представления уценки.

образ

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

$ mdp {file}.md

Гладкий псевдоним

md() {
  fileName=${1:-"README.md"}
  mdp "$fileName"
}

2

Предполагая, что вы хотите увидеть, как выглядит HTML: Используйте веб-браузер (с надстройкой) в качестве средства просмотра.

Например, для Google Chrome есть TextDown, который также позволяет редактировать файлы прямо в браузере и просматривать предварительный просмотр в реальном времени.

После добавления вам также нужно перейти в chrome: // chrome / extensions / и установить флажок «разрешить доступ к URL-адресам файлов», чтобы вы могли открывать локальные файлы. Предупреждение: если вы сохраняете (shift-ctrl-s), TextDown сохраняет не в файл, который вы открыли, а в папку загрузок.


Существует также это расширение для Firefox, которое вы можете затем запустить, следуя этому .
Уилф

2

Я предлагаю взглянуть на Atom . Это отличный текстовый редактор со встроенным предварительным просмотром уценки. Я обычно не использую режим предварительного просмотра уценки, так как в нем есть серьезная ошибка - разрывы строк (если они не идут парами, которые указывают на <p>содержимое тега) сохраняются в предварительном просмотре. Но режим подсветки синтаксиса настолько хорош (поскольку Markdown оптимизирован для удобства чтения человеком, а цветопередача Atom превосходна), что я обычно заканчиваю чтением файлов уценки в режиме просмотра исходного кода.


2

Readonly Vim с подсветкой Markdown и сворачиванием

С выделением и складыванием и запуском Vim Markdown самое простое решение - вызывать vimв режиме только для чтения с одним vim -Rили (по крайней мере, в Ubuntu) более элегантно:

$ view filename.md

Добавьте следующее в самом низу вашего .vimrcфайла, и вы viewбудете вести себя так же, как lessс дополнительным преимуществом подсветки вашего любимого синтаксиса (не только для уценки!) И свертывания:

" less behaviour for view
" https://unix.stackexchange.com/a/314184/39845

" http://vim.wikia.com/wiki/Using_vim_as_a_syntax-highlighting_pager
function! LessBehaviour()
    if (!&modifiable || &ro)
        set nonumber
        set nospell
        set laststatus=0    " Status line
        set cmdheight=1
        set guioptions=aiMr    " No menu bar, nor tool bar
        noremap u <C-u>
        noremap d <C-d>
        noremap q :q<CR>
    endif
endfunction

" https://vi.stackexchange.com/a/9101/3168
augroup ReadOnly
    au!
    au VimEnter * :call LessBehaviour() 
augroup END

Существует также более строгий less.shсценарий. В моей системе он поставляется в комплекте с vim. Чтобы найти его, используйте:

$ find /usr/share/vim -name less.sh

Однако, в отличие от сценария, указанного выше, сворачивание не будет работать с этим less.sh.




0

Простое решение для большинства ситуаций: скопируйте / вставьте уценку в средство просмотра в «облаке». Вот два варианта:

  1. Dillinger.io
  2. Dingus

Нечего устанавливать! Кроссплатформенность! Кросс-браузер! Всегда доступен!

Недостатки: могут возникнуть проблемы с большими файлами, стандартные проблемы безопасности облачных приложений.


0

Это псевдоним, который инкапсулирует функцию:

alias mdless='_mdless() { if [ -n "$1" ] ; then if [ -f "$1" ] ; then cat <(echo ".TH $1 7 `date --iso-8601` Dr.Beco Markdown") <(pandoc -t man $1) | groff -K utf8 -t -T utf8 -man 2>/dev/null | less ; fi ; fi ;}; _mdless '

объяснение

  • alias mdless='...' : создает псевдоним для mdless
  • _mdless() {...}; : создает временную функцию для последующего вызова
  • _mdless : в конце, вызовите его (функция выше)

Внутри функции:

  • if [ -n "$1" ] ; then : если первый аргумент не нулевой, то ...
  • if [ -f "$1" ] ; then : также, если файл существует и является регулярным, то ...
  • cat arg1 arg2 | groff...: cat отправляет эти два аргумента в сцепление с groff; аргументы:
    • arg1: <(echo ".TH $1 7date --iso-8601 Dr.Beco Markdown"): что-то, что запускает файл и groffбудет понимать как примечания верхнего и нижнего колонтитула. Это заменяет пустой заголовок с -sключа на pandoc.
    • arg2:: <(pandoc -t man $1)сам файл, отфильтрованный pandoc, выводит manстиль файла$1
  • | groff -K utf8 -t -T utf8 -man 2>/dev/null: Конечный объединенный файл groff:
    • -K utf8так groffпонимает код входного файла
    • -t поэтому он правильно отображает таблицы в файле
    • -T utf8 так что вывод в правильном формате
    • -manпоэтому он использует пакет MACRO для вывода файла в manформате
    • 2>/dev/null игнорировать ошибки (в конце концов, это необработанный файл, преобразуемый вручную человеком, мы не заботимся об ошибках до тех пор, пока мы можем видеть файл в не очень уродливом формате).
  • | less: finally, показывает файл, разбивающий его на страницы less(я попытался избежать этого канала, используя grofferвместо него groff, но grofferон не такой надежный, как lessнекоторые файлы, зависает или не отображается вообще. Итак, пропустите еще один канал , какого черта!

Добавьте его в свой ~/.bash_aliases(или похожий)



0

Самый безболезненный для меня способ - использовать mdless gem от Ruby.

  1. Установить рубин

    sudo apt-get install ruby

  2. Установить mdless

    sudo gem install mdless

  3. Открыть файл через mdless

    mdless filename.md


1
mdlessуже был дан в качестве ответа.
Скотт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.