Инструмент подключения к тексту и размещению.
Текстлинт похож на Eslint, но для использования с естественным языком.
Посетите https://textlint.github.io/.
npm install textlint-rule-xxx .Для быстрого экскурсии по текстовой линии, проверьте наше руководство по началу работы: Squirrel:
Вы можете установить команду textlint , используя NPM:
$ npm install textlint --save-dev
Требования :
Если вы не уверены, какую версию узла вы запускаете, вы можете запустить 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 command Create .textlintrc.json файл из установленных правил.
npx textlint --init .textlintrc.json будет создан так:
{
"rules" : {
"no-todo" : true
}
}Файлы Lint через 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 вы можете нацелиться на файлы на Lint, используя шаблоны глобуса. Убедитесь, что вы прилагаете любой параметр глобуса, который вы проходите в кавычках.
$ npx textlint " docs/** "Для получения более подробной информации см. Документацию CLI.
Пример:
.textlintrc -это файл конфигурации, который загружается как JSON, YAML или JS через Azu/RC-Config-Loader.
Запуск текстовой линии со следующими аргументами
$ 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 - это набор правил и рулеконфиг или настройка анализатора.
Чтобы включить плагин, поместите «плагин-имени» в .textlintrc.json .
// `.textlintrc.json`
{
"plugins" : [
"plugin-name"
] ,
// overwrite-plugins rules config
// <plugin>/<rule>
"rules" : {
"plugin-name/rule-name" : false
}
}Смотрите docs/plugin.md
Textlint поддерживает Markdown и простой текст по умолчанию.
Установите плагин процессора и добавьте новую поддержку формата файлов.
Например, если вы хотите использовать 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 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/ядро - API низкого уровня для Textlint. Это полезно для среда браузера или не-узла. 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 для получения более подробной информации.
Для получения более подробной информации см. Документ интеграции.
Этот репозиторий - это монорепо, которым мы управляем с использованием Lerna. Это означает, что мы фактически публикуем несколько пакетов в NPM из той же кодовой базы, включая:
Эти модули являются частью текстовой линии.
| Упаковка | Версия | Описание |
|---|---|---|
textlint | Сам инструмент командной строки Textlint | |
@textlint/kernel | Основной логический модуль текстовой линии. Это универсальный JavaScript. | |
@textlint/linter-formatter | Форматер вывода текстовой линии | |
@textlint/fixer-formatter | Форматер вывода текстовой линии для фиксатора | |
@textlint/textlint-plugin-markdown | поддержка маркировки для текстовой линии | |
@textlint/textlint-plugin-text | Поддержка текстового текста для текстовой линии | |
@textlint/ast-tester | Тесты соответствия для AST Textlint | |
@textlint/markdown-to-ast | Паризер | |
@textlint/ast-traverse | TxtNode Traverse Library | |
@textlint/text-to-ast | Простой текст анализатор | |
@textlint/config-loader | Загрузка. |
Эти модули полезны для автора правила/плагина текстовых линий.
| Упаковка | Версия | Описание |
|---|---|---|
@textlint/ast-node-types | Textlint AST (абстрактное синтаксисное дерево) Определение типа | |
textlint-tester | Инструменты тестирования правил текста | |
textlint-scripts | Правило текстовой линии npm run-scripts | |
create-textlint-rule | Создать правило текстовой линии без конфигурации сборки |
Эти модули являются полезной интеграцией с текстовой личкой.
| Упаковка | Версия | Описание |
|---|---|---|
gulp-textlint | плагин Gulp для текстовой линии |
Эти модули являются внутренним использованием в монорепо.
| Упаковка | Версия | Описание |
|---|---|---|
@textlint/feature-flag | Функциональный менеджер флага |
Project 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.