将词添加到 Grafana Labs 词典
Grafana Labs 文档团队维护一个用于拼写检查的词典。同一个词典也用于根据词语定义中的元数据生成一些 Vale 规则。
模板文件使用 Jsonnet 编程语言,但您无需了解 Jsonnet 即可添加新词。与 YAML 不同,Jsonnet 对空白不敏感。
本主题说明如何执行以下任务
对于更复杂的词语,如果您熟悉编写 Jsonnet,请参考词语元数据参考。如果您不熟悉编写 Jsonnet,可以创建一个 issue,由维护者为您添加。
开始之前
更多信息请参考创建本地仓库。
为您的更改创建一个分支。
更多信息请参考从默认远程分支创建分支。
添加普通词(名词、动词或形容词)
名词是表示具体或抽象事物的词。动词通常描述动作。形容词描述名词。
步骤
添加普通词
在编辑器中打开
vale/dictionary/<LETTER>.jsonnet
模板文件,其中LETTER
是您要添加的词的首字母。为您的词语定义添加一行。
您的行应位于数组中,在其他条目之间。条目示例如下:
word.new(<STEM>, <AFFIXES>, <PART OF SPEECH>),
条目按字母顺序排列。
填写必填字段
<STEM>
、<AFFIXES>
和<PART OF SPEECH>
。将
<STEM>
替换为词干。这是没有任何前缀或后缀的词。对于动词 downsampling,词干是 downsample。
您必须将词干放在单引号 (
'
) 之间。您的行应类似于以下内容:
word.new('downsample', <AFFIXES>, <PART OF SPEECH>),
将
<AFFIXES>
替换为 Hunspell 词缀的组合。要了解可以添加哪些词缀,请参考Hunspell 词缀表。
您必须将词缀放在单引号 (
'
) 之间。要添加过去式和动名词形式的词缀,您的行应类似于以下内容:
word.new('downsample', 'DG', <PART OF SPEECH>),
将
<PART OF SPEECH>
替换为词性。对于动词,它是
'verb'
。对于名词,它是'noun'
。对于形容词,它是'adjective'
。您完成的行应类似于以下内容:
word.new('downsample', 'DG', 'verb'),
如果该词不广为人知,扩展其定义以包含描述:
description: <DESCRIPTION>
。描述应该定义该词。
您的行应类似于以下内容:
word.new('downsample', 'DG', 'verb') { description: 'To reduce the sampling rate of a signal.' },
添加产品名称
产品可以是 Grafana Labs 的产品、其他公司的产品或项目的名称。
步骤
添加产品
在编辑器中打开
vale/dictionary/<LETTER>.jsonnet
模板文件,其中LETTER
是您要添加的词的首字母。为您的词语定义添加一行。
您的行应位于数组中,在其他条目之间。条目示例如下:
word.new(<STEM>, <AFFIXES>, <PART OF SPEECH>),
条目按字母顺序排列。
填写必填字段
<STEM>
、<AFFIXES>
和<PART OF SPEECH>
。将
<STEM>
替换为词干。对于产品,这是产品名称。
word.new('CloudWatch', <AFFIXES>, <PART OF SPEECH>),
将
<AFFIXES>
替换为 Hunspell 词缀的组合。产品通常没有词缀。
word.new('CloudWatch', '', <PART OF SPEECH>),
将
<PART OF SPEECH>
替换为词性。对于产品,这是
'noun'
。您的行应类似于以下内容:
word.new('CloudWatch', '', 'noun'),
扩展定义以表明它是一个产品。
在右括号 (
)
) 和行尾逗号 (,
) 之间添加对象{ product: true }
。您的行应类似于以下内容:
word.new('CloudWatch', '', 'noun') { product: true },
如果该产品是 Amazon 产品,扩展其定义以包含这一点。
更新对象以包含一个额外的字段,
Amazon: true
。您的行应类似于以下内容:
word.new('CloudWatch', '', 'noun') { Amazon: true, product: true },
扩展其定义以包含描述:
description: <DESCRIPTION>
。描述应至少包含产品主要文档的链接。
您的行应类似于以下内容:
word.new('CloudWatch', '', 'noun') { Amazon: true, description: 'https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html', product: true },
添加缩写
缩写是一个短语的缩短形式。如果该缩写是常用的(例如 HTTP),您无需在文章中解释它。您可以在定义中说明该缩写是常用的。
步骤
添加缩写
在编辑器中打开
vale/dictionary/<LETTER>.jsonnet
模板文件,其中LETTER
是您要添加的词的首字母。为您的词语定义添加一行。
您的行应位于数组中,在其他条目之间。条目示例如下:
word.new(<STEM>, <AFFIXES>, <PART OF SPEECH>),
条目按字母顺序排列。
填写必填字段
<STEM>
、<AFFIXES>
和<PART OF SPEECH>
。将
<STEM>
替换为词干。对于缩写,这是缩写的字母。
word.new('SUT', <AFFIXES>, <PART OF SPEECH>),
将
<AFFIXES>
替换为 Hunspell 词缀的组合。要了解可以添加哪些词缀,请参考Hunspell 词缀表。
您必须将词缀放在单引号 (
'
) 之间。一些缩写有复数后缀。要添加复数后缀,请包含
s
。所有词缀都区分大小写。word.new('SUT', 's', <PART OF SPEECH>),
将
<PART OF SPEECH>
替换为词性。对于缩写,这是
'noun'
。您的行应类似于以下内容:
word.new('SUT', 's', 'noun'),
扩展定义以表明它是一个缩写。
在右括号 (
)
) 和行尾逗号 (,
) 之间添加对象{ abbreviation: true }
。您的行应类似于以下内容:
word.new('SUT', 's', 'noun') { abbreviation: true },
扩展其定义以包含描述:
description: <DESCRIPTION>
。描述应至少包含缩写的完整形式。
您的行应类似于以下内容:
word.new('SUT', 's', 'noun') { abbreviation: true, description: 'System Under Test' },
如果您不需要为普通读者扩展缩写,扩展定义以包含这一点。
更新对象以包含一个额外的字段,
established_abbreviation: true
。对于常用的缩写 HTTP,您的行应类似于以下内容:
word.new('HTTP', '', 'noun') { abbreviation: true, description: 'Hypertext Transfer Protocol', established_abbreviation: true },