summaryrefslogtreecommitdiffstats
path: root/.remarkrc.js
blob: a5d9d1280be21328da773c7192992aabcb954509 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// Source: https://github.com/codacy/codacy-remark-lint/raw/master/.remarkrc.js

const fs = require("fs");
const path = require("path");

exports.settings = {
  gfm: true,
  commonmark: true,
  looseTable: false,
  spacedTable: false,
  paddedTable: false,
  fences: true,
  rule: '-',
  ruleRepetition: 3,
  emphasis: "*",
  strong: "*",
  bullet: "-",
  listItemIndent: 'tab',
  incrementListMarker: true
};

const personalDictionaryPath = path.join(__dirname, ".dictionary");
const personalDictionary = fs.existsSync(personalDictionaryPath)
  ? {
      personal: fs.readFileSync(personalDictionaryPath, "utf8")
    }
  : {};

const remarkPresetLintMarkdownStyleGuide = {
  plugins: require("remark-preset-lint-markdown-style-guide").plugins.filter(
    function(elem) {
      return elem != require("remark-lint-no-duplicate-headings");
    }
  )
};

exports.plugins = [
  require("remark-preset-lint-consistent"),
  require("remark-preset-lint-recommended"),
  remarkPresetLintMarkdownStyleGuide,
  [require("remark-lint-no-dead-urls"), { skipOffline: true }],
  require("remark-lint-heading-whitespace"),
  [require("remark-lint-maximum-line-length"), 120],
  [require("remark-lint-maximum-heading-length"), 120],
  [require("remark-lint-list-item-indent"), "tab-size"],
  [require("remark-lint-list-item-spacing"), false],
  [require("remark-lint-strong-marker"), "*"],
  [require("remark-lint-emphasis-marker"), "_"],
  [require("remark-lint-unordered-list-marker-style"), "-"],
  [require("remark-lint-ordered-list-marker-style"), "."],
  [require("remark-lint-ordered-list-marker-value"), "ordered"],
  /*[
    require("remark-lint-write-good"),
    [
      "warn",
      {
        passive: false,
        illusion: true,
        so: true,
        thereIs: true,
        weasel: true,
        adverb: true,
        tooWordy: true,
        cliches: true,
        eprime: false
      }
    ]
  ],*/
  require("remark-validate-links"),
  require("remark-frontmatter"),
  /*[
    require("remark-retext"),
    require("unified")().use({
      plugins: [
        require("retext-english"),
        require("retext-syntax-urls"),
        [
          require("retext-spell"),
          {
            ignoreLiteral: true,
            dictionary: require("dictionary-en-us"),
            ...personalDictionary
          }
        ],
        [
          require("retext-sentence-spacing"),
          {
            preferred: 1
          }
        ],
        require("retext-repeated-words"),
        require("retext-usage"),
        require("retext-indefinite-article"),
        require("retext-redundant-acronyms"),
        [
          require("retext-contractions"),
          {
            straight: true,
            allowLiteral: true
          }
        ],
        require("retext-diacritics"),
        [
          require("retext-quotes"),
          {
            preferred: "straight"
          }
        ],
        require("retext-equality"),
        require("retext-passive"),
        require("retext-profanities"),
        [
          require("retext-readability"),
          {
            age: 20
          }
        ]
      ]
    })
  ]*/
];