Fix bug handling HTML embedded in a table.

This commit is contained in:
David Anson 2016-02-10 22:08:50 -08:00
parent 5877f4b590
commit e60e16baf0
3 changed files with 26 additions and 5 deletions

View file

@ -80,8 +80,21 @@ function lintContent(content, config, frontMatter) { // eslint-disable-line
var tokens = md.parse(content, {});
var lines = content.split(shared.newLineRe);
var tokenLists = {};
var tbodyMap = null;
// Annotate tokens with line/lineNumber
tokens.forEach(function forToken(token) {
// Handle missing maps for table body
if (token.type === "tbody_open") {
tbodyMap = token.map.slice();
} else if ((token.type === "tr_close") && tbodyMap) {
tbodyMap[0]++;
} else if (token.type === "tbody_close") {
tbodyMap = null;
}
if (tbodyMap && !token.map) {
token.map = tbodyMap.slice();
}
// Update token metadata
if (token.map) {
token.line = lines[token.map[0]];
token.lineNumber = token.map[0] + 1;