24
11月
2022
15:11

使用免费拼写检查器 cSpell 对 Markdown 文件进行批量拼写检查

24 11月 2022 15:11

我最近收到一封带有评论的信,其中一位网站访问者指出文章中存在大量拼写错误。
如何自动化拼写检查过程 - 本文就是关于这个问题的。

简介

要纠正错误,必须首先找到它们。 有用于此目的的拼写检查程序。
此类程序之一是免费但功能强大的命令行实用程序 cSpell

什么是 cSpell

cSpell 是一个所谓的“拼写检查器”(源自英文单词“拼写检查器”的描图纸),是一个用于检查拼写(单词的拼写是否正确)并识别文本中的拼写错误的程序。

节目网站: https://cspell.org/,GitHub页面: https://github.com/streetsidesoftware/cspell

与其他程序不同,它从命令行运行并允许您递归检查目录,并且还同时支持多种语言(对于多语言文本)。 此外,cSpell 程序还知道 JavaScript、TypeScript、Python、PHP、C 等编程语言的关键字#、C++、LaTex、Go、HTML、CSS。 文本检查速度很快 - 在 Core2Duo 2 GHz 处理器上检查一个 4 kB 文件只需 4 秒。

安装快照

首先,您需要安装替代包管理程序 快照 (见 itfoss.com 上的 snap 安装说明 )。

由于我有Linux Mint,它与Ubuntu接近,所以我使用APT命令安装了snap:

sudo apt update
sudo apt install snapd

安装 NodeJS 和 NPM

要运行 cSpell,您首先需要安装 Node JS - 一个服务器端、非常强大的 JavaScript 版本,用于编写和执行程序。 Node JS 网站显示最新版本: https://github.com/nodejs/release
安装 Node JS 有多种方法,我选择了安装选项 快照

注意: 如果您之前安装了旧版本的nodejs,请先卸载node:
sudo snap remove node

1)安装Node JS和NPM包管理程序

sudo snap 安装节点 --classic --channel=19

!!!2025 年,当前版本为 22.14.0。 下面的安装命令将安装它。

sudo snap install node --classic --channel=22

将安装 Node JS 运行环境和 NPM 包管理器程序。 检查程序版本:

npm版本

2)清除NPM缓存

npm cache clean --force

3)然后我删除了操作系统中先前安装的模块“n”的痕迹:

sudo rm -R /usr/lib/node_modules/n

4)全局安装程序“n”:

sudo npm install -g n

5)用“n”更新运行时 节点js

sudo n stable

6) 安装 npm-check-updates 实用程序(也称为 ncu

sudo npm install -g npm-check-updates

7) 启动系统更新,包括更新npm包管理器:

须藤 npm 更新 -g

8) 为本地项目创建自定义“package.json”文件

cd ~
PATH="$PATH" 
npm init

我们按 Enter 键回答向导的所有问题。

安装 cSpell 程序

拼写检查器 cSpell 的安装通过一个命令完成:

sudo npm install -g cspell

安装俄语词典并将其连接到 cSpell

默认情况下,cSpell 只识别英语。 要“教”他俄语,您需要安装并连接俄语词典(来源 -https://www.npmjs.com/package/@cspell/dict-ru_ru ):

在 CSpell 中安装俄语词典:

sudo npm install -g @cspell/dict-ru_ru

添加字典链接:

cspell 链接添加@cspell/dict-ru_ru

使用 cspell.json 配置文件设置文档语言

在将启动 cSpell 的文件夹(通常是用户的主文件夹)中,创建一个名为 cspell.json (程序在其中查找配置文件的文件夹的详细列表列于 CSpell.org 上的文章 )。

cd ~
nano cspell.json

以 json 格式粘贴以下内容并保存更改(Ctrl+O、Ctrl+X):

// cSpell Settings

{

"version": "0.2",
    "language": "en,ru",
    "words": [
        "vcfm",
        "webp",
        "Yaesu",
        "распиновка"
    ]
}

从 Internet 更新 cSpell 词典

sudo npm update -g

ncu -g

[====================] 6/6 100%

All global packages are up-to-date :)

CSpell 测试运行

echo "этороверка работы eckho test" > test.txt
npx cspell test.txt

CSpell 将打印拼写错误的单词。

检查 *.md 文件拼写的示例(Markdown 格式)

1)使用cSpell检查“test”目录中Markdown文件的拼写

npx cspell test/*.md

---/test/item.md:29:119 - Unknown word (доставелен)
---/test/item.md:49:45 - Unknown word (микровыключатель)
---/test/item.md:64:26 - Unknown word (разъм)
---/test/item.md:78:1 - Unknown word (Цифроые)

其中29是行号,119是错误单词在该行中的位置。

2)对“blog”文件夹下子目录下的*.md文件进行批量拼写检查,并将检查结果写入文件 errata.txt

npx cspell blog/**/*.md > 勘误表.txt

接下来怎么办?

您需要在文本编辑器中更正每个已检查文件中发现的语法错误和拼写错误。
您还可以在主页上探索该程序的其他功能 在 GitHub 上,以及“lint”命令,该命令不仅用于检查 markdown 格式的文件,还用于检查其他格式的文件,例如 *.txt:

npx cspell lint --help

来源: 文章“使用 cspell 检查 Markdown 博客文章的拼写”


最后更改 - 04/14/2025