Alat serat pluggable untuk teks dan penurunan harga.
TextLint mirip dengan Eslint, tetapi untuk digunakan dengan bahasa alami.
Kunjungi https://textlint.github.io/.
npm install textlint-rule-xxx .Untuk tur singkat TextLint, checkout panduan memulai kami: tupai:
Anda dapat menginstal perintah textlint menggunakan NPM:
$ npm install textlint --save-dev
Persyaratan :
Jika Anda tidak yakin versi simpul yang Anda jalankan, Anda dapat menjalankan node -v di konsol Anda untuk mengetahuinya.
textlint secara global, Anda harus menginstal setiap aturan referensi secara global juga.textlint secara lokal, Anda harus menginstal setiap aturan secara lokal juga. Kami sarankan menginstal textlint secara lokal.
Jika Anda belum pernah menggunakan Node.js dan NPM, silakan lihat yang berikut:

TextLint tidak memiliki aturan default !!
Anda dapat menjalankan TextLint dengan file konfigurasi .textlintrc.json .
# Install textlint and rules into local directory
npm install --save-dev textlint textlint-rule-no-todo npx textlint --init Buat file .textlintrc.json dari aturan yang diinstal.
npx textlint --init .textlintrc.json akan dibuat seperti ini:
{
"rules" : {
"no-todo" : true
}
}File serat melalui TextLint:
npx textlint ./README.md textlint Load .textlintrc.json dari direktori saat ini dan lint README.md .
Jalankan npx textlint -h untuk informasi tentang cara menggunakan CLI.
$ 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.
Saat menjalankan TextLint, Anda dapat menargetkan file ke lint menggunakan pola glob. Pastikan Anda melampirkan parameter glob yang Anda lewati dalam kutipan.
$ npx textlint " docs/** "Untuk detail lebih lanjut, lihat Dokumentasi CLI.
Contoh:
.textlintrc adalah file konfigurasi yang dimuat sebagai JSON, YAML atau JS melalui AZU/RC-Config-Loader.
Menjalankan TextLint dengan argumen berikut
$ npx textlint --rule no-todo --rule very-nice-rule README.md
setara dengan menjalankan textlint README.md dalam direktori dengan .textlintrc.json yang berisi JSON berikut
{
"rules" : {
"no-todo" : true ,
"very-nice-rule" : true
}
} Anda juga dapat mengonfigurasi opsi untuk aturan tertentu dalam file .textlintrc.json Anda.
{
"rules" : {
"no-todo" : false , // disable
"very-nice-rule" : {
"key" : " value "
}
}
} Misalnya di sini kita melewati opsi ("kunci": "nilai") ke very-nice-rule .
Opsi dapat ditentukan dalam file .textlintrc.json Anda sebagai berikut:
{
// Allow to comment in JSON
"rules" : {
"<rule-name>" : true | false | object
}
}Untuk detail lebih lanjut lihat
Plugin TextLint adalah seperangkat aturan dan Rulesconfig atau menyesuaikan parser.
Untuk mengaktifkan plugin, masukkan "plugin-name" ke .textlintrc.json .
// `.textlintrc.json`
{
"plugins" : [
"plugin-name"
] ,
// overwrite-plugins rules config
// <plugin>/<rule>
"rules" : {
"plugin-name/rule-name" : false
}
}Lihat Docs/Plugin.md
TextLint mendukung penurunan harga dan teks biasa secara default.
Instal Plugin Prosesor dan tambahkan dukungan format file baru.
Misalnya, jika Anda ingin memasukkan HTML, gunakan TextLint-Plugin-HTML sebagai plugin.
npm install textlint-plugin-html --save-dev
Tambahkan "html" ke .textlintrc.json
{
"plugins": [
"html"
]
}
Jalankan TextLint pada file .html :
TextLint Index.html
Jenis file yang didukung opsional:
Lihat Daftar Plugin Prosesor untuk detailnya.
TextLint tidak memiliki aturan bawaan, tetapi ada 100+ aturan pluggable:
Lihat kumpulan aturan TextLint · TextLint/TextLint Wiki untuk detail lebih lanjut.
Jika Anda membuat aturan baru, dan menambahkannya ke wiki :)
Beberapa aturan dapat diperbaiki menggunakan flag baris perintah --fix .
$ npx textlint --fix README.md
# As a possible, textlint fix the content. 
Juga, mendukung mode run kering.
$ npx textlint --fix --dry-run --format diff README.md
# show the difference between fixed content and original content.
Anda dapat menyalin dan menempel ke readme Anda.
[ ![ textlint fixable rule ] ( https://img.shields.io/badge/textlint-fixable-green.svg?style=social )] ( https://textlint.github.io/ )Gunakan format berikut:
misalnya menggunakan formatter pretty-error :
$ npx textlint -f pretty-error file.md
Rincian lebih lanjut di @textlint/linter-formatter.
Anda dapat menggunakan TextLint sebagai modul Node.
$ npm install textlint --save-dev
Penggunaan minimal:
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 ) ;Rincian lebih lanjut info, silakan baca dokumen berikut:
@TextLint/Kernel adalah API tingkat rendah untuk TextLint. Ini berguna untuk lingkungan browser atau non-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 memiliki empat poin yang dapat diperluas:

Silakan lihat Docs/
no-todo .<!-- textlint-disable --> ?Anda dapat menggunakan aturan filter seperti acara-komentmen-filter-aturan-aturan.
Silakan lihat mengabaikan teks · TextLint untuk lebih jelasnya.
Untuk detail lebih lanjut, lihat Dokumen Integrasi.
Repositori ini adalah monorepo yang kami kelola menggunakan Lerna. Itu berarti bahwa kami benar -benar menerbitkan beberapa paket ke NPM dari basis kode yang sama, termasuk:
Modul ini adalah bagian dari TextLint.
| Kemasan | Versi | Keterangan |
|---|---|---|
textlint | Alat baris perintah TextLint itu sendiri | |
@textlint/kernel | Modul Logika Utama TextLint. Itu adalah javascript universal. | |
@textlint/linter-formatter | Formatter output TextLint | |
@textlint/fixer-formatter | formatter output TextLint untuk fixer | |
@textlint/textlint-plugin-markdown | Dukungan Markdown untuk TextLint | |
@textlint/textlint-plugin-text | Dukungan teks biasa untuk TextLint | |
@textlint/ast-tester | Tes Kepatuhan untuk Ast TextLint | |
@textlint/markdown-to-ast | Parser Markdown | |
@textlint/ast-traverse | Pustaka Traverse TXTNode | |
@textlint/text-to-ast | Parser teks biasa | |
@textlint/config-loader | Memuat file konfigurasi .textlintrc |
Modul -modul ini berguna untuk Aturan TextLint/Penulis Plugin.
| Kemasan | Versi | Keterangan |
|---|---|---|
@textlint/ast-node-types | TEXTLINT AST (Pohon Sintaks Abstrak) Jenis definisi | |
textlint-tester | Alat Pengujian Aturan TextLint | |
textlint-scripts | TextLint Rule NPM Run-Scripts | |
create-textlint-rule | Buat aturan TextLint tanpa konfigurasi Build |
Modul ini adalah integrasi yang berguna dengan TextLint.
| Kemasan | Versi | Keterangan |
|---|---|---|
gulp-textlint | Plugin Gulp untuk TextLint |
Modul -modul ini adalah penggunaan internal di monorepo.
| Kemasan | Versi | Keterangan |
|---|---|---|
@textlint/feature-flag | Fitur Bendera Manajer |
TextLint Project Ikuti Versi Semantik. Namun, TextLint tidak berbeda dengan sebagian besar proyek SEMVER.
.d.ts )Untuk bug dan permintaan fitur, silakan buat masalah.
Permintaan tarik selalu diterima.
Untuk detail lebih lanjut, lihat Panduan Kontribusi.
MIT © Azu
Salin beberapa kode dari Eslint.
ESLint
Copyright (c) 2013 Nicholas C. Zakas. All rights reserved.
https://github.com/eslint/eslint/blob/master/LICENSE
Unduh dari TextLint/Media.
Terima kasih kepada Eslint.
Situs web TextLint ditenagai oleh Netlify.