$ npm install alex --global
使用 yarn:
$ yarn global add alex
或者你可以按照这个步骤教程进行操作: 在你的项目中设置 alex
<!--alex disable wacko stupid-->.alexignoremarkdown(value, config)mdx(value, config)html(value, config)text(value, config)alex 检查以下内容:
注意:alex 假 定你的意图是善意的:你并不是有意冒犯他人!
查看 retext-equality 和 retext-profanities 了解所有规则。
alex 会忽略字面意义上的词语,所以 "他"、他 — ……,以及类似用法不会被警告。
sindresorhus/SublimeLinter-contrib-alexdustinspecker/gulp-alexkeoghpe/alex-slackyohanmishkin/ember-cli-alexswinton/linter-alexbrown-ccv/alex-recommendsreviewdog/action-alexw0rp/aleskn0tt/alex-browser-extensionstefanjudis/alex-js-contentful-ui-extensionnickradford/figma-plugin-alextlahmann/vscode-alexCLI 在给定目录时会搜索带有 markdown 或文本扩展名的文件(因此 $ alex . 会找到 readme.md 和 path/to/file.txt)。要防止文件被发现,请创建一个 .alexignore 文件。
.alexignoreCLI 有时会搜索文件。要防止文件被发现,请在当前工作目录(即运行 alex 的位置)上方的某个目录中添加一个名为 .alexignore 的文件。这些文件的格式类似于 .eslintignore(而后者又类似于 .gitignore 文件)。
例如,当在 ~/path/to/place 中工作时,忽略文件可以位于 to、place 或 ~ 中。
本项目自身的忽略文件看起来像这样:
# `node_modules` 默认被忽略。 example.md
有时alex会出错:
这句话会弹出一条消息。
结果如下:
readme.md 1:15-1:18 警告 `pop` 可能有歧义,请改用 `parent` dad-mom retext-equality ⚠ 1 个警告
可以使用 Markdown 中的 HTML 注释来忽略它们:
<!--alex ignore dad-mom--> 这句话将**不会**弹出消息。
结果如下:
readme.md: 未发现问题
ignore 会关闭注释后面内容的消息(在这个例子中是该段落)。
也可以使用 disable 在注释后关闭消息,然后使用 enable 重新开启这些消息:
<!--alex disable dad-mom--> 这句话将**不会**弹出消息。 这句话也**不会**弹出消息。 再来一句话,同样**不会**弹出消息。 <!--alex enable dad-mom--> 这句话会弹出消息。
结果如下:
readme.md 9:15-9:18 警告 `pop` 可能有歧义,请改用 `parent` dad-mom retext-equality ⚠ 1 个警告
可以一次控制多个消息:
<!--alex disable he-her his-hers dad-mom-->
…通过省略所有规则标识符,可以控制所有消息:
<!--alex ignore-->
您可以通过 .alexrc 配置文件控制 alex:
{ "allow": ["boogeyman-boogeywoman"] }
…如果文件名为 .alexrc.yml 或 .alexrc.yaml,您可以使用 YAML:
allow: - dad-mom
…如果文件名为 .alexrc.js,您还可以使用 JavaScript:
// 但像这样随机设置是个坏主意! exports.profanitySureness = Math.floor(Math.random() * 3)
…最后,还可以在 package.json 中使用 alex 字段:
{ … "alex": { "noBinary": true }, … }
allow 字段应为规则数组或 undefined(默认为 undefined)。提供时,将跳过并不报告指定的规则。
deny 字段应为规则数组或 undefined(默认为 undefined)。提供时,仅报告指定的规则。
不能同时使用 allow 和 deny。
noBinary 字段应为布尔值(默认为 false)。
开启(true)时,像 he and she 和 garbageman or garbagewoman 这样的配对将被视为错误。
关闭(false,默认)时,这样的配对是可以的。
profanitySureness 字段是一个数字(默认为 0)。
我们使用 cuss,它有一个词典,对单词或短语作为亵渎语的可能性(而非其"糟糕"程度)进行 0 到 2 的评级:
| 评级 | 作为亵渎语使用 | 在干净文本中使用 | 示例 |
|---|---|---|---|
| 2 | 可能 | 不太可能 | asshat |
| 1 | 可能 | 可能 | addict |
| 0 | 不太可能 | 可能 | beaver |
profanitySureness 字段是您想要检查的最低评级(包含该评级)。 | |||
如果您将其设置为 1(可能),那么它会对级别 1 和 2(可能)的亵渎语发出警告,但不会对级别 0(不太可能)的发出警告。 |
![][截图]
假设example.md内容如下:
妖怪将所有更改写入**主服务器**。因此,从服务器是主服务器的只读副本。不过别担心,他是个残疾人。
现在,在example.md上运行alex:
$ alex example.md
输出结果:
example.md 1:5-1:14 警告 `boogeyman`可能有冒犯性,请使用`boogeymonster`代替 boogeyman-boogeywoman retext-equality 1:42-1:48 警告 `master` / `slaves`可能有冒犯性,请使用`primary` / `replica`代替 master-slave retext-equality 1:69-1:75 警告 不要使用`slaves`,这是亵渎性词语 slaves retext-profanities 2:52-2:54 警告 `he`可能有冒犯性,请使用`they`、`it`代替 he-she retext-equality 2:61-2:68 警告 `cripple`可能有冒犯性,请使用`person with a limp`代替 gimp retext-equality ⚠ 5 个警告
使用$ alex --help获取更多信息。
当没有给alex输入文件时,它会在当前目录、
doc和docs中搜索文件。 如果给定--mdx参数,它会搜索mdx扩展名的文件。 如果给定--html参数,它会搜索htm和html扩展名的文件。 否则,它会搜索txt、text、md、mkd、mkdn、mkdown、ron和markdown扩展名的文件。
本包是仅支持 ESM的:
需要 Node 14+ 版本才能使用,且必须通过 import 而不是 require 来引入。
npm:
$ npm install alex --save
本包导出了标识符 markdown、mdx、html 和 text。
默认导出为 markdown。
markdown(value, config)检查 Markdown(忽略语法)。
value (VFile 或 string) — Markdown 文档config (Object,可选) — 参见[配置][]部分你可能对其 messages 属性感兴趣,如下例所示,因为它包含了可能的违规信息。
import alex from 'alex' alex('We've confirmed his identity.').messages
输出:
[ { message: '`his` 在指代人时可能不够敏感,请使用 `their`、`theirs`、`them` 替代', name: '1:17-1:20', reason: '`his` 在指代人时可能不够敏感,请使用 `their`、`theirs`、`them` 替代', line: 1, column: 17, location: { start: [Object], end: [Object] }, source: 'retext-equality', ruleId: 'her-him', fatal: false, actual: 'his', expected: [ 'their', 'theirs', 'them' ] } ]
mdx(value, config)检查 MDX(忽略语法)。
注意:alex 使用的是目前处于 beta 阶段的 MDX@2 语法。
value (VFile 或 string) — MDX 文档config (Object,可选) — 参见[配置][]部分import {mdx} from 'alex' mdx('<Component>He walked to class.</Component>').messages
输出:
[ { reason: '`He` 可能不够敏感,请使用 `They`、`It` 替代', line: 1, column: 12, location: { start: [Object], end: [Object] }, source: 'retext-equality', ruleId: 'he-she', fatal: false, actual: 'He', expected: [ 'They', 'It' ] } ]
html(value, config)检查 HTML(忽略语法)。
value (VFile 或 string) — HTML 文档config (Object,可选) — 参见[配置][]部分import {html} from 'alex' html('<p class="black">He walked to class.</p>').messages
输出:
[ { message: '`He` 可能不够敏感,请使用 `They`、`It` 替代', name: '1:18-1:20', reason: '`He` 可能不够敏感,请使用 `They`、`It` 替代', line: 1, column: 18, location: { start: [Object], end: [Object] }, source: 'retext-equality', ruleId: 'he-she', fatal: false, actual: 'He', expected: [ 'They', 'It' ] } ]
text(value, config)检查纯文本(包括语法检查)。
value (VFile 或 string) — 文本文档config (Object,可选) — 参见[配置][]部分import {markdown, text} from 'alex' markdown('The `boogeyman`.').messages // => [] text('The `boogeyman`.').messages
输出:
[ { message: '`boogeyman` 可能不够敏感,请使用 `boogeymonster` 替代', name: '1:6-1:15', reason: '`boogeyman` 可能不够敏感,请使用 `boogeymonster` 替代', line: 1, column: 6, location: Position { start: [Object], end: [Object] }, source: 'retext-equality', ruleId: 'boogeyman-boogeywoman', fatal: false, actual: 'boogeyman', expected: [ 'boogeymonster' ] } ]
建议的工作流程是将 alex 添加到 package.json 中,并在 Travis 中与您的测试一起运行。
一个使用 npm scripts 的 package.json 文件,并额外使用 AVA 进行单元测试,可能如下所示:
{ "scripts": { "test-api": "ava", "test-doc": "alex", "test": "npm run test-api && npm run test-doc" }, "devDependencies": { "alex": "^1.0.0", "ava": "^0.1.0" } }
如果您使用 Travis 进行持续集成,在 .travis.yml 中设置类似以下内容:
script: - npm test + - alex --diff
请确保仍然安装 alex!
如果使用 --diff 标志,并且检测到 Travis,则会忽略此次推送中未更改的行。
使用这个工作流程,即使 PR 有警告,您也可以合并它。然后,如果有人编辑了一个完全不同的文件,他们不会被已存在的警告所困扰,只会关注他们添加的内容!
这不是一个问题。 是的,alex 并不是很聪明。 人类在这方面做得更好。 但人也会犯错,而 alex 就是来帮忙的。
请查看 contributing.md 了解如何让 alex 检查"X"。
这是一个不分性别的好名字,在 npm 上还未被使用,我很喜欢! :smile:
没有任何自动化工具可以取代学习包容性沟通和倾听他人的亲身经历。
alex 工具的错误可以成为学习更多知识的契机。
以下资源可作为起点,帮助你在 alex 工具之外深化自身理解和编辑 技能:
alex 发现,但它并不具有包容性。优秀的人工编辑可以迎接挑战,找到更好的表达方式。请参阅 get-alex/.github 仓库中的 contributing.md 文件,了解如何开始贡献。
如需获取帮助,请查看 support.md 文件。
本项目遵循行为准则。
通过与此仓库、组织或社区进行互动,即表示您同意遵守其条款。
感谢 @iheanyi 提出这个问题,以及 @sindresorhus 激发我(@wooorm)采取行动。
当 alex 推出时,它在 Twitter 和 Product Hunt 上获得了一些关注。随后,出现了大量媒体报道和新闻报导。
alex 的初步工作始于2015年。
该项目由 @wooorm 创作。
自那以后,许多人为此做出了贡献!


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是 国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。