Линтеры вне кода: как HTML, Markdown и YAML становятся предсказуемыми

Когда я прихожу в новый проект и провожу аудит, почти всегда вижу одну и ту же картину. Код аккуратный, линтеры строгие, CI настроен. Но стоит открыть разметку или конфиги — и начинается творческий беспорядок. Кто-то форматирует по одному, кто-то по другому, кто-то копирует куски из StackOverflow, не особо понимая синтаксис. Получается парадокс: мы защищаем самую очевидную часть системы и игнорируем инфраструктуру, документацию и шаблоны. Хотя по факту это такие же контракты проекта, просто записанные не на языке программирования, а на языках разметки. Со временем я перестал разделять «код» и «не код». Если файл участвует в работе продукта — он должен быть проверяемым. Автоматически. Без надежды на внимательность разработчика. В данной статье я покажу, как именно это выглядит на практике и какие инструменты я использую каждый день.

https://habr.com/ru/articles/1001496/

#линтеры #git_hooks #htmlhint #markdownlint #yamllint #проверка_кода #ci #качество_кода #контроль_качества #code_style

Линтеры вне кода: как HTML, Markdown и YAML становятся предсказуемыми

В прошлой статье я подробно разбирал линтинг кода: как подключить ESLint, как автоматизировать проверки через хуки, как сделать так, чтобы в репозиторий физически не попадал «грязный» код. Вот ...

Хабр

Any of you using #yamllint?

Is there an official or maintained 3rd party #docker image?

I used to use cytopia/yamllint which has been last been update > 1 year ago.

Or is there an even better tool to fail early on syntactical errors in YAML?

Is it just me or is yamllint's `line-length` check useless? Trying to enable `allow-non-breakable-words: true` to allow really long URLs, but it's still flagging those lines.
#yamllint

#yamllint verifies the syntax and style of #YAML data.

yamllint parses YAML files to find syntax errors, as well as stylistic issues. yamllint supports enabling rules for many stylistic elements, including newline before EOF, ordering of keys, indentation, comments, separators, trailing whitespace, implicit truthy values, and more. yamllint can be easily integrated with several editors and CI tools.

Website 🔗️: https://github.com/adrienverge/yamllint

apt 📦️: yamllint

#free #opensource #foss #fossmendations

GitHub - adrienverge/yamllint: A linter for YAML files.

A linter for YAML files. Contribute to adrienverge/yamllint development by creating an account on GitHub.

GitHub

祝初 #Mastodon 🦊 🐦 👢!

https://github.com/tootsuite/mastodon/pull/5664

【まとめ】#誤字修正をPRする場合の流れ

1. リポジトリを Fork
2. Fork先のconfig/locales/ja.ymlを修正する
3. #YAMLlint に修正を貼り付けてパースのチェックを行う
4. 正規化が必要な場合はbundle exec i18n-tasks normalizeを実行
5. コミット時にブランチを切る
6. 本家にPRしてチェックしてもらう

Fix #5652 - Notify too short when abbrev in JA by KEINOS · Pull Request #5664 · tootsuite/mastodon

Fix #5652 of the notification message to be understandable when abbreviated.

#Mastodon の誤字修正「#日本語ローカライズ 用の#YAML ファイルを #バリデーター にかけてみてはどうか」とアドバイスが。🙏🏽

#YAMLlint The YAML #Validator
http://www.yamllint.com/

確かに「クォートが足りないよ」と言われた。やはり必要だよね。

バリデーションにかけると同時にクォートも統一とかしてくれるみたい。こりゃべんりだ。

とは言え、最初にコミットしたものを YAMLlint にかけるとパスするんだよなぁ・・・。

誤字修正だけでも一難去ってまた一難。勉強不足だわー。

#もうYAML

YAMLlint - The YAML Validator

Validate and Verify your YAML documents, optimized for Ruby on Rails