Add support for disabling/enabling rules within Markdown content (fixes #5).

This commit is contained in:
David Anson 2015-09-26 16:55:33 -07:00
parent 071bba88fc
commit 31141cc3ed
10 changed files with 192 additions and 42 deletions

View file

@ -0,0 +1,69 @@
# Header
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
<!-- markdownlint-disable-->
hard tab / space * in * emphasis / space ` in ` code
<!--MARKDOWNLINT-ENABLE -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
<!-- markdownlint-disable MD010-->
hard tab / space * in * emphasis {MD037} / space ` in ` code {MD038}
<!-- markdownlint-ENABLE MD010 -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
<!-- markdownlint-disable MD010 MD038 -->
hard tab / space * in * emphasis {MD037} / space ` in ` code
<!-- MARKDOWNLINT-enable MD010 MD038 -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
before <!-- markdownlint-disable MD010 --> <!-- markdownlint-disable MD038 --> after
hard tab / space * in * emphasis {MD037} / space ` in ` code
before<!-- markdownlint-enable MD010 --><!-- markdownlint-enable MD038 -->after
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
<!-- markdownlint-disable hard_tab code -->
hard tab / space * in * emphasis {MD037} / space ` in ` code
<!-- markdownlint-enable whitespace -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
hard tab {MD010} <!-- markdownlint-disable --> <!-- markdownlint-enable -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
hard tab <!-- markdownlint-disable md010 -->
<!-- markdownlint-enable md010 -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
<!-- markdownlint-enable -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
<!-- markdownlint-disable -->
<!-- markdownlint-disable -->
hard tab / space * in * emphasis / space ` in ` code
<!-- markdownlint-enable -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
<!-- markdownlint-disable NotATag MD038 -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code
<!-- markdownlint-enable NotATag MD038 -->
hard tab {MD010} / space * in * emphasis {MD037} / space ` in ` code {MD038}
embedded <b>{MD033}</b> HTML

View file

@ -1,4 +0,0 @@
{
"default": true,
"MD003": false
}

View file

@ -1,3 +1,5 @@
<!-- markdownlint-disable MD003 -->
* list
* list

View file

@ -3,8 +3,6 @@
var fs = require("fs");
var path = require("path");
var md = require("markdown-it")();
var assign = require("lodash.assign");
var clone = require("lodash.clone");
var Q = require("q");
var markdownlint = require("../lib/markdownlint");
var shared = require("../lib/shared");
@ -26,11 +24,11 @@ function createTestForFile(file) {
});
},
function noConfigFile() {
return null;
return {};
})
.then(
function lintWithConfig(config) {
var mergedConfig = assign(clone(defaultConfig), config);
var mergedConfig = shared.assign(shared.clone(defaultConfig), config);
return Q.nfcall(markdownlint, {
"files": [ file ],
"config": mergedConfig
@ -416,7 +414,8 @@ module.exports.enableTag = function enableTag(test) {
],
"config": {
"default": false,
"spaces": true
"spaces": true,
"notatag": true
}
};
markdownlint(options, function callback(err, actualResult) {
@ -442,7 +441,8 @@ module.exports.enableTagMixedCase = function enableTagMixedCase(test) {
],
"config": {
"DeFaUlT": false,
"SpAcEs": true
"SpAcEs": true,
"NoTaTaG": true
}
};
markdownlint(options, function callback(err, actualResult) {