Цифровой садик - приветственная

Цифровой садик - приветственная | Полный список всего, что тут есть | RSS | Подписаться через follow.it

18.09.2022

vale

Как обычно, заметки о том, за что зацепилось. Задачи написать исчерпывающее - нет.

https://vale.sh/docs/ - вроде как, самый гибкий и актуальный из нынешних линтеров для текста. Меня интересует в варианте cli, который бесплатен и открыт.

Словарики

Конкретная папка задаётся в конфиге строкой

Vocab = SomeName

И Somename должно быть подпапкой папки Vocab в StylesPath.

В папке SomeName ожидаются два файла — accept.txt и reject.txt.

The effects of using a custom Vocab are as follows:

  • Entries in accept.txt are added to every exception list in all styles listed in BasedOnStyles—meaning that you now only need to update your project’s vocabulary to customize third-party styles (rather than the styles themselves).
  • Entries in accept.txt are automatically added to a substitution rule (Vale.Terms), ensuring that any occurrences of these words or phrases exactly match their corresponding entry in accept.txt.
  • Entries in reject.txt are automatically added to an existence rule (Vale.Avoid) that will flag all occurrences as errors.

This means that your exceptions can be developed independent of a style, allowing you to use the same exceptions with multiple styles or switch styles without having to re-implement them.

The entries are case-sensitive and may also be regular expressions.

Два варианта для случаев, когда учитывать регистр не особо надо:

(?i)MongoDB
[Oo]bservability

Первый — а без разницы, какой там где регистр, хоть mOnGoDb пиши. Во втором случае есть выбор между прописной и строчной первой буквой.

Ещё вариант уже для конфига:

BasedOnStyles = Vale

Vale.Terms = NO

Пишут, эффект примерно как от спеллчекера.

На этом месте я ещё отдельно тихо грущу про регэкспы для всех наших парадигм склонения-спряжения. Скорее всего, писать основу и оставлять сколько-то символов на варианты.

Ignore files are for style creators while vocabularies are for style users. If you’re developing or maintaining a style, you may still want to include a custom spelling rule—MyStyle.Spelling—that packages its own ignore files. As a user of styles, vocabularies should be able to replace the use of ignore files completely.

Стили

https://vale.sh/docs/topics/styles/

Стиль - папка в StylePath, которая содержит YAML-файлы (c расширением .yml) с правилами.

Шаблончик такого файла:

# All rules should define the following header keys:
#
# `extends` indicates the extension point being used (see below for information
# on the possible values).
extends: existence
# `message` is shown to the user when the rule is broken.
#
# Many extension points accept format specifiers (%s), which are replaced by
# extracted values. See the extension-specific sections below for more details.
message: "Consider removing '%s'"
# `level` assigns the rule's severity.
#
# The accepted values are suggestion, warning, and error.
level: warning
# `scope` specifies where this rule should apply -- e.g., headings, sentences, etc.
#
# See the Markup section for more information on scoping.
scope: heading
# `link` gives the source for this rule.
link: 'https://errata.ai/'
# The number of times this rule should raise an alert.
#
# By default, there is no limit.
limit: 1

То бишь, коротенько шаблон:

extends: existence
level: warning
scope: heading
link: 'https://errata.ai/'
limit: 1

Конфиг

Прихватывала частично, что глянулось.

  • Format-specific sections apply their settings only to files that match their associated glob pattern. For example, [*] matches all files while [*.{md,txt}] only matches files that end with either .md or .txt. You can have as many format-specific sections as you’d like and settings defined under a more specific section will override those in [*].
  • specifies the minimum alert severity that Vale will report. The options are “suggestion”, “warning”, or “error” (defaults to “warning”).
  • specifies styles that should have all of their rules enabled.
  • enable certain rules within a style, you can do so on an individual basis.
  • disable rule on an individual basis.
  • change rule severity level.
  • allow to exclude certain block-level sections of text that don’t have an associated HTML tag that could be used with SkippedScopes.
  • allow you to exclude certain inline-level sections of text that don’t have an associated HTML tag that could be used with IgnoredScopes.

Ссылки


Если у вас есть мысли, комментарии, предложения или отклики по поводу этой страницы или этого цифрового сада в целом, напишите мне сообщение через Яндекс.Форму или на agnessa@agnessa.pp.ru. Мне ооочень интересно!

Задонатить.


An IndieWeb Webring 🕸💍