Search tool typos in the text, files and websites
npm install yaspelleryaspeller
=========





This README is also available in Russian.
Search tool typos in the text, files and websites.
Used API Yandex.Speller.
npm install yaspeller -gyaspeller [options] Add this to your .pre-commit-config.yaml:
``yaml`
- repo: https://github.com/hcodes/yaspeller.git
rev: '' # Use the sha / tag you want to point at
hooks:
- id: yaspeller
— search typos in the file.
+ yaspeller "*.md" — node glob syntax for Windows.
+ yaspeller -e ".md,.html,.txt" ./texts/ — finding typos in files in the folder.
+ yaspeller https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%BA%D0%B0 — search typos in the page.
+ yaspeller http://bem.info/sitemap.xml — search typos at the addresses specified in the sitemap.xml.
+ echo "Hello, world!" | yaspeller --stdin
+ echo "Hello, world!" | yaspeller --stdin --stdin-filename hello.txt$3
####
-f, --format
Formats: plain, html, markdown or auto.
Default: auto.####
-l, --lang
Languages: en, ru or uk.
Default: en,ru.####
-c, --config
Configuration file path.####
-e, --file-extensions
Set file extensions to search for files in a folder.
Example: .md,.htm,.txt.####
--dictionary
JSON file for own dictionary.
`js
[
"someword1", // someword1 = someword1 and Someword1
"Someword2", // Someword2 = Someword2
"someword3"
]
`Regular expressions are supported:
`js
[
"unknownword",
"unknown(W|w)ord[12]?", // unknown(W|w)ord[12]? = unknown(W|w)ord[12]? and Unknown(W|w)ord[12]?
"Unknown(W|w)ord[34]?" // Unknown(W|w)ord[34]? = Unknown(W|w)ord[34]?
]
`Examples:
yaspeller --dictionary my_dict.json .
yaspeller --dictionary my_dict.json:my_dict2.json .If you have tons of markdown and introduce this linter, you're likely to want
generation of initial dictionary with yaspeller-dictionary-builder,
so one line will cover all word's forms.
####
--report
Set type of report: console, html, markdown, junit or json.
Default: console
Example: console,html,custom_report.js####
--check-yo
Check the correctness of using the letter “Ё” (Yo) in Russian texts.####
--find-repeat-words
Highlight repetitions of words, consecutive. For example, I flew to to to Cyprus.####
--ignore-tags
Ignore HTML tags.
Default: code,kbd,object,samp,script,style,var
Option to formats html and markdown.####
--ignore-text
Remove the text from the scan using regular expressions.####
--ignore-capitalization
Ignore the incorrect use of UPPERCASE / lowercase letters, for example, in the word moscow.####
--ignore-digits
Ignore words with numbers, such as avp17h4534.####
--ignore-urls
Ignore Internet addresses, email addresses and filenames.####
--max-requests
Max count of requests in parallel.
Default: 2.####
--no-color
Clean output without colors.####
--only-errors
Output only errors.####
--stdin
Process files on . Default: false####
--stdin-filename
Specify filename to process as. Used in reports.####
--debug
Debug mode.Configuration
npm install yaspeller --save-devAdd the text in
package.json / scripts:
"yaspeller": "yaspeller .",To run the linter:
npm run yaspelleryaspeller is configured using JSON file at the root of the project:-
.yaspellerrc
- .yaspellerrc.js
- .yaspellerrc.json
- .yaspeller.json
- package.json, field yaspeller`JSON
{
"excludeFiles": [
".git",
"libs",
"node_modules",
"yaspeller"
],
"lang": "ru",
"fileExtensions": [
".md",
".css"
],
"dictionary": [
"someword1"
]
}
`Advanced example:
`js
{
"excludeFiles": [
".git",
"yaspeller",
"node_modules",
"libs"
],
"format": "html",
"lang": "en",
"fileExtensions": [
".md",
".css"
],
"report": ["console", "html"],
"dictionary": [
// JSON comments
"someword1", // someword1 = someword1 and Someword1
"Someword2", // Someword2 = Someword2
"some(w|W)ord[23]", // some(w|W)ord[23] = some(w|W)ord[23] and Some(w|W)ord[23]
"Some(w|W)ord" // Some(w|W)ord = Some(w|W)ord
],
"ignoreText": [
"", // Shortly
["", "g"] // Longly
],
"ignoreTags": ["code", "script"],
"ignoreUrls": true,
"findRepeatWords": true,
"maxRequests": 5
}
`| Property | Type | Details |
|----------|------|---------|
|
format | String | --format |
| lang | String | --lang |
| excludeFiles | Array | |
| fileExtensions | Array | --file-extension |
| dictionary | Array | --dictionary |
| report | Array | --report |
| checkYo | Boolean | --check-yo |
| findRepeatWords | Boolean | --find-repeat-words |
| ignoreTags | Array | --ignore-tags |
| ignoreText | Array | --ignore-text |
| ignoreCapitalization | Boolean | --ignore-capitalization |
| ignoreDigits | Boolean | --ignore-digits |
| ignoreUrls | Boolean | --ignore-urls |
| maxRequests | Number | --max-requests |Ignore text from checking
$3
`js
var re = /a-z/; // yaspeller ignore
`
`js
var re = /a-z/; / yaspeller ignore /
`
`html
a-z
`$3
`js
/ yaspeller ignore:start /
const reUpper = /A-Z/;
const reLower = /a-z/;
/ yaspeller ignore:end /
``html
A-Z
a-z
`Gulp plugin
`js
const gulp = require('gulp');
const run = require('gulp-run'); // npm install gulp-run --save-devgulp.task('yaspeller', function (cb) {
run('./node_modules/.bin/yaspeller .').exec()
.on('error', function (err) {
console.error(err.message);
cb();
})
.on('finish', cb);
});
`Grunt plugin
`js
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-shell'); // npm install grunt-shell --save-dev
grunt.initConfig({
shell: {
yaspeller: {
options: {stderr: false},
command: './node_modules/.bin/yaspeller .'
}
}
});
grunt.registerTask('lint', ['shell:yaspeller']);
};
``