テキストとマークダウン用のプラグ可能な糸くず。
TextlintはEslintに似ていますが、自然言語で使用するためです。
https://textlint.github.io/にアクセスしてください。
npm install textlint-rule-xxx 。TextLintのクイックツアーについては、Getting Guide:Lisrel:
NPMを使用してtextlintコマンドをインストールできます。
$ npm install textlint --save-dev
要件:
実行しているノードのバージョンがわからない場合は、コンソールでnode -vを実行して調べることができます。
textlintグローバルにインストールしている場合は、各参照ルールもグローバルにインストールする必要があります。textlintをローカルにインストールした場合は、各ルールもローカルにインストールする必要があります。 textlintをローカルにインストールすることをお勧めします。
node.jsとnpmを使用したことがない場合は、以下をご覧ください。

TextLintにはデフォルトのルールがありません!!
.textlintrc.json構成ファイルでtextlintを実行できます。
# Install textlint and rules into local directory
npm install --save-dev textlint textlint-rule-no-todo npx textlint --initインストールされたルールから.textlintrc.jsonファイルを作成します。
npx textlint --init .textlintrc.json次のように作成されます:
{
"rules" : {
"no-todo" : true
}
}textlintを介した糸くずファイル:
npx textlint ./README.md textlint Load .textlintrc.json Current DirectoryおよびLint README.mdから。
CLIの使用方法については、 npx textlint -hを実行します。
$ textlint [options] file.md [file|dir|glob*]
Options:
-h, --help Show help.
-c, --config path::String Use configuration from this file or sharable config.
--ignore-path path::String Specify path to a file containing patterns that describes files to ignore. - default: .textlintignore
--init Create the config file if not existed. - default: false
--fix Automatically fix problems
--dry-run Enable dry-run mode for --fix. Only show result, don't change the file.
--debug Outputs debugging information
--print-config Print the config object to stdout
-v, --version Outputs the version number.
Using stdin:
--stdin Lint text provided on <STDIN>. - default: false
--stdin-filename String Specify filename to process STDIN as
Output:
-o, --output-file path::String Enable report to be written to a file.
-f, --format String Use a specific output format.
Available formatter : checkstyle, compact, jslint-xml, json, junit, pretty-error, stylish, table, tap, unix
Available formatter for --fix: compats, diff, fixed-result, json, stylish - default: stylish
--no-color Disable color in piped output.
--quiet Report errors only. - default: false
Specifying rules and plugins:
--no-textlintrc Disable .textlintrc
--plugin [String] Set plugin package name
--rule [String] Set rule package name
--preset [String] Set preset package name and load rules from preset package.
--rulesdir [path::String] Use additional rules from this directory
Caching:
--cache Only check changed files - default: false
--cache-location path::String Path to the cache file or directory - default: .textlintcache
Experimental:
--experimental Enable experimental flag.Some feature use on experimental.
--rules-base-directory path::String Set module base directory. textlint load modules(rules/presets/plugins) from the base directory.
TextLintを実行するとき、ファイルをターゲットにして、GLOBパターンを使用してLINTを使用できます。渡されたGLOBパラメーターを引用符で囲むようにしてください。
$ npx textlint " docs/** "詳細については、CLIドキュメントを参照してください。
例:
.textlintrc 、AZU/RC-Config-Roaderを介してJSON、YAML、またはJSとしてロードされる構成ファイルです。
次の引数を使用してTextLintを実行します
$ npx textlint --rule no-todo --rule very-nice-rule README.md
次のjsonを含む.textlintrc.jsonを備えたディレクトリでtextlint README.mdを実行することに相当します
{
"rules" : {
"no-todo" : true ,
"very-nice-rule" : true
}
} .textlintrc.jsonファイルで特定のルールのオプションを構成することもできます。
{
"rules" : {
"no-todo" : false , // disable
"very-nice-rule" : {
"key" : " value "
}
}
}たとえば、ここでは、オプション( "key": "value") very-nice-ruleに渡します。
オプションは、次のように.textlintrc.jsonファイルで指定できます。
{
// Allow to comment in JSON
"rules" : {
"<rule-name>" : true | false | object
}
}詳細については、参照してください
TextLintプラグインは、一連のルールとRulesConfigまたはParserのカスタマイズです。
プラグインを有効にするには、「プラグイン」を.textlintrc.jsonに入れます。
// `.textlintrc.json`
{
"plugins" : [
"plugin-name"
] ,
// overwrite-plugins rules config
// <plugin>/<rule>
"rules" : {
"plugin-name/rule-name" : false
}
}docs/plugin.mdを参照してください
TextLintは、デフォルトでMarkDownとPlain Textをサポートしています。
プロセッサプラグインをインストールし、新しいファイル形式のサポートを追加します。
たとえば、htmlを並べたい場合は、プラグインとしてtextlint-plugin-htmlを使用します。
npm install textlint-plugin-html --save-dev
.textlintrc.jsonに"html"を追加します
{
"plugins": [
"html"
]
}
.htmlファイルでtextlintを実行します:
textlint index.html
オプションのサポートされているファイルタイプ:
詳細については、プロセッサプラグインリストを参照してください。
Textlintにはルールが組み込まれていませんが、100以上のプラグ可能なルールがあります。
詳細については、textlintルールのコレクション・textlint/textlint wikiを参照してください。
新しいルールを作成し、wikiに追加する場合:)
一部のルールは、 --fixコマンドラインフラグを使用して修正可能です。
$ npx textlint --fix README.md
# As a possible, textlint fix the content. 
また、ドライランモードをサポートします。
$ npx textlint --fix --dry-run --format diff README.md
# show the difference between fixed content and original content.
コピーしてREADMEに貼り付けることができます。
[ ![ textlint fixable rule ] ( https://img.shields.io/badge/textlint-fixable-green.svg?style=social )] ( https://textlint.github.io/ )次のフォーマッタを使用します。
たとえば、 pretty-errorフォーマッタを使用してください:
$ npx textlint -f pretty-error file.md
@textlint/linter-formatterの詳細。
TextLintをノードモジュールとして使用できます。
$ npm install textlint --save-dev
最小限の使用法:
import { createLinter , loadTextlintrc , loadLinterFormatter } from "textlint" ;
const descriptor = await loadTextlintrc ( ) ;
const linter = createLinter ( { descriptor } ) ;
const results = await linter . lintFiles ( [ "*.md" ] ) ;
// textlint has two types formatter sets for linter and fixer
const formatter = await loadLinterFormatter ( { formatterName : "stylish" } ) ;
const output = formatter . format ( results ) ;
console . log ( output ) ;詳細情報、次のドキュメントをお読みください。
@textlint/kernelは、textlintの低レベルAPIです。ブラウザまたは非node.js環境に役立ちます。
import { TextlintKernel } from "@textlint/kernel" ;
const kernel = new TextlintKernel ( ) ;
const options = {
filePath : "/path/to/file.md" ,
ext : ".md" ,
plugins : [
{
pluginId : "markdown" ,
plugin : require ( "@textlint/textlint-plugin-markdown" )
}
] ,
rules : [
{
ruleId : "no-todo" ,
rule : require ( "textlint-rule-no-todo" ) . default
}
]
} ;
kernel . lintText ( "TODO: text" , options ) . then ( result => {
assert . ok ( typeof result . filePath === "string" ) ;
assert . ok ( result . messages . length === 1 ) ;
} ) ; TextLintには4つの拡張可能なポイントがあります。

ドキュメントを参照してください/
no-todoルールの作成。<!-- textlint-disable -->のようなコメントでエラーを抑制する方法>?Textlint-filter-rule-commentsなどのフィルタールールを使用できます。
詳細については、テキストを無視してtextlintをご覧ください。
詳細については、統合文書を参照してください。
このリポジトリは、Lernaを使用して管理するモノレポです。つまり、以下を含む、同じコードベースからNPMに実際にいくつかのパッケージを公開することを意味します。
これらのモジュールはTextLintの一部です。
| パッケージ | バージョン | 説明 |
|---|---|---|
textlint | TextLintコマンドラインツール自体 | |
@textlint/kernel | TextLintメインロジックモジュール。ユニバーサルJavaScriptです。 | |
@textlint/linter-formatter | TextLint出力FORMATTER | |
@textlint/fixer-formatter | TextLint出力FORMATTER FOR FIXER | |
@textlint/textlint-plugin-markdown | TextLintのマークダウンサポート | |
@textlint/textlint-plugin-text | TextLintのプレーンテキストサポート | |
@textlint/ast-tester | TextLintのASTのコンプライアンステスト | |
@textlint/markdown-to-ast | マークダウンパーサー | |
@textlint/ast-traverse | txtnodeトラバースライブラリ | |
@textlint/text-to-ast | プレーンテキストパーサー | |
@textlint/config-loader | .textlintrc configファイルをロードします |
これらのモジュールは、TextLintルール/プラグインの著者に役立ちます。
| パッケージ | バージョン | 説明 |
|---|---|---|
@textlint/ast-node-types | TextLint AST(要約構文ツリー)タイプ定義 | |
textlint-tester | TextLintルールテストツール | |
textlint-scripts | textlintルールnpm runscripts | |
create-textlint-rule | ビルド構成なしでtextlintルールを作成します |
これらのモジュールは、TextLintとの有用な統合です。
| パッケージ | バージョン | 説明 |
|---|---|---|
gulp-textlint | TextLint用のGulpプラグイン |
これらのモジュールは、モノレポでの内部使用です。
| パッケージ | バージョン | 説明 |
|---|---|---|
@textlint/feature-flag | 機能フラグマネージャー |
TextLintプロジェクトは、セマンティックバージョンに従います。ただし、TextLintはほとんどのSEMVERプロジェクトで違いはありません。
.d.ts )を壊す可能性がありますバグと機能のリクエストについては、問題を作成してください。
プルリクエストはいつでも大歓迎です。
詳細については、寄付ガイドを参照してください。
MIT©AZU
Eslintからコードをコピーします。
ESLint
Copyright (c) 2013 Nicholas C. Zakas. All rights reserved.
https://github.com/eslint/eslint/blob/master/LICENSE
TextLint/Mediaからダウンロードします。
Eslintに感謝します。
TextLint WebサイトはNetlifyによって搭載されています。