Skip to content

Commit 4a3eb62

Browse files
committed
Update remark, retext
1 parent 0441d7f commit 4a3eb62

File tree

2 files changed

+113
-51
lines changed

2 files changed

+113
-51
lines changed

test/package.json

Lines changed: 41 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,52 @@
1010
"js-yaml": "^3.6.1",
1111
"kindlegen": "^1.1.0",
1212
"mkdirp": "^0.5.1",
13-
"remark-lint": "^5.0.0",
14-
"remark-parse": "^2.0.0",
15-
"remark-retext": "^2.0.0",
16-
"remark-stringify": "^2.0.0",
17-
"retext-english": "^2.0.0",
18-
"retext-equality": "^2.3.2",
19-
"retext-quotes": "^1.0.0",
20-
"retext-readability": "^3.0.0",
13+
"remark-frontmatter": "^1.1.0",
14+
"remark-lint": "^6.0.0",
15+
"remark-lint-blockquote-indentation": "^1.0.0",
16+
"remark-lint-emphasis-marker": "^1.0.0",
17+
"remark-lint-final-newline": "^1.0.0",
18+
"remark-lint-first-heading-level": "^1.1.0",
19+
"remark-lint-hard-break-spaces": "^1.0.1",
20+
"remark-lint-heading-increment": "^1.0.0",
21+
"remark-lint-heading-style": "^1.0.0",
22+
"remark-lint-list-item-bullet-indent": "^1.0.0",
23+
"remark-lint-list-item-content-indent": "^1.0.0",
24+
"remark-lint-list-item-indent": "^1.0.0",
25+
"remark-lint-maximum-heading-length": "^1.0.0",
26+
"remark-lint-no-auto-link-without-protocol": "^1.0.0",
27+
"remark-lint-no-blockquote-without-marker": "^2.0.0",
28+
"remark-lint-no-consecutive-blank-lines": "^1.0.0",
29+
"remark-lint-no-duplicate-definitions": "^1.0.0",
30+
"remark-lint-no-duplicate-headings": "^1.0.0",
31+
"remark-lint-no-heading-content-indent": "^1.0.0",
32+
"remark-lint-no-inline-padding": "^1.0.0",
33+
"remark-lint-no-literal-urls": "^1.0.0",
34+
"remark-lint-no-missing-blank-lines": "^1.0.0",
35+
"remark-lint-no-multiple-toplevel-headings": "^1.0.0",
36+
"remark-lint-no-shortcut-reference-image": "^1.0.0",
37+
"remark-lint-no-shortcut-reference-link": "^1.0.1",
38+
"remark-lint-no-undefined-references": "^1.0.0",
39+
"remark-lint-no-unused-definitions": "^1.0.0",
40+
"remark-lint-ordered-list-marker-style": "^1.0.0",
41+
"remark-lint-strong-marker": "^1.0.0",
42+
"remark-lint-unordered-list-marker-style": "^1.0.0",
43+
"remark-parse": "^4.0.0",
44+
"remark-retext": "^3.0.0",
45+
"remark-stringify": "^4.0.0",
46+
"retext-english": "^3.0.0",
47+
"retext-equality": "^3.1.0",
48+
"retext-quotes": "^2.0.0",
49+
"retext-readability": "^4.1.0",
2150
"retext-repeated-words": "^1.0.0",
22-
"retext-sentence-spacing": "^1.0.0",
23-
"retext-simplify": "^3.0.0",
51+
"retext-sentence-spacing": "^2.0.0",
52+
"retext-simplify": "^4.1.0",
2453
"retext-words": "bkeepers/retext-words",
2554
"slug": "^0.9.1",
2655
"to-vfile": "^2.1.0",
27-
"unified": "^5.0.0",
56+
"unified": "^6.1.0",
2857
"unist-util-visit": "^1.1.1",
29-
"vfile-reporter": "^3.0.0",
58+
"vfile-reporter": "^4.0.0",
3059
"vfile-statistics": "^1.0.0"
3160
}
3261
}

test/prose

Lines changed: 72 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,38 @@ var unified = require('unified');
55

