docs(xml): code escaping for XMLDocs generation (#5703)

This commit is contained in:
Anže Vodovnik 2021-03-03 19:39:06 +01:00 committed by GitHub
parent 23b035b052
commit ad27f3bf02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -60,7 +60,7 @@ function _innerRenderNodes(nodes, maxColumns = 80, wrapParagraphs = true) {
else
summary.push(..._wrapAndEscape(node, maxColumns));
} else if (node.type === 'code' && node.codeLang === 'csharp') {
_wrapInNode('code', node.lines, summary);
_wrapInNode('code', _wrapCode(node.lines), summary);
} else if (node.type === 'li') {
_wrapInNode('item><description', _wrapAndEscape(node, maxColumns), summary, '/description></item');
} else if (node.type === 'note') {
@ -73,6 +73,19 @@ function _innerRenderNodes(nodes, maxColumns = 80, wrapParagraphs = true) {
return { summary, remarks };
}
function _wrapCode(lines) {
let i = 0;
let out = [];
for (let line of lines) {
line = line.replace('<', '&lt;').replace('>', '&gt;');
if (i < lines.length - 1)
line = line + "<br/>";
out.push(line);
i++;
}
return out;
}
function _wrapInNode(tag, nodes, target, closingTag = null) {
if (nodes.length === 0)
return;