forked from benbalter/benbalter.github.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.remarkrc.js
145 lines (140 loc) · 5.13 KB
/
.remarkrc.js
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
import { unified } from 'unified'
import dictionaryEn from 'dictionary-en'
import fs from 'fs'
import remarkFrontmatter from 'remark-frontmatter'
import remarkGFM from 'remark-gfm'
import remarkInlineLinks from 'remark-inline-links'
import remarkLintBlockquoteIndentation from 'remark-lint-blockquote-indentation'
import remarkLintCode from 'remark-lint-code'
import remarkLintFirstHeadingLevel from 'remark-lint-first-heading-level'
import remarkLintLinkTitleStyle from 'remark-lint-link-title-style'
import remarkLintListItemIndent from 'remark-lint-list-item-indent'
import remarkLintListItemSpacing from 'remark-lint-list-item-spacing'
import remarkLintMatchPunctuation from 'remark-lint-match-punctuation'
import remarkLintMaximumHeadingLength from 'remark-lint-maximum-heading-length'
import remarkLintMaximumLineLength from 'remark-lint-maximum-line-length'
import remarkLintMdashStyle from 'remark-lint-mdash-style'
import remarkLintNoEmptySections from 'remark-lint-no-empty-sections'
import remarkLintNoShortcutReferenceImage from 'remark-lint-no-shortcut-reference-image'
import remarkLintNoShortcutReferenceLink from 'remark-lint-no-shortcut-reference-link'
import remarkLintOrderedListMarkerValue from 'remark-lint-ordered-list-marker-value'
import remarkLintUnorderedListMarkerStyle from 'remark-lint-unordered-list-marker-style'
import remarkLintWriteGood from 'remark-lint-write-good'
import remarkMessageControl from 'remark-message-control'
import remarkPresetLintConsistent from 'remark-preset-lint-consistent'
import remarkPresetLintMarkdownStyleGuide from 'remark-preset-lint-markdown-style-guide'
import remarkPresetLintRecommended from 'remark-preset-lint-recommended'
import remarkRetext from 'remark-retext'
import remarkSqueezeParagraphs from 'remark-squeeze-paragraphs'
import remarkTextr from 'remark-textr'
import remarkValidateLinks from 'remark-validate-links'
import retextContractions from 'retext-contractions'
import retextDiacritics from 'retext-diacritics'
import retextEmoji from 'retext-emoji'
import retextEnglish from 'retext-english'
import retextEquality from 'retext-equality'
import retextIndefiniteArticle from 'retext-indefinite-article'
import retextquotes from 'retext-quotes'
import retextRedundantAcronyms from 'retext-redundant-acronyms'
import retextRepeatedWords from 'retext-repeated-words'
import retextSentenceSpacing from 'retext-sentence-spacing'
import retextSimplify from 'retext-simplify'
import retextSpell from 'retext-spell'
import retextSyntaxMentions from 'retext-syntax-mentions'
import retextSyntaxURLs from 'retext-syntax-urls'
import remarkPrettier from 'remark-prettier'
import retextIntensify from 'retext-intensify'
import retextPassive from 'retext-passive'
import retextProfanities from 'retext-profanities'
import retextReadability from 'retext-readability'
var personal = fs
.readFileSync('dictionary.txt', 'utf8')
.replace(/#.+/gm, '');
const retextSettings = {
plugins: [
[retextContractions, {straight: true}],
[retextquotes, {preferred: 'straight'}],
[retextSentenceSpacing, {preferred: 1}],
[retextSpell, {dictionary: dictionaryEn, personal: personal}],
retextDiacritics,
retextEmoji,
retextEnglish,
retextIndefiniteArticle,
retextRedundantAcronyms,
retextRepeatedWords,
retextSyntaxMentions,
retextSyntaxURLs,
retextSimplify,
retextEquality,
retextIntensify,
retextPassive,
retextProfanities,
retextReadability
]
};
const textrSettings = {
options: {
locale: 'en-us'
},
plugins: [
'typographic-arrows',
'typographic-copyright',
'typographic-em-dashes',
'typographic-en-dashes',
'typographic-math-symbols',
'typographic-registered-trademark',
'typographic-single-spaces',
'typographic-trademark'
]
};
const remarkConfig = {
settings: {
bullet: '*',
emphasis: '*',
strong: '*',
fence: '`',
rule: '-',
ruleSpaces: false,
ruleRepetition: 3,
gfm: true,
yaml: true,
footnotes: true,
listItemIndent: '1',
commonmark: false,
pedantic: false,
entities: false,
fences: true,
spacedTable: true
},
plugins: [
remarkGFM,
remarkInlineLinks,
//remarkPrettier,
remarkLintCode,
remarkLintMatchPunctuation,
remarkLintMdashStyle,
remarkLintNoEmptySections,
remarkLintWriteGood,
remarkPresetLintConsistent,
remarkPresetLintMarkdownStyleGuide,
remarkPresetLintRecommended,
remarkSqueezeParagraphs,
[remarkFrontmatter, 'yaml'],
[remarkLintBlockquoteIndentation, {number: 2}],
[remarkLintFirstHeadingLevel, false],
[remarkLintLinkTitleStyle, false],
[remarkLintListItemIndent, 'space'],
[remarkLintListItemSpacing, false],
[remarkLintMaximumHeadingLength, false],
[remarkLintMaximumLineLength, false],
[remarkLintNoShortcutReferenceImage, false],
[remarkLintNoShortcutReferenceLink, false],
[remarkLintOrderedListMarkerValue, false],
[remarkLintUnorderedListMarkerStyle, '*'],
[remarkMessageControl, { name: 'lint'}],
[remarkValidateLinks, false],
[remarkTextr, textrSettings],
[remarkRetext, unified().use(retextEnglish).use(retextSettings)]
]
}
export default remarkConfig