Test for missing backticks or improper capitalization in docs
Proposal
The docs, which is using markdownlint across all docs-related projects (Charts, Omnibus, Runner and GitLab), should make use of markdownlint rule 44 (proper capitalization) to enforce proper capitalization automatically, which has the added benefit of often pointing out places where backticks should be used for commands.
For example:
Gitlab uses git. Run git log to see the log.
-
Gitlab
fails, because it needs a capitalL
- The first
git
fails because it needs a capitalG
- The second
git
fails because the linter thinks it needs a capitalG
, but in reality, it needs backticks because it's a command example. By flagging this third issue, the writer will know to add backticks.
Corrected:
GitLab uses Git. Run git log
to see the log.
A second advantage of this is that it helps to find examples of bare URLs that are missed by rule 34 (bare URLs). If a bare URL is used without the http
, like about.gitlab.com
it will get caught by the capitalization rule (didn't capitalize gitlab
properly) if the name is in the list, and we can suggest either adding <https:// ... >
to it, or making it a proper markdown link.
In order to enable this rule, I have created a WIP list with proper names of products, and all examples of improper capitalization will have to be fixed. This will need to be done incrementally.
I am slowly expanding this list, in no particular order, just as I run into mistakes people made and then add it to my personal .markdownlint.json
file. Note, that it also works for names that should NOT have caps (like runit
):
"proper-names": {
"names": [
"Akismet",
"Alertmanager",
"API",
"Asana",
"Auth0",
"Authentiq",
"Azure",
"Bamboo",
"Bitbucket",
"Bootstrap",
"Bugzilla",
"CAS",
"CentOS",
"Consul",
"Debian",
"Elasticsearch",
"Facebook",
"Git LFS",
"git-annex",
"Git",
"Gitaly",
"GitHub",
"GitLab Geo",
"GitLab Monitor",
"GitLab Pages",
"GitLab Rails",
"GitLab Runner",
"GitLab Shell",
"GitLab Workhorse",
"GitLab",
"Gmail",
"Google",
"Grafana",
"Helm",
"HipChat",
"Ingress",
"jasmine-jquery",
"JavaScript",
"Jaeger",
"Jenkins",
"Jira",
"Jira Cloud",
"Jira Server",
"jQuery",
"JupyterHub",
"Karma",
"Kerberos",
"Knative",
"Kubernetes",
"LDAP",
"Let's Encrypt",
"Markdown",
"markdownlint",
"Mattermost",
"Microsoft",
"MinIO",
"NGINX Ingress",
"NGINX",
"OAuth",
"OAuth 2",
"OmniAuth",
"Omnibus GitLab",
"OpenID",
"OpenShift",
"PgBouncer",
"PostgreSQL",
"Prometheus",
"Puma",
"Python",
"Redis",
"Redmine",
"reCAPTCHA",
"runit",
"Salesforce",
"SAML",
"Sentry",
"Sidekiq",
"Shibboleth",
"Slack",
"SMTP",
"SSH",
"Trello",
"Trello Power-Ups",
"Twitter",
"TypeScript",
"Ubuntu",
"Ultra Auth",
"Unicorn",
"unicorn-worker-killer",
"WebdriverIO",
"YouTrack"
],
"code_blocks": false
}
This Issue will track the work done on this effort.