diff --git a/_config.ts b/_config.ts index 163eaad..58470be 100644 --- a/_config.ts +++ b/_config.ts @@ -59,4 +59,23 @@ site.use(toc({ })); site.use(footnotes()); +site.process([".html"], (page) => { + // NOTE: This is a hack to append a class to JS doctrings so that we + // can style them. If only the Hightlight.js plugin could be configured + // to do this instead. + const codeCommentElements = page.document?.getElementsByClassName("hljs-comment"); + if (codeCommentElements && codeCommentElements.length > 0) { + const docStringRegex = /^\/\*\*.*\*\/$/gsm; + const codeDocStringElements = codeCommentElements.filter((el) => { + const matchResult = el.innerText.match(docStringRegex); + return !!matchResult; + }); + if (codeDocStringElements.length > 0) { + codeDocStringElements.forEach((el) => { + el.classList.add("docstring"); + }) + } + } +}); + export default site;