أداة linting قابلة للتوصيل للنص والتخفيض.
يشبه TextLint ESLINT ، لكنه للاستخدام مع اللغة الطبيعية.
تفضل بزيارة https://textlint.github.io/.
npm install textlint-rule-xxx .للحصول على جولة سريعة في TextLint ، قم بالخروج من دليل البدء لدينا: السنجاب:
يمكنك تثبيت الأمر textlint باستخدام NPM:
$ npm install textlint --save-dev
متطلبات :
إذا لم تكن متأكدًا من إصدار Node الذي تقوم بتشغيله ، فيمكنك تشغيل node -v في وحدة التحكم الخاصة بك لمعرفة ذلك.
textlint على مستوى العالم ، فيجب عليك تثبيت كل قاعدة مرجعية على مستوى العالم أيضًا.textlint محليًا ، فيجب عليك تثبيت كل قاعدة محليًا أيضًا. نوصي بتثبيت textlint محليا.
إذا لم تكن قد استخدمت Node.js و NPM ، فيرجى الاطلاع على ما يلي:

TextLint ليس لديه قواعد افتراضية !!
يمكنك تشغيل TextLint .textlintrc.json
# Install textlint and rules into local directory
npm install --save-dev textlint textlint-rule-no-todo الأمر npx textlint --init -Create .textlintrc.json ملف من القواعد المثبتة.
npx textlint --init سيتم إنشاء .textlintrc.json مثل هذا:
{
"rules" : {
"no-todo" : true
}
}ملفات الوبر عبر textlint:
npx textlint ./README.md textlint Load .textlintrc.json من الدليل الحالي و Lint README.md .
قم بتشغيل npx textlint -h للحصول على معلومات حول كيفية استخدام 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.
عند تشغيل TextLint ، يمكنك استهداف الملفات إلى الوبر باستخدام أنماط GLOB. تأكد من إرفاق أي معلمة كروية التي تمر بها في اقتباسات.
$ npx textlint " docs/** "لمزيد من التفاصيل ، راجع وثائق CLI.
مثال:
.textlintrc هو ملف التكوين الذي يتم تحميله على أنه JSON أو YAML أو JS عبر AZU/RC-CONFIG-LOADER.
تشغيل textlint مع الحجج التالية
$ npx textlint --rule no-todo --rule very-nice-rule README.md
يعادل تشغيل textlint README.md في دليل مع .textlintrc.json يحتوي على json التالي
{
"rules" : {
"no-todo" : true ,
"very-nice-rule" : true
}
} يمكنك أيضًا تكوين خيارات لقواعد محددة في ملف .textlintrc.json الخاص بك.
{
"rules" : {
"no-todo" : false , // disable
"very-nice-rule" : {
"key" : " value "
}
}
} على سبيل المثال ، نمرر الخيارات ("المفتاح": "القيمة") إلى very-nice-rule .
يمكن تحديد الخيارات في ملف .textlintrc.json على النحو التالي:
{
// Allow to comment in JSON
"rules" : {
"<rule-name>" : true | false | object
}
}لمزيد من التفاصيل انظر
المكون الإضافي textlint هو مجموعة من القواعد و RULESCONFIG أو تخصيص المحلل.
لتمكين البرنامج المساعد ، ضع "Name-Name" في .textlintrc.json .
// `.textlintrc.json`
{
"plugins" : [
"plugin-name"
] ,
// overwrite-plugins rules config
// <plugin>/<rule>
"rules" : {
"plugin-name/rule-name" : false
}
}انظر المستندات/البرنامج المساعد
يدعم TextLint Markdown و Plain Text افتراضيًا.
قم بتثبيت المكون الإضافي للمعالج وأضف دعم تنسيق ملف جديد.
على سبيل المثال ، إذا كنت ترغب في الترسيخ HTML ، فاستخدم TextLint-Plugin-HTML كمساعد.
npm install textlint-plugin-html --save-dev
أضف "html" إلى .textlintrc.json
{
"plugins": [
"html"
]
}
قم بتشغيل TextLint على ملفات .html :
textlint index.html
أنواع الملفات المدعومة الاختيارية:
انظر قائمة البرنامج المساعد المعالج للحصول على التفاصيل.
لا يحتوي TextLint على قواعد مدمجة ، ولكن هناك أكثر من 100 قواعد قابلة للتوصيل:
راجع مجموعة من قاعدة textlint · textlint/textlint 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. إنه مفيد لبيئات المتصفح أو غير node-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 على أربع نقاط قابلة للتمديد:

يرجى الاطلاع على المستندات/
no-todo .<!-- textlint-disable --> ؟يمكنك استخدام قاعدة التصفية مثل تكرار TextLint-Filter-Rule-Comments.
يرجى الاطلاع على تجاهل النص · textlint لمزيد من التفاصيل.
لمزيد من التفاصيل ، راجع وثيقة التكامل.
هذا المستودع هو monorepo نديره باستخدام Lerna. هذا يعني أننا ننشر بالفعل عدة حزم إلى NPM من نفس قاعدة كود ، بما في ذلك:
هذه الوحدات هي أجزاء من textlint.
| طَرد | إصدار | وصف |
|---|---|---|
textlint | أداة سطر أوامر TextLint نفسها | |
@textlint/kernel | TextLint وحدة المنطق الرئيسية. إنه جافا سكريبت العالمي. | |
@textlint/linter-formatter | إخراج textlint تنسيق | |
@textlint/fixer-formatter | تنسيق إخراج textlint للمثبت | |
@textlint/textlint-plugin-markdown | دعم تخفيض textlint | |
@textlint/textlint-plugin-text | دعم نص عادي لـ TextLint | |
@textlint/ast-tester | اختبارات الامتثال لـ TextLint's AST | |
@textlint/markdown-to-ast | المحلل المحلل | |
@textlint/ast-traverse | مكتبة TxtNode Traverse | |
@textlint/text-to-ast | محلل النص العادي | |
@textlint/config-loader | تحميل ملف تكوين .Textlintrc |
هذه الوحدات مفيدة لقاعدة TextLint/مؤلف البرنامج المساعد.
| طَرد | إصدار | وصف |
|---|---|---|
@textlint/ast-node-types | TextLint AST (شجرة بناء الجملة المجردة) نوع التعريف | |
textlint-tester | أدوات اختبار قاعدة TextLint | |
textlint-scripts | TextLint Rule NPM Run-scripts | |
create-textlint-rule | قم بإنشاء قاعدة TextLint بدون تكوين بناء |
هذه الوحدات هي تكامل مفيد مع TextLint.
| طَرد | إصدار | وصف |
|---|---|---|
gulp-textlint | Pulp Plugin for textlint |
هذه الوحدات هي الاستخدام الداخلي في monorepo.
| طَرد | إصدار | وصف |
|---|---|---|
@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 مدعوم بواسطة NetLify.