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

#설치 수동

[2024-10-08 Tue 15:46]

 sudo snap remove vale
 wget https://github.com/errata-ai/vale/releases/download/latest/vale_3.7.1_Linux_64-bit.tar.gz
 tar -xf vale_3.7.1_Linux_64-bit.tar.gz
 cp vale ~/.local/bin
 vale --version

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)을 지원하며, 고도로 사용자 정의할 수 있습니다.

  • [X] 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.

  • [X] 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).

  • [X] 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.

| Tool | Extensible | Checks | Supports Markup | Built With | License | |------------|----------------------|-----------------|-------------------------------------------------------------------------|------------|--------------| | Vale | Yes (via YAML) | spelling, style | Yes (Markdown, AsciiDoc, reStructuredText, HTML, XML, Org) | Go | MIT | | textlint | Yes (via JavaScript) | spelling, style | Yes (Markdown, AsciiDoc, reStructuredText, HTML, Re:VIEW) | JavaScript | MIT | | RedPen | Yes (via Java) | spelling, style | Yes (Markdown, AsciiDoc, reStructuredText, Textile, Re:VIEW, and LaTeX) | Java | Apache-2.0 | | write-good | Yes (via JavaScript) | style | No | JavaScript | MIT | | proselint | No | style | No | Python | BSD 3-Clause | | Joblint | No | style | No | JavaScript | MIT | | alex | No | style | Yes (Markdown) | JavaScript | MIT |

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 에 집중하면 된다. 되도록이면 함수형 언어로 필요한 핵심에 접근하면 에너지를 줄일 수 있다.

caption="<span class="figure-number">Figure 1: 비교표" width="100%" >

Related-Notes

References