Vale 规则
Vale 将我们的风格指南编入了一系列可用于检查文本的规则。以下是我们定义的所有规则列表。
错误 (Errors)
以下规则被视为错误,必须修正。
Grafana.GoogleAMPM
Extends: existence
使用 ‘AM’ 或 ‘PM’(前面加一个空格)。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\d{1,2}[AP]M\b
\d{1,2} ?[ap]m\b
\d{1,2} ?[aApP]\.[mM]\.
Grafana.GoogleDateFormat
Extends: existence
使用 ‘July 31, 2016’ 格式,而非 <CURRENT TEXT>
。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\d{1,2}(?:\.|/)\d{1,2}(?:\.|/)\d{4}
\d{1,2} (?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?) \d{4}
Grafana.GoogleEmDash
Extends: existence
破折号前后不要加空格。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\s[—–]\s
Grafana.GoogleEnDash
Extends: existence
使用长破折号(’—’),而非 ‘–’。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
–
Grafana.GoogleGender
Extends: existence
不要使用 <CURRENT TEXT>
作为中性代词。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
he/she
s/he
\(s\)he
Grafana.GoogleGenderBias
Extends: substitution
考虑使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
(?:alumnae|alumni) | graduates |
(?:alumna|alumnus) | graduate |
air(?:m[ae]n|wom[ae]n) | pilot(s) |
anchor(?:m[ae]n|wom[ae]n) | anchor(s) |
authoress | author |
camera(?:m[ae]n|wom[ae]n) | camera operator(s) |
door(?:m[ae]|wom[ae]n) | concierge(s) |
draft(?:m[ae]n|wom[ae]n) | drafter(s) |
fire(?:m[ae]n|wom[ae]n) | firefighter(s) |
fisher(?:m[ae]n|wom[ae]n) | fisher(s) |
fresh(?:m[ae]n|wom[ae]n) | first-year student(s) |
garbage(?:m[ae]n|wom[ae]n) | waste collector(s) |
lady lawyer | lawyer |
ladylike | courteous |
mail(?:m[ae]n|wom[ae]n) | mail carriers |
man and wife | husband and wife |
man enough | strong enough |
mankind | human kind|humanity |
manmade | manufactured |
manpower | personnel |
middle(?:m[ae]n|wom[ae]n) | intermediary |
news(?:m[ae]n|wom[ae]n) | journalist(s) |
ombuds(?:man|woman) | ombuds |
oneupmanship | upstaging |
poetess | poet |
police(?:m[ae]n|wom[ae]n) | police officer(s) |
repair(?:m[ae]n|wom[ae]n) | technician(s) |
sales(?:m[ae]n|wom[ae]n) | salesperson or sales people |
service(?:m[ae]n|wom[ae]n) | soldier(s) |
steward(?:ess)? | flight attendant |
tribes(?:m[ae]n|wom[ae]n) | tribe member(s) |
waitress | waiter |
woman doctor | doctor |
woman scientist[s]? | scientist(s) |
work(?:m[ae]n|wom[ae]n) | worker(s) |
Grafana.GoogleLyHyphens
Extends: existence
<CURRENT TEXT>
不需要连字符。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\b[^\s-]+ly-\w+\b
Grafana.GoogleOptionalPlurals
Extends: existence
不要在括号中使用复数,例如 <CURRENT TEXT>
。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\b\w+\(s\)
Grafana.GooglePeriods
Extends: existence
不要在首字母缩略词或缩写词中使用句点,例如 <CURRENT TEXT>
。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\b(?:[A-Z]\.){3,}
Grafana.GoogleSlang
Extends: existence
不要使用互联网俚语缩写,例如 <CURRENT TEXT>
。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
tl;dr
ymmv
rtfm
imo
fwiw
Grafana.GoogleSpacing
Extends: existence
<CURRENT TEXT>
应该有一个空格。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
[a-z][.?!] {2,}[A-Z]
[a-z][.?!][A-Z]
Grafana.Latin
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
e\.?g[,.]? | for example |
i\.?e[,.]? | that is |
Grafana.Ordinal
Extends: existence
对于序数词,1到9请使用单词拼写。从10开始,使用数字。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
Grafana.Paragraphs
Extends: script
br 元素只能用于实际内容中的换行,例如诗歌或地址。
Grafana.Please
Extends: existence
保持礼貌是好事,但在说明中使用“please”则显得过于客气。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
please
Grafana.ReferTo
Extends: substitution
在 Markdown 中链接时,使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
Check out \[ | Refer to [ |
See \[ | Refer to [ |
check out \[ | refer to [ |
see \[ | refer to [ |
Grafana.RepeatedWords
Extends: repetition
<CURRENT TEXT>
重复出现
Grafana.Spelling
Extends: spelling
您的意思确实是 <CURRENT TEXT>
吗?
Grafana 词典可能尚未收录此词。
要添加新词,请参考 添加词汇到 Grafana Labs 词典。或者,您可以提出一个 Issue,维护者会为您添加。
对于 UI 元素,使用 粗体 格式。拼写检查器不检查粗体格式的词汇。
对于路径;配置;用户输入;代码;类、方法和变量名;状态码;以及控制台输出,使用 代码 格式。拼写检查器不检查代码格式的词汇。
警告 (Warnings)
以下规则是警告,可能需要修正或需要考虑。
Grafana.Admin
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
,除非它是 UI 标签名称,例如 Grafana 的“Admin”角色。
当前文本 | 替代文本 |
---|---|
admin | administrator |
Grafana.Admonitions
Extends: script
优先使用 admonition
shortcode,而非 blockquotes。
admonition
shortcode 会将内容渲染为具有全网站一致样式的 blockquote。
Grafana.Agentless
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
Grafana Agent 已被 Grafana Alloy 替代,因此不应再使用基于 agent 的术语。
如果您讨论的是为什么以及如何直接从应用发送信号到 Grafana Cloud,优先使用 no-collector 而非 agentless。
这与 OTel 文档一致。
当前文本 | 替代文本 |
---|---|
agentless | no-collector |
Grafana.AllowsTo
Extends: substitution
您的意思是 <REPLACEMENT TEXT>
吗?
'Allows to' 是一个常见的用词错误。
当前文本 | 替代文本 |
---|---|
allows to | allows you to|makes it possible to |
Grafana.AltText
Extends: script
所有图片必须带有 alt text。
Grafana.AmazonCloudWatch
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
AWS CloudWatch | Amazon CloudWatch |
Cloudwatch | CloudWatch |
aws CloudWatch | Amazon CloudWatch |
cloudWatch | CloudWatch |
cloudwatch | CloudWatch |
Grafana.AmazonProductNames
Extends: conditional
首次提及时使用完整的 Amazon 产品名称。
Grafana.AndOr
Extends: existence
避免使用 'and/or',除非空间有限,例如表格中。
通常,“and”隐含着“or”的含义,因此您无需同时使用这两个词。
如果您的内容需要同时指定两者,请写成:“您可以导出原始事件、已处理事件或两者。”
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
and/or
Grafana.ApacheProjectNames
Extends: conditional
首次提及时使用完整的 Apache 项目名称。
Grafana.CHANGELOG
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
,除非您指的是拼写如此的特定文件。
当前文本 | 替代文本 |
---|---|
[Cc]hangelog | CHANGELOG |
[Cc]hangelog\.md | CHANGELOG.md |
[Cc]hangelogs | CHANGELOGs |
Grafana.CommandLinePrompts
Extends: script
不要在命令前添加 $ 或 # 作为提示符。请方便用户复制和粘贴命令。
此外,不要在命令中使用 # 添加注释。解释应放在代码块外部。
Grafana.DatadogProxy
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
Datadog Proxy | Datadog proxy |
[tT]he [Dd]atadog proxy | Datadog proxy |
Grafana.DialogBox
Extends: substitution
使用 <REPLACEMENT TEXT>
而非 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
dialog box appears | dialog box opens |
dialog(?! box) | dialog box |
modal | dialog box |
Grafana.DocumentationTeam
Extends: substitution
使用 <REPLACEMENT TEXT>
而非 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
[Dd]ocs? (?:[Ss]quad|[Tt]eam) | the Grafana Labs documentation team |
[Dd]ocumentation (?:[Ss]quad|Team) | the Grafana Labs documentation team |
Grafana.EndToEnd
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
[eE]2[eE] | end-to-end |
Grafana.Exclamation
Extends: existence
避免在文本中使用感叹号,除非是极少数真正令人兴奋的时刻。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\w+!(?:\s|$)
Grafana.Gerunds
Extends: script
对于基于任务的标题,以 不带 to 的不定式 开头,也称为原形或 基本形式 动词。在英语中,祈使语气也使用动词的基本形式,因此看起来与不带 to 的不定式相同。
基于任务的标题经常用于快速入门、操作指南和教程中。
对于概念性或非基于任务的标题,使用不以 -ing 动词开头的 名词短语。
名词短语标题经常用于概念文档中。
Grafana.GoogleEllipses
Extends: existence
通常情况下,不要使用省略号。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\.\.\.
Grafana.GoogleFirstPerson
Extends: existence
避免使用第一人称代词,例如 <CURRENT TEXT>
。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
(?:^|\s)I\s
(?:^|\s)I,\s
\bI'm\b
\bme\b
\bmy\b
\bmine\b
Grafana.GoogleHeadingPunctuation
Extends: existence
标题末尾不要加句号。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
[a-z0-9][.]\s*$
Grafana.GoogleProductNames
Extends: conditional
首次提及时使用完整的 Google 产品名称。
Grafana.GoogleRanges
Extends: existence
描述数字范围时,不要添加“from”或“between”等词汇。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
(?:from|between)\s\d+\s?-\s?\d+
Grafana.GoogleSpelling
Extends: existence
通常情况下,使用美式拼写而非 <CURRENT TEXT>
。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
(?:\w+)nised?
colour
labour
centre
Grafana.GoogleWill
Extends: existence
避免使用 <CURRENT TEXT>
。
对于描述与特定时间无关的一般性行为的陈述,请使用现在时。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
will
Grafana.GrafanaCom
Extends: existence
不要使用 grafana.com
,请改用以下方式之一
- 如果您讨论的是 Grafana Cloud,请使用
Grafana Cloud
。 - 如果您讨论的是公司,请使用
Grafana Labs
。 - 如果您链接到网站上的页面,请使用页面标题或包含 scheme 的完整 URL。例如,
https://grafana.org.cn/
。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
grafana\.com
Grafana.Headings
Extends: capitalization
对 <CURRENT TEXT>
使用句子风格的大小写。
Vale 将多词例外(例如 Grafana Enterprise Metrics)视为一个单独且大小写正确的词汇。
如果您的标题包含代表产品名称的首字母大写词汇,您需要将这些词汇添加到 Grafana 词典或 https://github.com/grafana/writers-toolkit/blob/main/vale/Headings.jsonnet 中的静态例外列表中,以便它们被视为大小写正确。
Grafana.Kubernetes
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
[Kk]ubectl | kubectl |
[Kk]ubelet | kubelet |
[Kk]ubernetes deployment | Kubernetes Deployment |
cron job | CronJob |
d[ae][ae]mon[Ss]et | DaemonSet |
pod | Pod |
replica[Ss]et | ReplicaSet |
stateful[Ss]et | StatefulSet |
Grafana.MetaMonitoring
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
meta ?monitoring | meta-monitoring |
Grafana.OK
Extends: existence
不要在文本中使用 okay 的任何变体。例外情况是您引用或引述时
- 用户界面
- HTTP 状态码或其他代码
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
O.K.
OK
ok
Ok
Okay
okay
A-OK
hokay
k
keh
kk
M'kay
oka
okeh
Okie dokie
Okily Dokily
Grafana.ProductPossessives
Extends: existence
不要从功能名称、产品名称或商标构成所有格,无论其所有者是谁。相反,将其用作修饰语,或重写以使用类似 'of' 的词来表示关系。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
ADOT's
AI Observability's
Agent's
Alloy's
ARN's
Asserts'
AWS's
AWS Distro for OpenTelemetry Collector's
AWS X-Ray's
Beyla's
BoringCrypto's
CentOS's
CloudWatch's
Codespaces'
Data Firehose's
Databricks'
Datadog's
Dynatrace's
EKS's
Elastic Kubernetes Service's
Entra's
Figma's
Firehose's
FreeBSD's
GEM's
GKE's
Git's
GitHub's
GitLab's
GNU's
Grafana's
Gravatar's
Graylog's
Gunicorn's
hashmod's
IBM's
InfluxDB's
Jaeger's
Jira's
journald's
Jsonnet's
Kibana's
Killercoda's
Kinesis'
Kotlin's
KQL's
Kubernetes'
Kubernetes Engine's
Kusto's
Kustomize's
LangChain's
launchd's
Logs Drilldown's
Loki's
Lucene's
Markdown's
Memcached's
Metrics Drilldown's
Mesos'
Mimir's
Moodle's
MySQL's
Netlink's
Okta's
OnCall's
OpenAI's
OpenShift's
OpenTelemetry's
Opsgenie's
OTel's
PagerDuty's
Parca's
Phlare's
Pinecone's
Podman's
Postgres'
PostgreSQL's
pprof's
Profiles Drilldown's
Prometheus'
Promtail's
Pyroscope's
RCA workbench's
RDS's
Relational Database Service's
React's
Redis'
RHEL's
Rollup's
RudderStack's
Sensu's
Sensu Go's
Splunk's
SSM's
SUSE's
Tempo's
Thanos'
Threema's
Traces Drilldown's
Velero's
Vite's
VMware's
Webex's
WildFly's
windows_exporter's
Zipkin's
Grafana.PrometheusExporters
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
[Nn]ode exporter | Node Exporter |
Grafana.Quickstart
Extends: substitution
无论名词是隐含的还是明确的,都请使用复合形容词 <REPLACEMENT TEXT>
(不带连字符)替代 <CURRENT TEXT>
。例如,您可以使用 quickstart guide 或仅使用 quickstart。
当前文本 | 替代文本 |
---|---|
quick start | quickstart |
Grafana.README
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
,除非您指的是拼写如此的特定文件。
当前文本 | 替代文本 |
---|---|
[Rr]eadme | README |
[Rr]eadme\.md | README.md |
[Rr]eadmes | READMEs |
Grafana.React
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
[Rr]eact[. ]?[Jj][Ss] | React |
Grafana.SQL
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
在首字母缩略词 SQL 之前使用的冠词(a 或 an)取决于该词的发音方式。
指代产品 Microsoft SQL Server 时,SQL 应发音为“sequel”。在这种情况下,使用冠词“a”,例如“a SQL Server analysis”。
在任何其他语境下(例如 SQL databases, errors, or servers)指代该术语时,SQL 应发音为“ess-cue-el”。在这种情况下,使用冠词“an”,例如“an SQL error”。
当前文本 | 替代文本 |
---|---|
[Aa] SQL server | an SQL server|a SQL Server |
[Aa] SQL(?! [Ss]erver) | an SQL |
[Aa]n SQL Server | a SQL Server |
Grafana.SelfManaged
Extends: substitution
讨论 Grafana 部署方法时,使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
on-prem(?:ise)? | self-managed |
self-hosted | self-managed |
Grafana.Shortcodes
Extends: script
优先使用 {{<
和 >}}
,而非 {{%
和 %}}
它具有最一致的语义。
百分号语法用于此 shortcode 不需要特殊行为的情况。
Grafana.SmartQuotes
Extends: script
避免在源文件中使用智能引号,尤其是在代码块中。
将所有智能双引号(例如 “
或 ”
)替换为 "
。将所有智能单引号(例如 ‘
、’
或 ʼ
)替换为 '
。
在某些上下文中,Unicode 字符不受支持并会破坏配置。
网站会在段落中将成对的引号渲染为智能引号。
Grafana.Wish
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
wish | need|want |
Grafana.WordList
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
(?:(?<!Data )Firehose|Kinesis Data Firehose|Kinesis Firehose) | Data Firehose |
(?:SHA-1|HAS-SHA1) | SHA-1 |
(?:WiFi|wifi) | Wi-Fi |
(?:[Oo]penshift|openShift) | OpenShift |
(?:[eE]-mail) | email |
(?:[oO]pentelemetry|openTelemetry) | OpenTelemetry |
(?:alert[Mm]anager|[Aa]lert [Mm]anager|AlertManager) | Alertmanager |
(?:cell ?phone|smart ?phone) | phone|mobile phone |
(?:content|media)-?type | media type |
(?:file ?path|path ?name) | path |
(?:file ?path|path ?name)s | paths |
(?:github|gitHub|Github) | GitHub |
(?:gitlab|gitLab|Gitlab) | GitLab |
(?:hamburger menu|kebab menu) | menu icon |
(?:java[Ss]cript|Javascript) | JavaScript |
(?:kill|terminate|abort) | stop|exit|cancel|end |
(?<!kube-)prometheus | Prometheus |
(?<!lambda-)promtail | Promtail |
GME | GEM |
Grafana AI observability | Grafana AI Observability |
HTTPs | HTTPS |
Influx[Dd]b | InfluxDB |
Influxd[Bb] | InfluxDB |
Once | After |
Pagerduty | PagerDuty |
RCA Workbench | RCA workbench |
Rudderstack | RudderStack |
VMWare | VMware |
Vmware | VMware |
[Ww]orld [Ww]ide [Ww]eb | web |
[cC]entos | CentOS |
\b(?:[aA]daptive metrics|adaptive Metrics)\b | Adaptive Metrics |
ad[- ]?hoc | free-form|user-written |
back[ -]end | backend |
blacklist | blocklist |
blacklisted | blocklisted |
blacklisting | blocklisting |
blacklists | blocklists |
cadvisor | cAdvisor |
check[- ]box | checkbox |
content type | media type |
media type | data-?source |
data source | data-?sources |
data sources | data[- ]?set |
dataset | data[- ]?sets |
datasets | datacenter |
data center | datacenters |
data centers | de-duplicate |
deduplicate | de-duplicated |
deduplicated | de-duplicates |
deduplicates | de-duplication |
deduplication | fewer data |
less data | figma |
Figma | file name |
filename | file names |
filenames | firewalls |
firewall rules | front[ -]end |
frontend | front[ -]ends |
frontends | git |
Git | Grafana |
grafana | unavailable |
gunicorn | Gunicorn |
in order to | to |
influx[Dd][Bb] | InfluxDB |
jsonnet | Jsonnet |
kotlin | Kotlin |
langchain | LangChain |
left[- ]hand[- ]side | left-side |
log(?:ql|QL) | LogQL |
loki | Loki |
lucene | Lucene |
markdown | Markdown |
memcached | Memcached |
meta[- ]data | metadata |
mix[- ]in | mixin |
mysql | MySQL |
network IP address | internal IP address |
open-source | open source |
otel | OTel |
otlp | OTLP |
pager[dD]uty | PagerDuty |
phlare | Phlare |
postgres | Postgres |
postgresql | PostgreSQL |
prom(?:ql|QL) | PromQL |
redis | Redis |
regex[ep]?s | regular expression |
regexp? | regular expression |
repo | repository |
repos | repositories |
right[- ]hand[- ]side | right-side |
rudderstack | RudderStack |
sensu | Sensu |
sign into | sign in to |
sqlite | SQLite |
style sheet | stylesheet |
style sheets | stylesheet |
synch | sync |
synched | synced |
synching | syncing |
tempo | Tempo |
the Grafana Agent | Grafana Agent |
the RCA [Ww]orkbench | RCA workbench |
threema | Threema |
timeseries | time series|time-series |
trace(?:ql|QL) | TraceQL |
un(?:check|select) | clear |
url | URL |
urls | URLs |
vmware | VMware |
vs\. | versus |
webex | Webex |
whitelist | allowlist |
whitelisted | allowlisted |
whitelisting | allowlisting |
whitelists | allowlists |
建议 (Suggestions)
以下规则是风格方面的建议。
Grafana.Acronyms
Extends: conditional
如果受众不熟悉,请拼出 <CURRENT TEXT>
的全称。
Grafana.Archives
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
[Uu]n(?:archive|compress|tar|zip) | extract |
[Zz][Ii][Pp](?: file)? | archive|compressed file |
unzip | extract |
Grafana.DropDown
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
将 drop-down 作为修饰语使用,而非独立名词。例如:drop-down menu。
当前文本 | 替代文本 |
---|---|
drop ?down | drop-down |
Grafana.GoogleContractions
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
are not | aren't |
cannot | can't |
could not | couldn't |
did not | didn't |
do not | don't |
does not | doesn't |
has not | hasn't |
have not | haven't |
how is | how's |
is not | isn't |
it is | it's |
should not | shouldn't |
that is | that's |
they are | they're |
was not | wasn't |
we are | we're |
we have | we've |
were not | weren't |
what is | what's |
when is | when's |
where is | where's |
will not | won't |
Grafana.GoogleOxfordComma
Extends: existence
在 <CURRENT TEXT>
中使用牛津逗号。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
(?:[^,]+,){1,}\s\w+\s(?:and|or)
Grafana.GooglePassive
Extends: existence
通常情况下,使用主动语态而非被动语态(<CURRENT TEXT>
)。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
[\w]+ed
awoken
beat
become
been
begun
bent
beset
bet
bid
bidden
bitten
bled
blown
born
bought
bound
bred
broadcast
broken
brought
built
burnt
burst
cast
caught
chosen
clung
come
cost
crept
cut
dealt
dived
done
drawn
dreamt
driven
drunk
dug
eaten
fallen
fed
felt
fit
fled
flown
flung
forbidden
foregone
forgiven
forgotten
forsaken
fought
found
frozen
given
gone
gotten
ground
grown
heard
held
hidden
hit
hung
hurt
kept
knelt
knit
known
laid
lain
leapt
learnt
led
left
lent
let
lighted
lost
made
meant
met
misspelt
mistaken
mown
overcome
overdone
overtaken
overthrown
paid
pled
proven
put
quit
read
rid
ridden
risen
run
rung
said
sat
sawn
seen
sent
set
sewn
shaken
shaven
shed
shod
shone
shorn
shot
shown
shrunk
shut
slain
slept
slid
slit
slung
smitten
sold
sought
sown
sped
spent
spilt
spit
split
spoken
spread
sprung
spun
stolen
stood
stridden
striven
struck
strung
stuck
stung
stunk
sung
sunk
swept
swollen
sworn
swum
swung
taken
taught
thought
thrived
thrown
thrust
told
torn
trodden
understood
upheld
upset
wed
wept
withheld
withstood
woken
won
worn
wound
woven
written
wrung
Grafana.GoogleSemicolons
Extends: existence
谨慎使用分号。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
;
Grafana.OAuth
Extends: substitution
使用 <REPLACEMENT TEXT>
替代 <CURRENT TEXT>
。
当前文本 | 替代文本 |
---|---|
O[Aa]uth 2(?!\.0) | OAuth 2.0 |
O[Aa]uth(?! 2\.0) | OAuth 2.0 |
Grafana.Parentheses
Extends: existence
谨慎使用括号。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
\(.{4,}\)
Grafana.ReadabilityAutomatedReadability
Extends: metric
<CURRENT TEXT>
目标分数为 8 以下。
Grafana.ReadabilityColemanLiau
Extends: metric
<CURRENT TEXT>
目标分数为 9 以下。
Grafana.ReadabilityFleschKincaid
Extends: metric
<CURRENT TEXT>
目标分数为 8 以下。
Grafana.ReadabilityFleschReadingEase
Extends: metric
<CURRENT TEXT>
目标分数为 70 以上。
Grafana.ReadabilityGunningFog
Extends: metric
<CURRENT TEXT>
目标分数为 10 以下。
Grafana.ReadabilityLIX
Extends: metric
<CURRENT TEXT>
目标分数为 35 以下。
Grafana.ReadabilitySMOG
Extends: metric
<CURRENT TEXT>
目标分数为 10 以下。
Grafana.Timeless
Extends: existence
避免使用 <CURRENT TEXT>
以保持文档的时效性。
通常情况下,请记录产品或功能的当前版本。
这减少了保持文档更新所需的维护工作。它避免假设读者熟悉产品的早期版本。
如果您撰写的是过程性或带有时间戳的内容,例如新闻稿、博客文章或发布说明,则可以使用此类基于时间的词汇和短语。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
as of this writing
currently
does not yet
eventually
existing
future
in the future
latest
new
newer
now
old
older
presently
at present
soon
Grafana.We
Extends: existence
谨慎使用第一人称复数代词,例如 <CURRENT TEXT>
。
讨论读者时,不要使用“we”,请使用“you”。
讨论 Grafana Labs 时,可以使用“we”。
<CURRENT TEXT>
与以下一个或多个正则表达式匹配
we
we'(?:ve|re)
ours?
us
let's