tools: add table parsing capability to the doctool
PR-URL: https://github.com/nodejs/node/pull/9532 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
d33b3d1086
commit
0584aeb30a
@ -183,13 +183,35 @@ function analyticsScript(analytics) {
|
|||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// replace placeholders in text tokens
|
||||||
|
function replaceInText(text) {
|
||||||
|
return linkJsTypeDocs(linkManPages(text));
|
||||||
|
}
|
||||||
|
|
||||||
// handle general body-text replacements
|
// handle general body-text replacements
|
||||||
// for example, link man page references to the actual page
|
// for example, link man page references to the actual page
|
||||||
function parseText(lexed) {
|
function parseText(lexed) {
|
||||||
lexed.forEach(function(tok) {
|
lexed.forEach(function(tok) {
|
||||||
if (tok.text && tok.type !== 'code') {
|
if (tok.type === 'table') {
|
||||||
tok.text = linkManPages(tok.text);
|
if (tok.cells) {
|
||||||
tok.text = linkJsTypeDocs(tok.text);
|
tok.cells.forEach((row, x) => {
|
||||||
|
row.forEach((_, y) => {
|
||||||
|
if (tok.cells[x] && tok.cells[x][y]) {
|
||||||
|
tok.cells[x][y] = replaceInText(tok.cells[x][y]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tok.header) {
|
||||||
|
tok.header.forEach((_, i) => {
|
||||||
|
if (tok.header[i]) {
|
||||||
|
tok.header[i] = replaceInText(tok.header[i]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else if (tok.text && tok.type !== 'code') {
|
||||||
|
tok.text = replaceInText(tok.text);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user