new icon indicating copy to clipboard operation
new copied to clipboard

Добавляет линтер для маркдауна

Open b0gok opened this issue 6 years ago • 9 comments

Closes #61

Сделано

Для линтинга маркдауна добавлен пакет remark-lint, который использует под капотом remark. Для автоматического исправления используется remark-stringify.

Конфигурация для remark-lint находится в файле .remarkrc.js. Раздел plugins является аналогом раздела rules в eslint

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

remark . -o

В результате которой запускается remark-stringify Подробнее

Сейчас добавлены 2 набора правил:

Для понимания что конкретно там за правила используются они расписаны в .remarkrc.js.

Проблемы

  • [ ] При вызове команды lint-md:fix не учитываются настройки из .remarkrc.js для remark-stringify

Дополнительно

Можно исправлять js внутри маркдауна с помощью eslint-plugin-markdown

b0gok avatar Jan 26 '19 14:01 b0gok

Спасибо за пулреквест :) Надо призвать людей и попросить разобраться

pepelsbey avatar Jan 26 '19 14:01 pepelsbey

@b0gok А что именно не работает при фиксе? Если я запускаю на единичный файл npx remark ./content/articles/a11y-users-interview/index.md --o он подтягивает настройки из секции settings в файле .remarkrc.js. Вот только ломает мета шапку. И вместо

---
title: "О доступности интерфейсов из первых уст"
date: "2018-02-19"
---

получается

---

title: "О доступности интерфейсов из первых уст"

## date: "2018-02-19"

И ещё если я в настройках задаю для болда _, он фиксит, а когда я меняю назад на * просто начинает ругатся error Strong should use * as a marker strong-marker remark-lint, очень странно

FFxSquall avatar Jan 28 '19 08:01 FFxSquall

FYI: хотелось бы для болда ** и _ для курсива.

pepelsbey avatar Jan 28 '19 08:01 pepelsbey

FYI: хотелось бы для болда ** и _ для курсива.

** не получится использовать, потому что там нет такой опции.

Для курсива уже стоит _.

b0gok avatar Jan 28 '19 08:01 b0gok

там не такой опции

Но это тогда не маркдаун :О Важно сохранить совместимость, а не просто фантазировать

image

pepelsbey avatar Jan 28 '19 08:01 pepelsbey

Учитывая, что options.strong принимает строку, то может это просто плохо написанная документация и он принимает любую, и ** тоже?

pepelsbey avatar Jan 28 '19 09:01 pepelsbey

@pepelsbey options.strong просто говорит какой символ remark и так знает, что их 2 надо использовать

FFxSquall avatar Jan 28 '19 09:01 FFxSquall

В общем мне кажется у них чето неработает. Они сами в remark-lint пишут

Note: running remark example.md -o or remark example.md --output overwrites example.md and formats it. So, if you’d run that twice (the first pass lints and fixes the markdown, the second pass checks it again), you’d see the output example.md: written as all warnings are now fixed.

На деле если поменять strong на _ то он форматирует документ, если поменять назад, то просто начинает валиться ошибки линтера, что strong должен быть *. Тут либо начинают плагины отрабатывать до настроек и все останавливается на этапе ошибок. Либо форматер не считает что __example__ strong и не форматирует в **exmaple**, а потом линтер ругается. Мне кажется, что второе.

FFxSquall avatar Jan 28 '19 09:01 FFxSquall

@b0gok А что именно не работает при фиксе? Если я запускаю на единичный файл npx remark ./content/articles/a11y-users-interview/index.md --o он подтягивает настройки из секции settings в файле .remarkrc.js. Вот только ломает мета шапку. И вместо

---
title: "О доступности интерфейсов из первых уст"
date: "2018-02-19"
---

получается

---

title: "О доступности интерфейсов из первых уст"

## date: "2018-02-19"

И ещё если я в настройках задаю для болда _, он фиксит, а когда я меняю назад на * просто начинает ругатся error Strong should use * as a marker strong-marker remark-lint, очень странно

Я решил, что он не работает совсем как раз из-за шапки, потому что в одной из итераций он заменял --- на * * *. Из чего я сделал вывод, что не отрабатывает параметр rule.

С настройкой strong я ошибся, там будут два знака ** https://github.com/remarkjs/remark-lint/tree/master/packages/remark-lint-strong-marker

b0gok avatar Jan 28 '19 09:01 b0gok