66
// Remark stuff (markdown)
77
var parse = require('remark-parse');
8-
var lint = require('remark-lint');
98
var remark2retext = require('remark-retext');
109
var stringify = require('remark-stringify');
10+
var frontmatter = require('remark-frontmatter');
11+
var lint = require('remark-lint');
12+
var headingStyle = require('remark-lint-heading-style');
13+
var firstHeadingLevel = require('remark-lint-first-heading-level');
14+
var headingIncrement = require('remark-lint-heading-increment');
15+
var maximumHeadingLength = require('remark-lint-maximum-heading-length');
16+
var noDuplicateHeadings = require('remark-lint-no-duplicate-headings');
17+
var noMultipleToplevelHeadings = require('remark-lint-no-multiple-toplevel-headings');
18+
var listItemIndent = require('remark-lint-list-item-indent');
19+
var listItemBulletIndent = require('remark-lint-list-item-bullet-indent');
20+
var listItemContentIndent = require('remark-lint-list-item-content-indent');
21+
var unorderedListMarkerStyle = require('remark-lint-unordered-list-marker-style');
22+
var orderedListMarkerStyle = require('remark-lint-ordered-list-marker-style');
23+
var emphasisMarker = require('remark-lint-emphasis-marker');
24+
var strongMarker = require('remark-lint-strong-marker');
25+
var blockquoteIndentation = require('remark-lint-blockquote-indentation');
26+
var noMissingBlankLines = require('remark-lint-no-missing-blank-lines');
27+
var noConsecutiveBlankLines = require('remark-lint-no-consecutive-blank-lines');
28+
var finalNewline = require('remark-lint-final-newline');
29+
var noAutoLinkWithoutProtocol = require('remark-lint-no-auto-link-without-protocol');
30+
var noBlockquoteWithoutMarker = require('remark-lint-no-blockquote-without-marker');
31+
var noLiteralUrls = require('remark-lint-no-literal-urls');
32+
var hardBreakSpaces = require('remark-lint-hard-break-spaces');
33+
var noDuplicateDefinitions = require('remark-lint-no-duplicate-definitions');
34+
var noHeadingContentIndent = require('remark-lint-no-heading-content-indent');
35+
var noInlinePadding = require('remark-lint-no-inline-padding');
36+
var noShortcutReferenceImage = require('remark-lint-no-shortcut-reference-image');
37+
var noShortcutReferenceLink = require('remark-lint-no-shortcut-reference-link');
38+
var noUndefinedReferences = require('remark-lint-no-undefined-references');
39+
var noUnusedDefinitions = require('remark-lint-no-unused-definitions');
1140

1241
// Retext stuff (prose)
1342
var english = require('retext-english');
@@ -53,52 +82,56 @@ if(process.env.FULL_PROSE_CHECK) {
5382

5483
// Markdown checking pipeline.
5584
var markdown = unified()
56-
.use(parse)
85+
.use(parse, {footnotes: true})
86+
.use(stringify)
87+
.use(frontmatter, 'yaml')
88+
5789
// https://github.com/wooorm/remark-lint/blob/master/doc/rules.md
58-
.use(lint, {
59-
// Headings
60-
headingStyle: 'atx', // ## Headings
61-
firstHeadingLevel: 2, // Page title is h1, so start with h2
62-
headingIncrement: true,
63-
maximumHeadingLength: 80, // FIXME: Eventually remove this
64-
noDuplicateHeadings: true,
65-
noMultipleToplevelHeadings: true,
90+
.use(lint)
6691

67-
// Lists
68-
listItemIndent: 'space', // As the gods intended.
69-
listItemBulletIndent: true,
70-
listItemContentIndent: true,
71-
unorderedListMarkerStyle: '*',
72-
orderedListMarkerStyle: '.',
92+
// Headings
93+
.use(headingStyle, 'atx') // ## Headings
94+
.use(firstHeadingLevel, 2) // Page title is h1, so start with h2
95+
.use(headingIncrement)
96+
.use(maximumHeadingLength, 80) // FIXME: Eventually remove this
97+
.use(noDuplicateHeadings)
98+
.use(noMultipleToplevelHeadings)
7399

74-
// Misc
75-
emphasisMarker: '_',
76-
strongMarker: '*',
77-
blockquoteIndentation: 2,
78-
noMissingBlankLines: {exceptTightLists: true},
79-
noConsecutiveBlankLines: true,
80-
finalNewline: true,
81-
noAutoLinkWithoutProtocol: true,
82-
noBlockquoteWithoutCaret: true,
83-
noLiteralUrls: true,
100+
// Lists
101+
.use(listItemIndent, 'space') // As the gods intended.
102+
.use(listItemBulletIndent)
103+
.use(listItemContentIndent)
104+
.use(unorderedListMarkerStyle, '*')
105+
.use(orderedListMarkerStyle, '.')
84106

85-
// Mistakes
86-
hardBreakSpaces: true,
87-
noDuplicateDefinitions: true,
88-
noHeadingContentIndent: true,
89-
noInlinePadding: true,
90-
noShortcutReferenceImage: true,
91-
noShortcutReferenceLink: true,
92-
noUndefinedReferences: true,
93-
noUnusedDefinitions: true,
94-
})
95-
.use(remark2retext, prose)
96-
.use(stringify);
107+
// Misc
108+
.use(emphasisMarker, '_')
109+
.use(strongMarker, '*')
110+
.use(blockquoteIndentation, 2)
111+
.use(noMissingBlankLines, {exceptTightLists: true})
112+
.use(noConsecutiveBlankLines)
113+
.use(finalNewline)
114+
.use(noAutoLinkWithoutProtocol)
115+
.use(noBlockquoteWithoutMarker)
116+
.use(noLiteralUrls)
117+
118+
// Mistakes
119+
.use(hardBreakSpaces)
120+
.use(noDuplicateDefinitions)
121+
.use(noHeadingContentIndent)
122+
.use(noInlinePadding)
123+
.use(noShortcutReferenceImage)
124+
.use(noShortcutReferenceLink)
125+
.use(noUndefinedReferences)
126+
.use(noUnusedDefinitions)
127+
128+
// Prose
129+
.use(remark2retext, prose);
97130

98131
async.map(ignore.filter(glob.sync('_articles/**/*.md')), function(filePath, callback) {
99132
vfile.read(filePath, function(err, file) {
100133
if(err) return callback(err);
101-
markdown.process(file, {footnotes: true}, callback);
134+
markdown.process(file, callback);
102135
});
103136
}, function (err, results) {
104137
console.log(report(results));

0 commit comments

Comments
 (0)