Project Icon

proselint

英语文本校对工具融合顶级作家编辑智慧

proselint是一款融合顶级作家编辑智慧的英语文本校对工具。它通过命令行接口提供实时写作建议,可集成至多种工具和工作流程。proselint检查措辞、语法、拼写等常见写作问题,支持多种编辑器插件,适用于各类写作场景,旨在提升文本质量。

proselint logo ![工作流状态](https://yellow-cdn.veclightyear.com/87312a0a/45cf9605-14af-482a-92a3-d109b4d1553d.svg) [![由Hound审核](https://yellow-cdn.veclightyear.com/87312a0a/a9545476-caee-4d5e-8d23-5320d4ee704c.svg)](https://houndci.com) [![代码气候](https://yellow-cdn.veclightyear.com/87312a0a/1987fc9b-4c6d-4944-a317-3da73b2164ec.svg)](https://codeclimate.com/repos/5538989ee30ba0793100090f/feed) [![codecov](https://yellow-cdn.veclightyear.com/87312a0a/420daa57-9f01-4fc7-b23b-b6aee600c4e0.svg?token=8E0I9sRpot)](https://codecov.io/gh/amperser/proselint) [![许可证](https://yellow-cdn.veclightyear.com/87312a0a/e6a4d0fa-955a-432e-ba7c-ed748637d04b.svg)](https://en.wikipedia.org/wiki/BSD_licenses)

众所周知,写作是一项极具挑战性的工作,即使对最优秀的作家来说也是如此。这并非是由于缺乏好的建议——大量关于写作技巧的知识散布在用法指南、词典、技术手册、论文、小册子、网站以及伟大作家和编辑的心中。但是仅仅钻研《Strunk & White》并不能让一个人成为更好的作家——它既不能让你变成Strunk,也不能让你变成White。而且没有人有能力将《Garner's Modern English Usage》这本1100页的用法指南中的所有建议应用到他们所写的每一篇文章中。事实上,认为通过阅读写作建议就能成为更好的作家这一观点,是建立在对学习和记忆的不切实际假设之上的。因此,传统形式的写作知识本质上是惰性的,等待被转化。

我们设计了一个简单的解决方案:proselint,一个英语散文的检查工具。检查工具是一种计算机程序,类似于拼写检查器,它会扫描文件并检测问题——就像真正的除尘滚筒帮助你去除衣服上不需要的绒毛一样。

proselint将世界上最伟大的作家和编辑置于你身边,他们会悄悄地给你提供改善散文的建议。你将得到启发自Bryan Garner、David Foster Wallace、Chuck Palahniuk、Steve Pinker、Mary Norris、Mark Twain、Elmore Leonard、George Orwell、Matthew Butterick、William Strunk、Elwyn White、Philip Corbett、Ernest Gowers以及世界顶级文学杂志和报纸编辑团队等人的建议。我们的目标是汇集有关写作最佳实践的知识,并以散文检查工具的形式将这些知识立即提供给所有作者;所有这些都集成在一个简洁的命令行工具中,你可以将其集成到其他工具、脚本和工作流程中。

安装

要启动并运行它,请使用pip进行安装:

pip install proselint

Fedora

sudo dnf install proselint

Debian

sudo apt install python3-proselint

Ubuntu

sudo add-apt-repository universe
sudo apt install python3-proselint

其他软件的插件

proselint可用于:

使用方法

假设你有一个文档text.md,内容如下:

John is very unique.

你可以使用命令行对文档运行proselint

proselint text.md

这会将建议列表打印到标准输出,每行一个。每个建议的格式如下:

text.md:<行>:<列>: <检查名称> <消息>

例如,

text.md:0:10: wallace.uncomparables 不可比较词的比较:"unique"不能被比较。

命令行工具还可以使用--json标志以JSON格式打印建议。在这种情况下,输出会更加丰富:

{
// 输出此建议的检查类型。
check: "wallace.uncomparables",

// 描述建议的消息。
message: "不可比较词的比较:"unique"不能被比较。",

// 给出建议的人或组织。
source: "David Foster Wallace"

// 指向源材料的URL。
source_url: "http://www.telegraph.co.uk/a/9715551"

// 错误开始的行。
line: 0,

// 错误开始的列。
column: 10,

// 错误开始在文本中的索引。
start: 10,

// 错误结束在文本中的索引。
end: 21,

// 从开始到结束的长度
extent: 11,

// 这个问题有多重要?可以是"suggestion"、"warning"或"error"。
severity: "warning",

// 可能的替换。
replacements: [
{
value: "unique"
}
]
}

要在另一个Python程序中运行检查工具,你可以使用proselint.tools中的lint函数:

import proselint

suggestions = proselint.tools.lint("This sentence is very unique")

这将返回一个建议列表:

[('weasel_words.very', "每次你倾向于写'very'时,请用'damn'替代;你的编辑会删除它,而写作将会恰到好处。", 0, 17, 17, 22, 5, 'warning', None), ('uncomparables.misc', "不可比较词的比较:'very unique.'是不可比较的。", 0, 17, 17, 29, 12, 'warning', None)]

检查项

你可以通过修改$XDG_CONFIG_HOME/proselint/config.json来禁用任何检查项。 如果$XDG_CONFIG_HOME未设置或为空,将使用~/.config/proselint/config.json。 此外,为了兼容性,如果$XDG_CONFIG_HOME/proselint/config.json不存在,将检查旧版配置~/.proselintrc$XDG_CONFIG_HOME/proselint/config

{
"checks": {
"typography.diacritical_marks": false
}
}
ID描述
airlinese.misc避免使用航空业的行话
annotations.misc捕捉文本中留下的注释
archaism.misc避免使用古老形式
cliches.hell避免使用常见陈词滥调
cliches.misc避免使用陈词滥调
consistency.spacing保持句子间距一致
consistency.spelling保持拼写一致
corporate_speak.misc避免使用企业行话
cursing.filth应避免使用的词语
cursing.nfl避免使用NFL禁用的词语
dates_times.am_pm使用正确的时间表示形式
dates_times.dates日期的时尚格式
hedging.misc不要模棱两可
hyperbole.misc不要夸大其词
jargon.misc避免使用各种行话
lgbtq.offensive_terms避免使用冒犯性的LGBTQ术语
lgbtq.terms误用的LGBTQ术语
lexical_illusions.misc避免词语幻觉
links.broken只链接到现有网站
malapropisms.misc避免常见的用词不当
misc.apologizing保持自信
misc.back_formations避免不必要的反向构词
misc.bureaucratese避免官僚用语
misc.but避免用"But..."开始段落
misc.capitalization只大写应该大写的内容
misc.chatspeak避免使用网络用语和其他聊天用语
misc.commercialese避免使用商业世界的行话
misc.currency避免冗余的货币符号
misc.debased避免使用低俗语言
misc.false_plurals避免错误的复数形式
misc.illogic避免不合逻辑的表达
misc.inferior_superior使用"superior to"而不是"than"
misc.latin避免过度使用拉丁短语
misc.many_a"Many a"后接单数
misc.metaconcepts避免过度使用元概念
misc.narcissism谈论主题本身,而不是对主题的研究
misc.phrasal_adjectives短语形容词要用连字符
misc.preferred_forms各种首选表达形式
misc.pretension避免自命不凡
misc.professions正确称呼职业
misc.punctuation谨慎使用标点符号
misc.scare_quotes只在需要时使用引号
misc.suddenly避免使用"suddenly"一词
misc.tense_present来自"Tense Present"的建议
misc.waxed诗意化表达
misc.whence使用"whence"
mixed_metaphors.misc不要混用比喻
mondegreens.misc避免使用误听词
needless_variants.misc使用首选形式
nonwords.misc避免使用非单词
oxymorons.misc避免使用矛盾修饰法
psychology.misc避免误用心理学术语
redundancy.misc避免重复和说两遍
redundancy.ras_syndrome避免RAS综合征
skunked_terms.misc避免使用有争议的术语
spelling.able_atable-able与-atable的使用
spelling.able_ible-able与-ible的使用
spelling.athletes运动员名字的拼写
spelling.em_im_en_in-em与-im和-en与-in的使用
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号