git: 2f32670633 - main - Introduce vale to the docs tree

From: Muhammad Moinur Rahman <>
Date: Thu, 10 Nov 2022 18:52:42 UTC
The branch main has been updated by bofh:


commit 2f326706331e23173f726dc3555cb74c9d23696d
Author:     Muhammad Moinur Rahman <>
AuthorDate: 2022-11-10 18:43:50 +0000
Commit:     Muhammad Moinur Rahman <>
CommitDate: 2022-11-10 18:52:31 +0000

    Introduce vale to the docs tree
    Currently we do not have any language checker for our documentation
    system. In previous we used igor which has not been upgraded and
    sometimes are also not compatible with AsciiDOC and additionally the
    maintainer is no longer a committer anymore. Considering this and
    widespread use of Vale we have given a test on vale and initiating
    introduction of vale with some basic set of rules. The rules are
    described as below:
    BrandTerms: Like The FreeBSD Project every major vendors and Companies
    have specific rules on writing their Brand Name. Although we never read
    but according to the Copyright rules of The FreeBSD Foundation whenever
    we are writing we should write FreeBSD rather than freebsd. That is our
    brand value. Similar to that we should be respective to other's brand
    value and write PostgreSQL, Node.js, Let's Encrypt etc.
    Contractions: Contracted words should not be used. This rule avoids all
    contractions and suggests full words.
    Hang: We often try to use the word hang to convey the meaning that the
    application has stopped responding. This rule proposes better wording
    Repetition: Often while working we type the same words twice; this
    mostly happen we leave the keyboard while writing and returning to desk.
    This rule finds repeated words
    Weasel: This rule handles avoiding weasel words
    ConsciousLanguage: This rule proposes uses of conscious languages like
    avoiding the words white/black/master/slave
    EOLSpacing: In most of our documents EOL spacing is present which is
    not the ideal situation. This rule warns the user
    Hyphens: Often adverbs ending with 'ly' are being added with a hyphen
    which is wrong. This rule handles this
    Spacing: Often double spaces are hard to catch on plain eye which is addressed here
    Spelling: Spelling checks using a custom dictionary from which uses strictly en_US and do not accept
    the BRITISH spelling variant. It has also an exception list to ignore
    the FreeBSD specific terms. Currently the list is a basic one with
    minimal words just as a proof of concept
    The next step will be restarting the CI process of FreeBSD docs, reduce
    noises and implement git hooks.
    Approved by:    carlavilla (mentor)
    Differential Revision:
 .vale.ini                                          |    48 +
 .../Dicts/en_US-default_none_strip_hacker.aff      |   205 +
 .../Dicts/en_US-default_none_strip_hacker.dic      | 49568 +++++++++++++++++++
 .vale/styles/FreeBSD/BrandTerms.yml                |    11 +
 .vale/styles/FreeBSD/ConsciousLanguage.yml         |    36 +
 .vale/styles/FreeBSD/Contractions.yml              |    42 +
 .vale/styles/FreeBSD/EOLSpacing.yml                |     7 +
 .vale/styles/FreeBSD/Hang.yml                      |    12 +
 .vale/styles/FreeBSD/Hyphens.yml                   |    13 +
 .vale/styles/FreeBSD/Repitition.yml                |     6 +
 .vale/styles/FreeBSD/Spacing.yml                   |     7 +
 .vale/styles/FreeBSD/Spelling.yml                  |     7 +
 .vale/styles/FreeBSD/Weasel.yml                    |   208 +
 .vale/styles/FreeBSD/spelling-exceptions.txt       |    79 +
 .vale/vale.tmpl                                    |    40 +
 15 files changed, 50289 insertions(+)

