From 340fa465ceb166f64a99f06596f11deb4b60240b Mon Sep 17 00:00:00 2001 From: Bob Watson Date: Mon, 1 Aug 2022 16:33:29 -0700 Subject: [PATCH] docs: add more documentation about lint messages (#47019) Adds suggestions for how to resolve the most common messages produced by the documentation linter. Adds links to the Proselint and other style tests to the new documentation. Updates pullapprove and navigation. PR Close #47019 --- .pullapprove.yml | 2 + .../guide/contributors-guide-overview.md | 7 +- aio/content/guide/docs-lint-errors.md | 256 ++++++++++++++++++ .../docs-lint-errors/lint-error-icon.png | Bin 0 -> 622 bytes .../guide/docs-lint-errors/lint-info-icon.png | Bin 0 -> 508 bytes .../guide/docs-lint-errors/lint-warn-icon.png | Bin 0 -> 447 bytes .../docs-lint-errors/sample-lint-error.png | Bin 0 -> 12089 bytes aio/content/navigation.json | 7 +- .../Angular/Google_WordListSuggestions.yml | 2 +- .../Angular/Google_WordListWarnings.yml | 2 +- .../styles/Angular/WriteGood_Cliches.yml | 1 + .../styles/Angular/WriteGood_So.yml | 1 + .../styles/Angular/WriteGood_ThereIs.yml | 1 + .../styles/Angular/WriteGood_TooWordy.yml | 1 + .../doc-linter/styles/proselint/Airlinese.yml | 1 + .../styles/proselint/AnimalLabels.yml | 1 + .../styles/proselint/Annotations.yml | 1 + .../styles/proselint/Apologizing.yml | 1 + .../doc-linter/styles/proselint/Archaisms.yml | 1 + aio/tools/doc-linter/styles/proselint/But.yml | 1 + .../doc-linter/styles/proselint/Cliches.yml | 1 + .../styles/proselint/CorporateSpeak.yml | 1 + .../doc-linter/styles/proselint/Currency.yml | 1 + .../doc-linter/styles/proselint/Cursing.yml | 1 + .../doc-linter/styles/proselint/DateCase.yml | 1 + .../styles/proselint/DateMidnight.yml | 1 + .../styles/proselint/DateRedundancy.yml | 1 + .../styles/proselint/DateSpacing.yml | 1 + .../styles/proselint/DenizenLabels.yml | 1 + .../styles/proselint/Diacritical.yml | 1 + .../styles/proselint/GenderBias.yml | 1 + .../styles/proselint/GroupTerms.yml | 1 + .../doc-linter/styles/proselint/Hedging.yml | 1 + .../doc-linter/styles/proselint/Hyperbole.yml | 1 + .../doc-linter/styles/proselint/Illusions.yml | 1 + .../doc-linter/styles/proselint/Jargon.yml | 1 + .../styles/proselint/LGBTOffensive.yml | 1 + .../doc-linter/styles/proselint/LGBTTerms.yml | 1 + .../styles/proselint/Malapropisms.yml | 1 + .../doc-linter/styles/proselint/Needless.yml | 1 + .../doc-linter/styles/proselint/Nonwords.yml | 1 + .../doc-linter/styles/proselint/Oxymorons.yml | 1 + .../doc-linter/styles/proselint/P-Value.yml | 1 + .../styles/proselint/RASSyndrome.yml | 1 + .../doc-linter/styles/proselint/Skunked.yml | 1 + .../doc-linter/styles/proselint/Spelling.yml | 1 + .../styles/proselint/Typography.yml | 1 + .../styles/proselint/Uncomparables.yml | 1 + .../doc-linter/styles/proselint/Very.yml | 1 + 49 files changed, 309 insertions(+), 6 deletions(-) create mode 100644 aio/content/guide/docs-lint-errors.md create mode 100644 aio/content/images/guide/docs-lint-errors/lint-error-icon.png create mode 100644 aio/content/images/guide/docs-lint-errors/lint-info-icon.png create mode 100644 aio/content/images/guide/docs-lint-errors/lint-warn-icon.png create mode 100644 aio/content/images/guide/docs-lint-errors/sample-lint-error.png diff --git a/.pullapprove.yml b/.pullapprove.yml index 2656c2351f7..a168baea73f 100644 --- a/.pullapprove.yml +++ b/.pullapprove.yml @@ -1056,6 +1056,8 @@ groups: 'aio/content/guide/docs-style-guide.md', 'aio/content/examples/docs-style-guide/**/{*,.*}', 'aio/content/images/guide/docs-style-guide/**/{*,.*}', + 'aio/content/guide/docs-lint-errors.md', + 'aio/content/images/guide/docs-lint-errors/**/{*,.*}', 'aio/content/guide/localized-documentation.md', 'aio/content/guide/localizing-angular.md', 'aio/content/guide/reviewing-content.md', diff --git a/aio/content/guide/contributors-guide-overview.md b/aio/content/guide/contributors-guide-overview.md index ceeef495923..620c612778d 100644 --- a/aio/content/guide/contributors-guide-overview.md +++ b/aio/content/guide/contributors-guide-overview.md @@ -1,4 +1,4 @@ -# Content Contributor's Guide +# Documentation contributor's guide Angular, as an open source project, depends on its community. This dependence is particularly important to the documentation. The more the community contributes to the documentation, the better the documentation becomes, which helps both new and experienced Angular developers. @@ -6,9 +6,9 @@ The topics in this section cover ways in which you can contribute to the Angular ## Before you begin -Before you get started with your contributions, we recommend that you review [Contributing to Angular](https://github.com/angular/angular/blob/main/CONTRIBUTING.md). That topic explains many of the tasks and guidelines you need to know before you make your first pull request. +Before you get started with your contributions, review [Contributing to Angular](https://github.com/angular/angular/blob/main/CONTRIBUTING.md). That topic explains many of the tasks and guidelines you need to know before you make your first pull request. -## Contributing to Angular +## Contributing to Angular documentation
@@ -37,3 +37,4 @@ Before you get started with your contributions, we recommend that you review [Co
+ diff --git a/aio/content/guide/docs-lint-errors.md b/aio/content/guide/docs-lint-errors.md new file mode 100644 index 00000000000..c12cd7ccbb6 --- /dev/null +++ b/aio/content/guide/docs-lint-errors.md @@ -0,0 +1,256 @@ +# Resolving documentation linter messages + +This topic describes different ways to resolve common messages that the documentation linter produces. + +## Anatomy of a documentation linter message + +This is an example of a message produced by the documentation linter. + + + +A documentation linter message contains these elements. Starting from the top line: + + + + + +* The severity. One of these icons indicates the message's severity: + * documentation style error icon **Error** (A red `x` in a circle) Errors must be corrected before the file can be merged. + * documentation style warning icon **Warning** (A yellow exclamation mark in a triangle) Warnings should be corrected before the file is merged. + * documentation style info icon **Info** (A blue lower-case `i` in a circle) Informational messages should be corrected before the file is merged. +* The style rule message. The style rule message in this example is: *Did you really mean 'sdfdsfsdfdfssd'? It wasn't found in our dictionary.* +* The style reference. Some references are linked to a style guide topic that explains the rule. The style reference in this example is: *Vale(Angular.Angular_Spelling)*. +* The location of the problem text in the document identified by source line and column as precisely as possible. Some messages might not have the exact location of the text that triggered the message. The location in this example is: *[Ln 8, Col 1]*. +* The style test definition file that produced the message, which is linked to the file. The style test definition in this example is: *Angular_Spelling.yml[Ln 1, Col 1]: View rule*. + + + + + +## Strategies to improve your documentation + +These tips can help you improve your documentation and remove documentation linter messages. + +### Refer to the style guides + +The lint tool tests against the styles found in these style guides. +Most style tests include links to relevant sections in these documents for more information. + +* [Angular documentation style guide][AioGuideDocsStyleGuide] +* [Google Developer Documentation Style Guide][GoogleDevelopersStyle] + +
+ +Not every style mentioned in the style guides has a test. +Style guides and the style tests can change. + +
+ +### Split up long sentences + +Generally, shorter sentences are easier to read than longer ones. +Long sentences can occur when you try to say too much at once. +Long sentences, as well as the use of parentheses, semi-colons, or words identified as *too-wordy*, generally require rethinking and rewriting. + +Consider restructuring a long sentence to break its individual ideas into distinct sentences or bullet points. + +### Use lists and tables + +Sentences that contain comma-separated lists might be clearer if presented as a bulleted-list or table. + +Consider changing a comma-separated list of items in a sentence to a list of bullets to make those list items easier to read. + +### Use more common words + +Shorter, more common words are generally easier to read than longer ones. +This does not mean you need to write down to the audience. Technical docs should still be precise. +Angular docs are read by many people around the world and should use language that the most people can understand. + +If you think a specific term is required even though it is been flagged as uncommon, try to include a short explanation of the term. +Also, try adding some context around its first mention. + +Linking a term to another section or topic is also an option, but consider the disruption that causes to the reader before you use it. +If you force a reader to go to another page for a definition, they might lose their concentration on the current topic and their primary goal. + +### Use fewer words + +If you can remove a word and not lose the meaning of the sentence, leave it out. + +One common place where removing words can help is in a list of examples with more than two or three items. +Before you place the items in a bullet list, consider if only one of the items can convey the desired meaning. +Another option might be to replace a list of items with a single term that describes all the elements in your list. + +## More about specific documentation linter messages + +Most documentation linter messages are self-explanatory and include a link to supplementary documentation. +Some messages identify areas in that the documentation might need more thought. +The following types of messages often occur in areas of the text that should be reconsidered and rewritten to improve the text and remove the message. + +### A word is *too-wordy* or should be replaced by another + +Generally, technical documentation should use a simple and consistent vocabulary to be understood by a wide audience. Words that trigger this message are usually words for which there's a simpler way to convey the same thought. + + + + + + + + +#### Angular.WriteGood_TooWordy - See if you can rewrite the sentence... + + + + + + +Words identified by this style test can usually be replaced by simpler words. +If not, sentences with these words should be revised to use simpler language and avoid the word in the message. + +The following table has some common words detected by this type of message and simpler words to try in their place. + + + +| *Too-wordy* word | Simpler replacement | +|:-- |:-- | +|accelerate |speed up | +|accomplish |perform, finish | +|acquire |get | +|additional |more | +|adjustment |change | +|advantageous |beneficial | +|consequently |as a result | +|designate |assign | +|equivalent |the same | +|exclusively |only | +|for the most part |generally | +|have a tendency to |tend to | +|in addition |furthermore | +|modify |change or update | +|monitor |observe | +|necessitate |require | +|one particular |one | +|point in time |moment | +|portion |part | +|similar to |like | +|validate |verify | +|whether or not |whether | + + + + + +#### *WordList* messages + + + +The messages about words detected by these style tests generally suggest a better alternative. +While the word you used would probably be understood, it most likely triggered this message for one of the following reasons: + +* The suggested works better in a screen-reader context. +* The word that you used could produce an unpleasant response in the reader. +* The suggested word is simpler, shorter, or easier for more people to understand. +* The word you used has other possible variations. The suggested word is the variation to use in the documentation to be consistent. + + + +### *Proselint* messages + +The Proselint style tests test for words that are jargon or that could be offensive to some people. + + + +Rewrite the text to replace the jargon or offensive language with more inclusive language. + +### *Starting a sentence* messages + +Some words, such as *so* and *there is/are*, aren't necessary at the beginning of a sentence. +Sentences that start with the words identified by this message can usually be made shorter, simpler, and clearer by rewriting them without those openings. + +### Cliches + +Cliches should be replaced by more literal text. + +Cliches make it difficult for people who don't understand English to understand the documentation. When cliches are translated by online tools such as Google translate, they can produce confusing results. + +## If all else fails + +The style rules generally guide you in the direction of clearer content, but sometimes you might need to break the rules. +If you decide that the best choice for the text conflicts with the linter, mark the text as an exception to linting. + +The documentation linter checks only the content that is rendered as text. It does not test code-formatted text. One common source of false problems is code references that are not formatted as code. + +If you use these exceptions, please limit the amount of text that you exclude from analysis to the fewest lines possible. + +When necessary, you can apply these exceptions to your content. + +1. **General exception** + + A *general exception* allows you to exclude the specified text from all lint testing. + + To apply a general exception, surround the text that you do not want the linter to test with the HTML + `comment` elements shown in this example. + + ```html + + + + Text the linter does not check for any style problem. + + + + ``` + + Be sure to leave a blank line before and after each comment. + +2. **Style exception** + + A *style exception* allows you to exclude text from an individual style test. + + To apply a style exception, surround the text that you do not want the linter to test with these HTML + `comment` elements. Between these comments, the linter ignores the style test in the comment, but + still tests for all other styles that are in use. + + ```html + + + ``` + + Replace `Style.Rule` in the comments with the style rule reference from the problem message displayed in the IDE. + For example, imagine that you got this problem message and you want to use the word it identified as a problem. + + ```html + Did you really mean 'inlines'? It was not found in our dictionary. Vale(Angular.Angular_Spelling) [Ln 24, Col 59] + Angular_Spelling.yml[Ln 1, Col 1]: View rule + ``` + + The `Style.Rule` for this message is the text inside the parentheses: `Angular.Angular_Spelling` in this case. + To turn off that style test, use the comments shown in this example. + + ```html + + + + 'inlines' does not display a problem because this text is not spell-checked. + Remember that the linter does not check any spelling in this block of text. + The linter continues to test all other style rules. + + + + ``` + + + +[AioGuideDocsStyleGuide]: https://angular.io/guide/docs-style-guide "Angular documentation style guide | Angular" + + + +[GoogleDevelopersStyle]: https://developers.google.com/style "About this guide | Google developer documentation style guide | Google Developers" + + + + \ No newline at end of file diff --git a/aio/content/images/guide/docs-lint-errors/lint-error-icon.png b/aio/content/images/guide/docs-lint-errors/lint-error-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..16370488e65460246b2a2f2519c8b6aac1d63c37 GIT binary patch literal 622 zcmV-!0+IcRP)~2)R75Q*J!lbPArylbQYRig4x{#OJ5(_ zZry>1gCt2^US-;QjJ4%I zMsxY|M`kV#HHtD<_PVLQnV?CHL}0so4FDjt+F%(t4r$N}J)K1LTMSY#2wU)K-4L@G zTMi#WB_0DrmxHyXg{GAX_wO;ee-9JgPL`%7n>6|9DAT70Xkw`Xp=~SHV?7%{Rg@sK zT3|lX-=ql^3#h0tncXf_K1B^dTU>xN2f?Zz$D`R~m?&~;XS%+>FE_K2yY z2i5{0zj#8?(MdHN+VF?U#5hHlgO&K#wLv2pogK^u{VacoP*-GX*$m6k8D`F(VZyV! zDOtk$kZZpdp^T3~c{>d)n}?}oGd9^fVDkrHy%2=3t=%x`FU0)*Vi66 zpj8VhC|2taO;vEz#nnkH=%9pvtAm>$ir9*CD+q#vNSeARR&h|NqIOXlh-9e+72+UX zThiNH@Ath9HJ12@7&c_v#g$l-G3qe{J3C>l z>i=7u`XM^95FFWNJgum0!7P2P%*F6vLKKb~gpt%ckmyZ+E98*1nZ?p6HMfLY)^&o6 z)GPlCu{$w&oJtee#9gOEg?eNfIPtZg5;^4P(%x~dOM9OkuVZOu%HG?*A0Phw;e(e- zXZ@5vmlw_L2cmzxd*n?LdVU)mtG&Z7#qF3m@#^Qp0yf#v3=I#D3SQgpUmrfFM7yGL z-XUR+gTfvUpH_BxZa30Dx!zPbC(E&K{pmTK;pdKMAHSYzwpGDWcv^7xqk!`V-xW9o zCcl_635Wu&NW9@wZ>!4N7|JF5w@NHa#rC;Z?~;q_(;XAfH8)RVoBpV|TGfPoSGZGw zrX5ezEK!kX%z3lfKeXFlO}WVyxvlogzXGZ4XPG%ZKQx{*`<0yaQI`GeUu`G&86E`k zJcX7SCh0zYdO7xd(Gu}TSGWsLzj?Xtc+@fP%MyXRZ0;#CtjT+)|8;S=`tJAhi?{7R mc>JWmlqE|YI$MH2KH$BY^4%!hlQS9^{tTY3elF{r5}E*;wYr`F literal 0 HcmV?d00001 diff --git a/aio/content/images/guide/docs-lint-errors/sample-lint-error.png b/aio/content/images/guide/docs-lint-errors/sample-lint-error.png new file mode 100644 index 0000000000000000000000000000000000000000..7b162241663adb85e82b9064824d468b21e72b89 GIT binary patch literal 12089 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 literal 0 HcmV?d00001 diff --git a/aio/content/navigation.json b/aio/content/navigation.json index b64a37ac6e6..2078f138690 100644 --- a/aio/content/navigation.json +++ b/aio/content/navigation.json @@ -1172,7 +1172,7 @@ ] }, { - "title": "Content Contributor's Guide", + "title": "Documentation Contributor's Guide", "tooltip": "Describes how to contribute to the Angular documentation.", "children": [ { @@ -1200,6 +1200,11 @@ "title": "Documentation Style Guide", "tooltip": "Style guide for documentation authors." }, + { + "url": "guide/docs-lint-errors", + "title": "Resolving documentation linter messages", + "tooltip": "More information about documentation lint errors." + }, { "url": "guide/localizing-angular", "title": "Angular doc localization guidelines", diff --git a/aio/tools/doc-linter/styles/Angular/Google_WordListSuggestions.yml b/aio/tools/doc-linter/styles/Angular/Google_WordListSuggestions.yml index 0bcac230ef2..a49d0ece515 100644 --- a/aio/tools/doc-linter/styles/Angular/Google_WordListSuggestions.yml +++ b/aio/tools/doc-linter/styles/Angular/Google_WordListSuggestions.yml @@ -2,7 +2,7 @@ # tests for strings that should be considered for replacement before publishing extends: substitution message: "Consider using '%s' instead of '%s'." -link: 'https://developers.google.com/style/word-list' +link: 'https://angular.io/guide/docs-lint-errors#wordlist-messages' level: suggestion ignorecase: false action: diff --git a/aio/tools/doc-linter/styles/Angular/Google_WordListWarnings.yml b/aio/tools/doc-linter/styles/Angular/Google_WordListWarnings.yml index e8937399040..79ef9423154 100644 --- a/aio/tools/doc-linter/styles/Angular/Google_WordListWarnings.yml +++ b/aio/tools/doc-linter/styles/Angular/Google_WordListWarnings.yml @@ -2,7 +2,7 @@ # tests for strings that should be replaced before the content is published extends: substitution message: "Use '%s' instead of '%s'." -link: 'https://developers.google.com/style/word-list' +link: 'https://angular.io/guide/docs-lint-errors#wordlist-messages' level: warning ignorecase: false action: diff --git a/aio/tools/doc-linter/styles/Angular/WriteGood_Cliches.yml b/aio/tools/doc-linter/styles/Angular/WriteGood_Cliches.yml index dd431323be7..e9654244396 100644 --- a/aio/tools/doc-linter/styles/Angular/WriteGood_Cliches.yml +++ b/aio/tools/doc-linter/styles/Angular/WriteGood_Cliches.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is a cliché" +link: 'https://angular.io/guide/docs-lint-errors#cliches' ignorecase: true level: warning tokens: diff --git a/aio/tools/doc-linter/styles/Angular/WriteGood_So.yml b/aio/tools/doc-linter/styles/Angular/WriteGood_So.yml index 8dd7bc4129b..09686d5f5a1 100644 --- a/aio/tools/doc-linter/styles/Angular/WriteGood_So.yml +++ b/aio/tools/doc-linter/styles/Angular/WriteGood_So.yml @@ -1,5 +1,6 @@ extends: existence message: "Don't start a sentence with '%s'. Try to rewrite the sentence without it." +link: 'https://angular.io/guide/docs-lint-errors#starting-a-sentence-messages' level: error raw: - '(?:[;-]\s)so[\s,]|So[\s,]' diff --git a/aio/tools/doc-linter/styles/Angular/WriteGood_ThereIs.yml b/aio/tools/doc-linter/styles/Angular/WriteGood_ThereIs.yml index 06ea8322c46..c3f22119139 100644 --- a/aio/tools/doc-linter/styles/Angular/WriteGood_ThereIs.yml +++ b/aio/tools/doc-linter/styles/Angular/WriteGood_ThereIs.yml @@ -1,5 +1,6 @@ extends: existence message: "Don't start a sentence with '%s'. Try to rewrite the sentence without it." +link: 'https://angular.io/guide/docs-lint-errors#starting-a-sentence-messages' ignorecase: true level: error raw: diff --git a/aio/tools/doc-linter/styles/Angular/WriteGood_TooWordy.yml b/aio/tools/doc-linter/styles/Angular/WriteGood_TooWordy.yml index d270cb794ec..c96cc8948b6 100644 --- a/aio/tools/doc-linter/styles/Angular/WriteGood_TooWordy.yml +++ b/aio/tools/doc-linter/styles/Angular/WriteGood_TooWordy.yml @@ -1,5 +1,6 @@ extends: existence message: "See if you can rewrite the sentence with '%s' to use more common words." +link: 'https://angular.io/guide/docs-lint-errors#a-word-is-too-wordy-or-should-be-replaced-by-another' ignorecase: true level: suggestion tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Airlinese.yml b/aio/tools/doc-linter/styles/proselint/Airlinese.yml index a6ae9c193cd..66b93565905 100644 --- a/aio/tools/doc-linter/styles/proselint/Airlinese.yml +++ b/aio/tools/doc-linter/styles/proselint/Airlinese.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is airlinese." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/AnimalLabels.yml b/aio/tools/doc-linter/styles/proselint/AnimalLabels.yml index 3b65ca26547..e78b50638d6 100644 --- a/aio/tools/doc-linter/styles/proselint/AnimalLabels.yml +++ b/aio/tools/doc-linter/styles/proselint/AnimalLabels.yml @@ -1,5 +1,6 @@ extends: substitution message: Consider using '%s' instead of '%s'. +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' level: error swap: (?:bull|ox)-like: taurine diff --git a/aio/tools/doc-linter/styles/proselint/Annotations.yml b/aio/tools/doc-linter/styles/proselint/Annotations.yml index dcb24f41bca..3cc056cd02e 100644 --- a/aio/tools/doc-linter/styles/proselint/Annotations.yml +++ b/aio/tools/doc-linter/styles/proselint/Annotations.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' left in text." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: false level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Apologizing.yml b/aio/tools/doc-linter/styles/proselint/Apologizing.yml index 42af05b48f2..4d4bca32787 100644 --- a/aio/tools/doc-linter/styles/proselint/Apologizing.yml +++ b/aio/tools/doc-linter/styles/proselint/Apologizing.yml @@ -1,5 +1,6 @@ extends: existence message: "Excessive apologizing: '%s'" +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Archaisms.yml b/aio/tools/doc-linter/styles/proselint/Archaisms.yml index c8df9abc938..9006f45d503 100644 --- a/aio/tools/doc-linter/styles/proselint/Archaisms.yml +++ b/aio/tools/doc-linter/styles/proselint/Archaisms.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is archaic." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/But.yml b/aio/tools/doc-linter/styles/proselint/But.yml index 7c0f1f31ae7..e2ebf516db3 100644 --- a/aio/tools/doc-linter/styles/proselint/But.yml +++ b/aio/tools/doc-linter/styles/proselint/But.yml @@ -1,5 +1,6 @@ extends: existence message: "Do not start a paragraph with a 'but'." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' level: error scope: paragraph tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Cliches.yml b/aio/tools/doc-linter/styles/proselint/Cliches.yml index c56183c51a0..b470312dbb2 100644 --- a/aio/tools/doc-linter/styles/proselint/Cliches.yml +++ b/aio/tools/doc-linter/styles/proselint/Cliches.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is a cliche." +link: 'https://angular.io/guide/docs-lint-errors#cliches' level: error ignorecase: true tokens: diff --git a/aio/tools/doc-linter/styles/proselint/CorporateSpeak.yml b/aio/tools/doc-linter/styles/proselint/CorporateSpeak.yml index 4de8ee3f8ea..8d8c9ca309f 100644 --- a/aio/tools/doc-linter/styles/proselint/CorporateSpeak.yml +++ b/aio/tools/doc-linter/styles/proselint/CorporateSpeak.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is corporate speak." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Currency.yml b/aio/tools/doc-linter/styles/proselint/Currency.yml index ebd4b7d3e6e..d54edcd8cd9 100644 --- a/aio/tools/doc-linter/styles/proselint/Currency.yml +++ b/aio/tools/doc-linter/styles/proselint/Currency.yml @@ -1,5 +1,6 @@ extends: existence message: "Incorrect use of symbols in '%s'." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true raw: - \$[\d]* ?(?:dollars|usd|us dollars) diff --git a/aio/tools/doc-linter/styles/proselint/Cursing.yml b/aio/tools/doc-linter/styles/proselint/Cursing.yml index e65070a91b0..2d54145ba99 100644 --- a/aio/tools/doc-linter/styles/proselint/Cursing.yml +++ b/aio/tools/doc-linter/styles/proselint/Cursing.yml @@ -1,5 +1,6 @@ extends: existence message: "Consider replacing '%s'." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' level: error ignorecase: true tokens: diff --git a/aio/tools/doc-linter/styles/proselint/DateCase.yml b/aio/tools/doc-linter/styles/proselint/DateCase.yml index 28c477157f4..3ad61b3fdf3 100644 --- a/aio/tools/doc-linter/styles/proselint/DateCase.yml +++ b/aio/tools/doc-linter/styles/proselint/DateCase.yml @@ -1,5 +1,6 @@ extends: existence message: With lowercase letters, the periods are standard. +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error nonword: true diff --git a/aio/tools/doc-linter/styles/proselint/DateMidnight.yml b/aio/tools/doc-linter/styles/proselint/DateMidnight.yml index 0130e1aefd3..94ccffc2314 100644 --- a/aio/tools/doc-linter/styles/proselint/DateMidnight.yml +++ b/aio/tools/doc-linter/styles/proselint/DateMidnight.yml @@ -1,5 +1,6 @@ extends: existence message: "Use 'midnight' or 'noon'." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error nonword: true diff --git a/aio/tools/doc-linter/styles/proselint/DateRedundancy.yml b/aio/tools/doc-linter/styles/proselint/DateRedundancy.yml index b1f653ea5f2..3f56ab4b79c 100644 --- a/aio/tools/doc-linter/styles/proselint/DateRedundancy.yml +++ b/aio/tools/doc-linter/styles/proselint/DateRedundancy.yml @@ -1,5 +1,6 @@ extends: existence message: "'a.m.' is always morning; 'p.m.' is always night." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error nonword: true diff --git a/aio/tools/doc-linter/styles/proselint/DateSpacing.yml b/aio/tools/doc-linter/styles/proselint/DateSpacing.yml index b7a2fd33b6c..5c75e188d66 100644 --- a/aio/tools/doc-linter/styles/proselint/DateSpacing.yml +++ b/aio/tools/doc-linter/styles/proselint/DateSpacing.yml @@ -1,5 +1,6 @@ extends: existence message: "It's standard to put a space before '%s'" +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error nonword: true diff --git a/aio/tools/doc-linter/styles/proselint/DenizenLabels.yml b/aio/tools/doc-linter/styles/proselint/DenizenLabels.yml index 3a33e079e6b..378d3bba6bc 100644 --- a/aio/tools/doc-linter/styles/proselint/DenizenLabels.yml +++ b/aio/tools/doc-linter/styles/proselint/DenizenLabels.yml @@ -1,5 +1,6 @@ extends: substitution message: Did you mean '%s'? +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: false swap: (?:Afrikaaner|Afrikander): Afrikaner diff --git a/aio/tools/doc-linter/styles/proselint/Diacritical.yml b/aio/tools/doc-linter/styles/proselint/Diacritical.yml index 1fd89e9071e..00a62ccd583 100644 --- a/aio/tools/doc-linter/styles/proselint/Diacritical.yml +++ b/aio/tools/doc-linter/styles/proselint/Diacritical.yml @@ -1,5 +1,6 @@ extends: substitution message: Consider using '%s' instead of '%s'. +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error swap: diff --git a/aio/tools/doc-linter/styles/proselint/GenderBias.yml b/aio/tools/doc-linter/styles/proselint/GenderBias.yml index 2614ca3fa20..c05593615f4 100644 --- a/aio/tools/doc-linter/styles/proselint/GenderBias.yml +++ b/aio/tools/doc-linter/styles/proselint/GenderBias.yml @@ -1,5 +1,6 @@ extends: substitution message: Consider using '%s' instead of '%s'. +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error swap: diff --git a/aio/tools/doc-linter/styles/proselint/GroupTerms.yml b/aio/tools/doc-linter/styles/proselint/GroupTerms.yml index d02f1ad274d..640ca7bb71a 100644 --- a/aio/tools/doc-linter/styles/proselint/GroupTerms.yml +++ b/aio/tools/doc-linter/styles/proselint/GroupTerms.yml @@ -1,5 +1,6 @@ extends: substitution message: Consider using '%s' instead of '%s'. +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true swap: (?:bunch|group|pack|flock) of chickens: brood of chickens diff --git a/aio/tools/doc-linter/styles/proselint/Hedging.yml b/aio/tools/doc-linter/styles/proselint/Hedging.yml index a8615f8bb28..d5d1eb27f1d 100644 --- a/aio/tools/doc-linter/styles/proselint/Hedging.yml +++ b/aio/tools/doc-linter/styles/proselint/Hedging.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is hedging." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Hyperbole.yml b/aio/tools/doc-linter/styles/proselint/Hyperbole.yml index 95a5a64b4ea..b8f947458d8 100644 --- a/aio/tools/doc-linter/styles/proselint/Hyperbole.yml +++ b/aio/tools/doc-linter/styles/proselint/Hyperbole.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is hyperbolic." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' level: error nonword: true tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Illusions.yml b/aio/tools/doc-linter/styles/proselint/Illusions.yml index 8156e9d0a2b..3451249c662 100644 --- a/aio/tools/doc-linter/styles/proselint/Illusions.yml +++ b/aio/tools/doc-linter/styles/proselint/Illusions.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' - There's a lexical illusion here." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' tokens: - the\sthe - am\sam diff --git a/aio/tools/doc-linter/styles/proselint/Jargon.yml b/aio/tools/doc-linter/styles/proselint/Jargon.yml index 2454a9c34e8..f42ad914f88 100644 --- a/aio/tools/doc-linter/styles/proselint/Jargon.yml +++ b/aio/tools/doc-linter/styles/proselint/Jargon.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is jargon." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/LGBTOffensive.yml b/aio/tools/doc-linter/styles/proselint/LGBTOffensive.yml index eaf5a84a1bd..324818075b3 100644 --- a/aio/tools/doc-linter/styles/proselint/LGBTOffensive.yml +++ b/aio/tools/doc-linter/styles/proselint/LGBTOffensive.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is offensive. Remove it or consider the context." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true tokens: - fag diff --git a/aio/tools/doc-linter/styles/proselint/LGBTTerms.yml b/aio/tools/doc-linter/styles/proselint/LGBTTerms.yml index f2a68e64dc9..fede83b0eb7 100644 --- a/aio/tools/doc-linter/styles/proselint/LGBTTerms.yml +++ b/aio/tools/doc-linter/styles/proselint/LGBTTerms.yml @@ -1,5 +1,6 @@ extends: substitution message: "Consider using '%s' instead of '%s'." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true swap: homosexual man: gay man diff --git a/aio/tools/doc-linter/styles/proselint/Malapropisms.yml b/aio/tools/doc-linter/styles/proselint/Malapropisms.yml index 96997787a82..04e7dd98afe 100644 --- a/aio/tools/doc-linter/styles/proselint/Malapropisms.yml +++ b/aio/tools/doc-linter/styles/proselint/Malapropisms.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is a malapropism." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Needless.yml b/aio/tools/doc-linter/styles/proselint/Needless.yml index 90a64abdd3d..931fd892b02 100644 --- a/aio/tools/doc-linter/styles/proselint/Needless.yml +++ b/aio/tools/doc-linter/styles/proselint/Needless.yml @@ -4,6 +4,7 @@ # extends: substitution message: Prefer '%s' over '%s' +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true swap: '(?:cell phone|cell-phone)': cellphone diff --git a/aio/tools/doc-linter/styles/proselint/Nonwords.yml b/aio/tools/doc-linter/styles/proselint/Nonwords.yml index 71358245f63..5e7fe92b328 100644 --- a/aio/tools/doc-linter/styles/proselint/Nonwords.yml +++ b/aio/tools/doc-linter/styles/proselint/Nonwords.yml @@ -1,5 +1,6 @@ extends: substitution message: "Consider using %s instead of '%s'." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error swap: diff --git a/aio/tools/doc-linter/styles/proselint/Oxymorons.yml b/aio/tools/doc-linter/styles/proselint/Oxymorons.yml index 25fd2aa5d66..b402a8d7bfc 100644 --- a/aio/tools/doc-linter/styles/proselint/Oxymorons.yml +++ b/aio/tools/doc-linter/styles/proselint/Oxymorons.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is an oxymoron." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/P-Value.yml b/aio/tools/doc-linter/styles/proselint/P-Value.yml index 82309386f6d..0b23b807649 100644 --- a/aio/tools/doc-linter/styles/proselint/P-Value.yml +++ b/aio/tools/doc-linter/styles/proselint/P-Value.yml @@ -1,5 +1,6 @@ extends: existence message: "You should use more decimal places, unless '%s' is really true." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: suggestion tokens: diff --git a/aio/tools/doc-linter/styles/proselint/RASSyndrome.yml b/aio/tools/doc-linter/styles/proselint/RASSyndrome.yml index e8d81750b3d..dbc27e74f0d 100644 --- a/aio/tools/doc-linter/styles/proselint/RASSyndrome.yml +++ b/aio/tools/doc-linter/styles/proselint/RASSyndrome.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is redundant." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' level: error tokens: - ABM missile diff --git a/aio/tools/doc-linter/styles/proselint/Skunked.yml b/aio/tools/doc-linter/styles/proselint/Skunked.yml index 96a1f690ea5..e7c1c7285c1 100644 --- a/aio/tools/doc-linter/styles/proselint/Skunked.yml +++ b/aio/tools/doc-linter/styles/proselint/Skunked.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is a bit of a skunked term — impossible to use without issue." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: diff --git a/aio/tools/doc-linter/styles/proselint/Spelling.yml b/aio/tools/doc-linter/styles/proselint/Spelling.yml index d3c9be7b7e5..0c6db9e179b 100644 --- a/aio/tools/doc-linter/styles/proselint/Spelling.yml +++ b/aio/tools/doc-linter/styles/proselint/Spelling.yml @@ -1,5 +1,6 @@ extends: consistency message: "Inconsistent spelling of '%s'." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' level: error ignorecase: true either: diff --git a/aio/tools/doc-linter/styles/proselint/Typography.yml b/aio/tools/doc-linter/styles/proselint/Typography.yml index 60283ebf01a..11899049492 100644 --- a/aio/tools/doc-linter/styles/proselint/Typography.yml +++ b/aio/tools/doc-linter/styles/proselint/Typography.yml @@ -1,5 +1,6 @@ extends: substitution message: Consider using the '%s' symbol instead of '%s'. +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' level: error nonword: true swap: diff --git a/aio/tools/doc-linter/styles/proselint/Uncomparables.yml b/aio/tools/doc-linter/styles/proselint/Uncomparables.yml index 5bba006a1ab..d96494b884c 100644 --- a/aio/tools/doc-linter/styles/proselint/Uncomparables.yml +++ b/aio/tools/doc-linter/styles/proselint/Uncomparables.yml @@ -1,5 +1,6 @@ extends: existence message: "'%s' is not comparable" +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error raw: diff --git a/aio/tools/doc-linter/styles/proselint/Very.yml b/aio/tools/doc-linter/styles/proselint/Very.yml index e4077f79228..89db25e89a1 100644 --- a/aio/tools/doc-linter/styles/proselint/Very.yml +++ b/aio/tools/doc-linter/styles/proselint/Very.yml @@ -1,5 +1,6 @@ extends: existence message: "Remove '%s'." +link: 'https://angular.io/guide/docs-lint-errors#proselint-messages' ignorecase: true level: error tokens: