Pimp My Markdown (Part II)
Нац НацВизуалочка
Что нужно писателю для полного счастья? Полная тьма!
Поэтому для начала - темный фон и красивая подсветка синтаксиса!
Для этого накатываем два пакетика (dracula-syntax и dracula-ui) (один для подсветки синтаксиса, а второй просто тема, соответственно):

Получается все как-то так:

Мне норм.
Плагинчики
Markdown Preview Enhanced
Чего бы нам еще хотелось? Конечно же видеть во что превращается Markdown на выходе.
Штатные средства работы с Markdown в Атоме довольно скудны, поэтому незаемдлительно ставим markdown-preview-enhanced
(MPE) и сопуствующий пакет language-gfm-enhanced
, попутно не забывая отключить на всякий случай встроенные language-gfm
и markdown-preview
в разделе Packages -> Core Packages.
Что умеет MPE? Да вообще всё, сами посмотрите! Поистине самый лучший набор фич из возможных, траст ми.
Чтобы цвет Preview панельки совпадал с темой (Dracula), которую мы поставили чуть выше, в настройках MPE выбираем тему превью solarized-dark, идем в/Users/$USERNAME/.atom/packages/markdown-preview-enhanced/node_modules/@shd101wyy/mume/styles/preview_theme/solarized-dark.css
и меняем соответствующие значения наcolor:#f8f8f2;background-color:#282a36;
Так. Ну теперь все красиво отрисовывается, экспортится без необходимости лезть в терминал (зайдите в настройки MPE, там очень много всего интересного). С настройками обеих плагинов я думаю вы разберетесь сами, там ничего сложного нет.
linter-remark
Теперь приступим к самому интересному, сделаем нас всех более лучшими писателями!
Для более простой настройки, если вас устроит базовый набор правил (их многим может и должно хватать) - можно поставить linter-markdown прямо из того же Атома и включить три галочки в настройках и перейти к разделу о retext.
- Качаем Atom Beta;
- Качаем Node.js;
- Запускаем Atom;
- Ставим плагин linter-remark, т.к он от написан разработчиком самого remarkjs, чаще обновляется и вообще его православные юзать;
- Настраиваем префикс для npm (а лучше скачайте скрипт, который сделает все за вас и покажет npm’у куда ставить глобальные пакеты еще и без без su привилегий.)
- Делаем source ~/.bashrc в консоли (!)
И можно приступать к установке плагинов уже для самого linter-remark
(в нем каждое доп. правило это отдельный модуль.)
Смотреть все официальные тут, неофициальные тут, а пресеты вот тут, альтернативой будет поискать в npm что-то вроде remark-preset-
или remark-lint-
, там много всякого.
Для примера возьмем один из моих любимых — враппер для write-good, для remarkjs.
- Расчехляем консоль, вбиваем туда
npm install -g remark-lint-write-good
- Открываем a.k.a создаем файл конфигурации в домашней директории
~/.remarkrc
куда скажем, что хотим использовать только что скачанный пакет:

- Открываем Atom с ужасно плохо написанным текстом и видим что-то типа:

Работает!
Настоятельнейше советую ознакомиться с плагинами выше по ссылочкам, иначе зачем это все? Там ну прям очень много интересных штук.
retext & linter-alex
Все вышеперечисленное и вообще весь remark направлен в бóльшей степени только на сохранение единого стиля документа(ции), но что на счет контента?
Тут нам на помощь приходит retext - natural language processor powered by всё теже plugins и разработанный тем же разработчиком.
Идем обратно в редактор, -> Preferences, и там в разделе плагинов вбиваем в поиск linter-alex, который на самом деле и есть немного настроенная сборка retext заболтиво обернутая в плагин для Атома.
Теперь ваш Атом политкорректный! И должен уметь вот так:

Всё? И все это ради гендерно-нейтральных словечек? Никак нет!
Для работы с retext есть куча дополнительных и мега полезных плагинов, например:








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

можно установить возраст вашего среднего читателя как доп. метрику при выдаче ворнингов.

Тут можно найти весь перечень плагинов. В каждом из них указано что и как и в какой файлик (внутри linter-alex) нужно вписать, чтобы плагин заработал.
Может наконец научитесь правильно пользоваться артиклями a и an.

Процесс установки плагинов выглядит примерно вот так (не пугайтесь):
cd /Users/$USERNAME/.atom/packages/linter-alex/node_modules/
npm install retext-overuse
- Открываем файл
index.js
который лежит в/Users/$USERNAME/.atom/packages/linter-alex/
- Добавляем в соответствующее (вы сами поймете) место
var overuse;
- В другое аналогичное (серъезно, там все просто) место
overuse = require('retext-overuse');
- И в третьем (ну тут сложно не найти) вызываем функцию нашего плагина
.use(overuse,{limit: 5})
- ???
- Вы великолепны!
Выглядит сложно, но помните, вы это настраиваете это один раз и забываете, а профит — вечен.
Постараюсь ответить на любые ваши вопросы и помочь с настройкой. Писать или тут в комментарии или в мой твиттер @OMFGNuts или в Телеграм @SuckMyNuts, но помните, что скорее всего на большую часть ваших вопросов ответит Google и открытые/закрытые issue в соответствующем репозитории