diff --git a/.vale.ini b/.vale.ini
new file mode 100644
index 0000000000..2566579071
--- /dev/null
+++ b/.vale.ini
@@ -0,0 +1,48 @@
+StylesPath = .vale/styles
+MinAlertLevel = suggestion
+# enable
+experimental = YES
+# assign a specific value
+attribute-missing = drop
+BasedOnStyles = FreeBSD
+FreeBSD.BrandTerms = NO
+FreeBSD.ConsciousLanguage = NO
+FreeBSD.Contractions = NO
+FreeBSD.EOLSpacing = NO
+FreeBSD.Hang = NO
+FreeBSD.Hyphens = NO
+FreeBSD.Repitition = NO
+FreeBSD.Spacing = NO
+FreeBSD.Spelling = NO
+FreeBSD.Weasel = NO
+BasedOnStyles = FreeBSD
+FreeBSD.BrandTerms = YES
+FreeBSD.ConsciousLanguage = YES
+FreeBSD.Contractions = YES
+FreeBSD.EOLSpacing = YES
+FreeBSD.Hang = YES
+FreeBSD.Hyphens = YES
+FreeBSD.Repitition = YES
+FreeBSD.Spacing = YES
+FreeBSD.Spelling = YES
+FreeBSD.Weasel = NO
+BasedOnStyles = FreeBSD
+FreeBSD.BrandTerms = YES
+FreeBSD.ConsciousLanguage = YES
+FreeBSD.Contractions = YES
+FreeBSD.EOLSpacing = YES
+FreeBSD.Hang = YES
+FreeBSD.Hyphens = YES
+FreeBSD.Repitition = YES
+FreeBSD.Spacing = YES
+FreeBSD.Spelling = YES
+FreeBSD.Weasel = NO
diff --git a/.vale/styles/Dicts/en_US-default_none_strip_hacker.aff b/.vale/styles/Dicts/en_US-default_none_strip_hacker.aff
new file mode 100644
index 0000000000..d0cccb3dc7
--- /dev/null
+++ b/.vale/styles/Dicts/en_US-default_none_strip_hacker.aff
@@ -0,0 +1,205 @@
+TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
+ICONV ’ '
+# ordinal numbers
+# only in compounds: 1th, 2th, 3th
+# compound rules:
+# 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.)
+# 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.)
+WORDCHARS 0123456789
+PFX A Y 1
+PFX A   0     re         .
+PFX I Y 1
+PFX I   0     in         .
+PFX U Y 1
+PFX U   0     un         .
+PFX C Y 1
+PFX C   0     de          .
+PFX E Y 1
+PFX E   0     dis         .
+PFX F Y 1
+PFX F   0     con         .
+PFX K Y 1
+PFX K   0     pro         .
+SFX V N 2
+SFX V   e     ive        e
+SFX V   0     ive        [^e]
+SFX N Y 3
+SFX N   e     ion        e
+SFX N   y     ication    y 
+SFX N   0     en         [^ey] 
+SFX X Y 3
+SFX X   e     ions       e
+SFX X   y     ications   y
+SFX X   0     ens        [^ey]
+SFX H N 2
+SFX H   y     ieth       y
+SFX H   0     th         [^y] 
+SFX Y Y 1
+SFX Y   0     ly         .
+SFX G Y 2
+SFX G   e     ing        e
+SFX G   0     ing        [^e] 
+SFX J Y 2
+SFX J   e     ings       e
+SFX J   0     ings       [^e]
+SFX D Y 4
+SFX D   0     d          e
+SFX D   y     ied        [^aeiou]y
+SFX D   0     ed         [^ey]
+SFX D   0     ed         [aeiou]y
+SFX T N 4
+SFX T   0     st         e
+SFX T   y     iest       [^aeiou]y
+SFX T   0     est        [aeiou]y
+SFX T   0     est        [^ey]
+SFX R Y 4
+SFX R   0     r          e
+SFX R   y     ier        [^aeiou]y
+SFX R   0     er         [aeiou]y
+SFX R   0     er         [^ey]
+SFX Z Y 4
+SFX Z   0     rs         e
+SFX Z   y     iers       [^aeiou]y
+SFX Z   0     ers        [aeiou]y
+SFX Z   0     ers        [^ey]
+SFX S Y 4
+SFX S   y     ies        [^aeiou]y
+SFX S   0     s          [aeiou]y
+SFX S   0     es         [sxzh]
+SFX S   0     s          [^sxzhy]
+SFX P Y 3
+SFX P   y     iness      [^aeiou]y
+SFX P   0     ness       [aeiou]y
+SFX P   0     ness       [^y]
+SFX M Y 1
+SFX M   0     's         .
+SFX B Y 3
+SFX B   0     able       [^aeiou]
+SFX B   0     able       ee
+SFX B   e     able       [^aeiou]e
+SFX L Y 1
+SFX L   0     ment       .
+REP 90
+REP a ei
+REP ei a
+REP a ey
+REP ey a
+REP ai ie
+REP ie ai
+REP alot a_lot
+REP are air
+REP are ear
+REP are eir
+REP air are
+REP air ere
+REP ere air
+REP ere ear
+REP ere eir
+REP ear are
+REP ear air
+REP ear ere
+REP eir are
+REP eir ere
+REP ch te
+REP te ch
+REP ch ti
+REP ti ch
+REP ch tu
+REP tu ch
+REP ch s
+REP s ch
+REP ch k
+REP k ch
+REP f ph
+REP ph f
+REP gh f
+REP f gh
+REP i igh
+REP igh i
+REP i uy
+REP uy i
+REP i ee
+REP ee i
+REP j di
+REP di j
+REP j gg
+REP gg j
+REP j ge
+REP ge j
+REP s ti
+REP ti s
+REP s ci
+REP ci s
+REP k cc
+REP cc k
+REP k qu
+REP qu k
+REP kw qu
+REP o eau
+REP eau o
+REP o ew
+REP ew o
+REP oo ew
+REP ew oo
+REP ew ui
+REP ui ew
+REP oo ui
+REP ui oo
+REP ew u
+REP u ew
+REP oo u
+REP u oo
+REP u oe
+REP oe u
+REP u ieu
+REP ieu u
+REP ue ew
+REP ew ue
+REP uff ough
+REP oo ieu
+REP ieu oo
+REP ier ear
+REP ear ier
+REP ear air
+REP air ear
+REP w qu
+REP qu w
+REP z ss
+REP ss z
+REP shun tion
+REP shun sion
+REP shun cion
+REP size cise
diff --git a/.vale/styles/Dicts/en_US-default_none_strip_hacker.dic b/.vale/styles/Dicts/en_US-default_none_strip_hacker.dic
new file mode 100644
index 0000000000..642af8e2a7
--- /dev/null
+++ b/.vale/styles/Dicts/en_US-default_none_strip_hacker.dic
@@ -0,0 +1,49568 @@
*** 49470 LINES SKIPPED ***