diff options
Diffstat (limited to 'generator')
-rw-r--r-- | generator/postrenderer.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/generator/postrenderer.js b/generator/postrenderer.js index 80991a0..cc29b08 100644 --- a/generator/postrenderer.js +++ b/generator/postrenderer.js @@ -148,6 +148,14 @@ function _style_to_header(doc) for (let s of styles) head.appendChild(s); } +function htmlescape(s) +{ + return s.replace(/</g, "<") + .replace(/>/g, ">") + .replace(/&/g, "&") + .replace(/"/g, """) + .replace(/'/g, "'"); +} async function _render(inf,outf,np,pp) { const postcont=fs.readFileSync(inf,'utf8'); @@ -192,6 +200,14 @@ async function _render(inf,outf,np,pp) else trd.getElementById('article').innerHTML=contsplit.join('\n'); + //title and meta description + const titlee = trd.querySelector('title'); + titlee.innerHTML = titlee.innerHTML.replace( + /%t/, htmlescape(meta[0].trim()) + ); + const metade = trd.querySelector('meta[name="description"]'); + metade.setAttribute('content', metade.getAttribute('content').replace(/%t/, meta[0].trim())); + //async images trd.getElementById('article').querySelectorAll('img').forEach( (i)=>{if(!i.getAttribute('decoding'))i.setAttribute('decoding','async');} |