textlintAsciiDoc/Asciidoctorを限定的にサポートするプラグインを書きました。

制限

今のところParagarphStrしかサポートしていません。 他のNodeは単純に無視されるので、HeaderListLinkなどはないものと同じ扱いになっています。

簡単にいうと本文の文章をチェックするルールしか上手く動かないという感じです。

textlintのルールの大体は本文を対象としているので、Collection of textlint ruleに書かれてるルールの8割ぐらいは動くような気がします。

HeaderListのサポートぐらいできたら結構良さそうな気がするので、Pull Request募集中です。

現状はAsciiDoc(Asciidoctor)の文書をtextlintで校正する - 詩と創作・思索のひろば と似ているかもしれません。

インストール

npm install textlint-plugin-asciidoc-loose

使い方

.textlintrc"plugins""asciidoc-loose"を追加すると有効になります。

{
    "plugins": [
        "asciidoc-loose"
    ]
}

以下の拡張子をAsciidocのファイルとして認識しています。

  • “.asciidoc”,
  • “.adoc”,
  • “.asc”

JavaScript Promiseの本Asciidoctorで書かれてるで試しにtextlintでLintしてみたら、エラー位置も正しく普通に動きました。

textlint with asciidoc

注意

最初に書いた制限にあるようにParagarphStrのみなので、Listの中のStrは例外的に無視するみたいなルールが意図と異なる結果になったりする場合もあります。