retext-syntax-mentions
!Buildbuild-badgebuild
!Coveragecoverage-badgecoverage
!Downloadsdownloads-badgedownloads
!Sizesize-badgesize
!Sponsorssponsors-badgecollective
!Backersbackers-badgecollective
!Chatchat-badgechatretext plugin to classify
@mentions
as syntax instead of natural
language.Contents
* [`unified().use(retextSyntaxMentions[, options])`](#unifieduseretextsyntaxmentions-options)
* [`Options`](#options)
What is this?
This package is a unified (retext) plugin to classify mentions (as used on for example GitHubmention) asSourceNode
nlcst-source instead of
natural language.
That node represent “external (ungrammatical) values” instead of natural
language, which hides mentions from retext-spell
retext-spell,
retext-readability
retext-readability,
retext-equality
retext-equality, and other things that check words.When should I use this?
You can use this plugin any time there are mentions in prose, that are (incorrectly) warned about by linting plugins.Install
This package is ESM onlyesm. In Node.js (version 16+), install with npm:npm install retext-syntax-mentions
In Deno with
esm.sh
esmsh:import retextSyntaxMentions from 'https://esm.sh/retext-syntax-mentions@4'
In browsers with
esm.sh
esmsh:<script type="module">
import retextSyntaxMentions from 'https://esm.sh/retext-syntax-mentions@4?bundle'
</script>
Use
Withoutretext-syntax-mentions
:import dictionaryEn from 'dictionary-en'
import retextEnglish from 'retext-english'
import retextSpell from 'retext-spell'
import retextStringify from 'retext-stringify'
import retextSyntaxMentions from 'retext-syntax-mentions'
import {unified} from 'unified'
import {reporter} from 'vfile-reporter'
const file = await unified()
.use(retextEnglish)
.use(retextSpell, dictionaryEn)
.use(retextStringify)
.process('Misspelled? @wooorm.')
console.log(reporter(file))
Yields:
1:14-1:20 warning `wooorm` is misspelt; did you mean `worm`? wooorm retext-spell
⚠ 1 warning
With
retext-syntax-mentions
:.use(retextEnglish)
+ .use(retextSyntaxMentions)
.use(retextSpell, dictionaryEn)
Yields:
no issues found
API
This package exports no identifiers. The default export isretextSyntaxMentions
api-retext-syntax-mentions.unified().use(retextSyntaxMentions[, options])
Classify @mentions
as source (external ungrammatical values) instead of
natural language.This hides mentions from
retext-spell
, retext-readability
,
retext-equality
, etc.Parameters
options
(Options
api-options, optional)
— configuration
Returns
Transform (Transformer
unified-transformer).Options
Configuration (TypeScript type).Fields
style
(RegExp | 'github' | 'twitter'
, default:'github'
)
— style of mentions; can be either `'github'` (for GitHub user and team
mentions), `'twitter'` (for Twitter handles), or a regular expression (such
as `/^@\w{1,15}$/i`, which is the Twitter regex
Types
This package is fully typed with TypeScript. It exports the additional typeOptions
api-options.Compatibility
Projects maintained by the unified collective are compatible with maintained versions of Node.js.When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line,
retext-syntax-mentions@^4
, compatible with Node.js 16.Related
— classify URLs and filepaths as syntax
— check spelling
— check readability
— check possible insensitive, inconsiderate language
Contribute
Seecontributing.md
contributing in retextjs/.github
health for ways
to get started.
See support.md
support for ways to get help.This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.