Das Pluggable -Lining -Tool für Text und Markdown.
Textlint ähnelt Eslint, aber es ist für die Verwendung mit natürlicher Sprache.
Besuchen Sie https://textlint.github.io/.
npm install textlint-rule-xxx .Für eine kurze Tour durch Textlint finden Sie unseren Gehen Sie an.
Sie können den Befehl textlint über NPM installieren:
$ npm install textlint --save-dev
Anforderungen :
Wenn Sie nicht sicher sind, welche Version von Knoten Sie ausführen, können Sie node -v in Ihrer Konsole ausführen, um es herauszufinden.
textlint installiert haben, müssen Sie jede Referenzregel auch global installieren.textlint lokal installiert haben, müssen Sie jede Regel auch lokal installieren. Wir empfehlen, textlint lokal zu installieren.
Wenn Sie Node.js und NPM noch nie verwendet haben, sehen Sie sich Folgendes an:

Textlint hat keine Standardregeln !!
Sie können Textlint mit .textlintrc.json -Konfigurationsdatei ausführen.
# Install textlint and rules into local directory
npm install --save-dev textlint textlint-rule-no-todo npx textlint --init -Befehl erstellen .textlintrc.json -Datei aus installierten Regeln.
npx textlint --init .textlintrc.json wird so erstellt:
{
"rules" : {
"no-todo" : true
}
}Lintdateien über Textlint:
npx textlint ./README.md textlint laden .textlintrc.json aus dem aktuellen Verzeichnis und Lint README.md .
Führen Sie npx textlint -h aus, um Informationen zur Verwendung der CLI zu verwenden.
$ 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.
Beim Ausführen von Textlint können Sie Dateien mit den Glob -Mustern auf FININT abzielen. Stellen Sie sicher, dass Sie jeden Glob -Parameter beischließen, den Sie in Anführungszeichen übergeben.
$ npx textlint " docs/** "Weitere Informationen finden Sie unter CLI -Dokumentation.
Beispiel:
.textlintrc ist eine Konfigurationsdatei, die als JSON, YAML oder JS über Azu/RC-Config-Loader geladen wird.
Ausführen von Textlint mit den folgenden Argumenten
$ npx textlint --rule no-todo --rule very-nice-rule README.md
ist gleichbedeutend mit dem Ausführen textlint README.md in einem Verzeichnis mit einem .textlintrc.json mit folgenden JSON
{
"rules" : {
"no-todo" : true ,
"very-nice-rule" : true
}
} Sie können auch Optionen für bestimmte Regeln in Ihrer .textlintrc.json -Datei konfigurieren.
{
"rules" : {
"no-todo" : false , // disable
"very-nice-rule" : {
"key" : " value "
}
}
} Zum Beispiel übergeben wir die Optionen ("Schlüssel": "Wert") an very-nice-rule .
Optionen können in Ihrer .textlintrc.json -Datei wie folgt angegeben werden:
{
// Allow to comment in JSON
"rules" : {
"<rule-name>" : true | false | object
}
}Weitere Informationen finden Sie unter
Ein Textlint -Plugin ist eine Reihe von Regeln und Regeln oder Anpassung an Parser.
Um Plugin zu aktivieren, geben Sie den "Plugin-Namen" in .textlintrc.json ein.
// `.textlintrc.json`
{
"plugins" : [
"plugin-name"
] ,
// overwrite-plugins rules config
// <plugin>/<rule>
"rules" : {
"plugin-name/rule-name" : false
}
}Siehe Docs/Plugin.md
TextLint unterstützt standardmäßig Markdown und Klartext.
Installieren Sie das Processor -Plugin und fügen Sie neue Dateiformatunterstützung hinzu.
Wenn Sie beispielsweise HTML FININT FININT FININT möchten, verwenden Sie Textlint-Plugin-HTML als Plugin.
npm install textlint-plugin-html --save-dev
Fügen Sie .textlintrc.json "html" hinzu
{
"plugins": [
"html"
]
}
Führen Sie TextLint auf .html -Dateien aus:
textLint index.html
Optional unterstützte Dateitypen:
Weitere Informationen finden Sie unter der Liste der Prozessor -Plugin -Liste.
TextLint hat keine integrierten Regeln, aber es gibt mehr als 100 steckbare Regeln:
Weitere Informationen finden Sie in einer Sammlung von Textlint -Regel · Textlint/Textlint Wiki.
Wenn Sie eine neue Regel erstellen und sie dem Wiki hinzufügen :)
Einige Regeln können mit dem Befehlszeilenflag --fix behoben werden.
$ npx textlint --fix README.md
# As a possible, textlint fix the content. 
Unterstützen Sie auch den Trockenlaufmodus.
$ npx textlint --fix --dry-run --format diff README.md
# show the difference between fixed content and original content.
Sie können Ihren Readme kopieren und einfügen.
[ ![ textlint fixable rule ] ( https://img.shields.io/badge/textlint-fixable-green.svg?style=social )] ( https://textlint.github.io/ )Verwenden Sie die folgenden Formatters:
ZB verwenden Sie pretty-error Formatierer:
$ npx textlint -f pretty-error file.md
Weitere Details in @textlint/linter-formatter.
Sie können Textlint als Knotenmodul verwenden.
$ npm install textlint --save-dev
Minimale Verwendung:
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 ) ;Weitere Details Informationen finden Sie in den folgenden Dokumenten:
@TextLint/Kernel ist eine API mit niedriger Ebene für Textlint. Es ist nützlich für die Browser- oder Nicht-Node.js-Umgebungen.
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 hat vier erweiterbare Punkte:

Bitte beachten Sie die Dokumente/
no-todo Regel.<!-- textlint-disable --> ?Sie können die Filterregel wie Textlint-Filter-Rule-Comments verwenden.
Weitere Informationen finden Sie unter Ignorieren von Text · Textlint.
Weitere Informationen finden Sie in Integrations -Dokument.
Dieses Repository ist ein Monorepo, das wir mit Lerna verwalten. Das bedeutet, dass wir tatsächlich mehrere Pakete an NPM aus derselben Codebasis veröffentlichen, einschließlich:
Diese Module sind Teile von Textlint.
| Paket | Version | Beschreibung |
|---|---|---|
textlint | Textlint -Befehlszeilenwerkzeug selbst | |
@textlint/kernel | Textlint -Hauptlogikmodul. Es ist universeller JavaScript. | |
@textlint/linter-formatter | Textlint -Ausgangsformatierer | |
@textlint/fixer-formatter | Textlint -Ausgangsformatierer für Fixer | |
@textlint/textlint-plugin-markdown | Markdown -Unterstützung für Textlint | |
@textlint/textlint-plugin-text | Klartextunterstützung für Textlint | |
@textlint/ast-tester | Compliance -Tests für Textlints AST | |
@textlint/markdown-to-ast | Markdown -Parser | |
@textlint/ast-traverse | TXTNODE Traverse Library | |
@textlint/text-to-ast | Einfacher Text -Parser | |
@textlint/config-loader | Laden Sie .TextLinTRC -Konfigurationsdatei |
Diese Module sind nützlich für Textlint Rul/Plugin -Autor.
| Paket | Version | Beschreibung |
|---|---|---|
@textlint/ast-node-types | Textlint AST (abstrakte Syntaxbaum) Typdefinition | |
textlint-tester | TEXTLINT RELE -Testwerkzeuge | |
textlint-scripts | Textlint-Regel NPM Run-Scripts | |
create-textlint-rule | Erstellen Sie die Textlint -Regel ohne Build -Konfiguration |
Diese Module sind nützliche Integration in Textlint.
| Paket | Version | Beschreibung |
|---|---|---|
gulp-textlint | Gulp -Plugin für Textlint |
Diese Module sind im Monorepo interner Gebrauch.
| Paket | Version | Beschreibung |
|---|---|---|
@textlint/feature-flag | Feature Flag Manager |
Textlint -Projekt folgen der semantischen Versioning. TextLint unterscheidet sich jedoch bei den meisten SEMVER -Projekten nicht.
.d.ts ) brechenFür Fehler und Funktionsanfragen erstellen Sie bitte ein Problem.
Pull -Anfragen sind immer willkommen.
Weitere Informationen finden Sie unter Mitarbeitern.
MIT © Azu
Kopieren Sie einen Code von Eslint.
ESLint
Copyright (c) 2013 Nicholas C. Zakas. All rights reserved.
https://github.com/eslint/eslint/blob/master/LICENSE
Laden Sie von TextLint/Media herunter.
Vielen Dank an Eslint.
Die TextLint -Website wird von Netlify betrieben.