Merge two pull requests from @ohtake.

This commit is contained in:
David Anson 2016-09-10 19:25:21 -07:00
commit 2d8122a3be
3 changed files with 132 additions and 8 deletions

View file

@ -4,7 +4,8 @@ var shared = require("./shared");
// Returns the indent for a token
function indentFor(token) {
return token.line.length - token.line.trimLeft().length;
var line = token.line.replace(/^[\s>]*(> |>)/, "");
return line.length - line.trimLeft().length;
}
// Returns the heading style for a heading token
@ -575,17 +576,17 @@ module.exports = [
"tags": [ "blockquote", "whitespace", "indentation" ],
"aliases": [ "no-multiple-space-blockquote" ],
"func": function MD027(params, errors) {
var inBlockquote = false;
var blockquoteNesting = 0;
params.tokens.forEach(function forToken(token) {
if (token.type === "blockquote_open") {
inBlockquote = true;
blockquoteNesting++;
} else if (token.type === "blockquote_close") {
inBlockquote = false;
} else if ((token.type === "inline") && inBlockquote) {
blockquoteNesting--;
} else if ((token.type === "inline") && (blockquoteNesting > 0)) {
token.content.split(shared.newLineRe)
.forEach(function forLine(line, offset) {
if (/^\s/.test(line) ||
(!offset && /^\s*>\s\s/.test(token.line))) {
(!offset && /^(\s*>)+\s\s/.test(token.line))) {
errors.push(token.lineNumber + offset);
}
});
@ -622,7 +623,7 @@ module.exports = [
if (!list.unordered) {
var number = 1;
list.items.forEach(function forItem(item) {
var re = new RegExp("^\\s*" + String(number) + "\\.");
var re = new RegExp("^[\\s>]*" + String(number) + "\\.");
if (!re.test(item.line)) {
errors.push(item.lineNumber);
}
@ -652,7 +653,7 @@ module.exports = [
(allSingle ? ulSingle : ulMulti) :
(allSingle ? olSingle : olMulti);
list.items.forEach(function forItem(item) {
var match = /^\s*\S+(\s+)/.exec(item.line);
var match = /^[\s>]*\S+(\s+)/.exec(item.line);
if (!match || (match[1].length !== expectedSpaces)) {
errors.push(item.lineNumber);
}

View file

@ -0,0 +1,59 @@
# Nested blockquote
> A {MD027}
>
> > B {MD027}
>
> C {MD027}
Text
> A {MD027}
>
> > B {MD027}
> >
> > > C {MD027}
> >
> > D {MD027}
>
> E {MD027}
Text
> A {MD027}
>
>> B {MD027}
>>
>>> C {MD027}
>>
>> D {MD027}
>
> E {MD027}
Text
> > Text {MD027}
Text
> > Text {MD027}
Text
> > Text {MD027}
Text
> > Text {MD027}
Text
> > > Text {MD027}
Text
> > > > Text {MD027}
Text
>> >> Text {MD027}

View file

@ -0,0 +1,64 @@
# Lists in blockquote
> 1. The simplest ordered list in blockquote
Text
> + The simplest unordered list in blockquote
Text
>1. Item
Text
>+ Item
Text
>1. Item {MD030}
Text
>+ Item {MD030}
Text
> 1. Item
> 1. Item {MD027}
Text
> - Item
> - Item {MD027}
Text
> 1. Item
> 1. Item {MD027}
> 1. Item {MD027} {MD030}
Text
> * Item
> * Item {MD027}
> * Item {MD027} {MD030}
> * Item {MD027} {MD005}
> * Item {MD027} {MD005}
Text
> Text
> > - Item
> > - Item {MD027}
> > - Item
> > > - Item
> > > - Item {MD027}
> > > - Item {MD027}
Text
>* Item
> * Item
>>* Item
>> * Item