#텍스트린트: #발레

#텍스트린트: #발레

2023-11-08 Note linter notes vale

Why Vale not Textlint for Hangul linter with YAML 한글 Linter 만드는 길

Super-Linter

[2023-07-23 Sun 16:30] https://github.com/marketplace/actions/super-linter

여기에 자연어로 텍스트린터가 있다. 깃허브 액션으로 넣으면 된다.

Vale : Your style, our editor

Vale is a command-line tool that brings code-like linting to prose. It’s fast, cross-platform (Windows, macOS, and Linux), and highly customizable.

Vale은 산문에 코드와 같은 린팅 기능을 제공하는 명령줄 도구입니다. 빠르고, 크로스 플랫폼(Windows, macOS, Linux)을 지원하며, 고도로 사용자 정의할 수 있습니다.

  • Support for markup: Vale has a rich understanding of many markup formats, allowing it to avoid syntax-related false positives and intelligently exclude code snippets from prose-related rules.

  • A highly customizable extension system: Vale is capable of enforcing your style—be it a standard editorial style guide or a custom in-house set of rules (such as those created by GitLab, Homebrew, Linode, CockroachDB, and Spotify).

  • Easy-to-install, stand-alone binaries: Unlike other tools, Vale doesn’t require you to install and configure a particular programming language and its related tooling (such as Python/pip or Node.js/npm).

See the documentation for more information.

NOTE: While all of the options listed below are open-source (CLI-based) linters for prose, their implementations and features vary significantly. And so, the “best” option will depends on your specific needs and preferences.

ToolExtensibleChecksSupports MarkupBuilt WithLicense
ValeYes (via YAML)spelling, styleYes (Markdown, AsciiDoc, reStructuredText, HTML, XML, Org)GoMIT
textlintYes (via JavaScript)spelling, styleYes (Markdown, AsciiDoc, reStructuredText, HTML, Re:VIEW)JavaScriptMIT
RedPenYes (via Java)spelling, styleYes (Markdown, AsciiDoc, reStructuredText, Textile, Re:VIEW, and LaTeX)JavaApache-2.0
write-goodYes (via JavaScript)styleNoJavaScriptMIT
proselintNostyleNoPythonBSD 3-Clause
JoblintNostyleNoJavaScriptMIT
alexNostyleYes (Markdown)JavaScriptMIT

The exact definition of “Supports Markup” varies by tool but, in general, it means that the format is understood at a higher level than a regular plain-text file (for example, features like excluding code blocks from spell check).

Extensibility means that there’s a built-in means of creating your own rules without modifying the original source code.

사용법? 연동법? 그 이전에 변환법

[2023-11-08 Wed 06:33]

왜 Vale 인가?! YAML 포멧 때문이다.

[2023-11-08 Wed 06:45]

확장을 YAML 로 한다는 것은 여러모로 장점이 많다. 마크업을 다양하게 지원하는 것만이 문제가 아니다. 스타일과 단어 체크하자는데 간단한게 좋지 않는가?

왜 그렇다면 Textlint 에 집착했는가? 별 생각이 없었는가?! 일본어 구성이 완벽했기 때문이다. 젠 서비스에 연동되는 것만 보더라도 압도적인 경험이 아닌가? 아름다운 경지에 이르렀다.

그렇다면 시작하는데 무엇인가? 일본에서도 모르겠다만 다시 한다면 Vale 에 적용하는 것을 고려할 지도 모른다. 아직 Vale 를 다 모르지만 완벽하게 포함 가능하면서 더 확장성이 있다면 말이다.

그렇다면 지금 나의 시작은 그저 Vale 로 작업하는게 더 나은 선택이다. 코딩의 몫은 Emacs 와 Elixir 에 집중하면 된다. 되도록이면 함수형 언어로 필요한 핵심에 접근하면 에너지를 줄일 수 있다.

Figure 1: 비교표

Figure 1: 비교표

Related-Notes

References

마지막 수정일자