chore(docs): add support for language specific notes (#5810)

This commit is contained in:
Anže Vodovnik 2021-03-17 15:20:37 +01:00 committed by GitHub
parent 1fab84577a
commit 693e5699ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 1 deletions

View file

@ -207,6 +207,7 @@ Documentation.Class = class {
member.filterForLanguage(lang);
membersArray.push(member);
}
this.spec = filterSpecs(this.spec, lang);
this.membersArray = membersArray;
}
@ -340,6 +341,7 @@ Documentation.Member = class {
argsArray.push(overriddenArg);
}
this.argsArray = argsArray;
this.spec = filterSpecs(this.spec, lang);
}
clone() {
@ -687,4 +689,16 @@ function generateSourceCodeComment(spec) {
return md.render(comments, 120);
}
/**
*
* @param {MarkdownNode[]} spec
* @param {string} lang
* @returns {MarkdownNode[]}
*/
function filterSpecs(spec, lang) {
if(!spec)
return;
return spec.filter(n => n.type !== 'note' || (n.type === 'note' && (!n.codeLang || n.codeLang === lang)));
}
module.exports = Documentation;

View file

@ -141,10 +141,12 @@ function buildTree(lines) {
}
if (content.startsWith(':::')) {
let noteType = content.substring(3).split(' ');
/** @type {MarkdownNode} */
const node = {
type: 'note',
noteType: content.substring(3)
noteType: noteType[0],
codeLang: noteType[1]
};
line = lines[++i];
const tokens = [];