in inflation-explorer/harness/update-harness.js [164:190]
function prepareTemplate(html, weighting) {
const dom = new jsdom.JSDOM(html)
const document = dom.window.document
let content = contentNode(document)
let paragraphClass = content.querySelector('p').className
let figureClassList = content.querySelector('figure.element-atom').classList
let figureClass = figureClassList[figureClassList.length - 1]
removeUnwantedElements(document)
replaceFurniture(document)
insertMockElements(document, weighting, figureClass, paragraphClass)
let serialized = dom.serialize()
// this replacement needs to happen after serialization to prevent escaping
serialized = serialized.replace("{{ title }}", "<%= title %>")
serialized = serialized.replace("{{ headline }}", "<%= headline %>")
serialized = serialized.replace("{{ standfirst }}", "<%= standfirst %>")
serialized = serialized.replace("--my-custom-property: '{{ paragraphStyle }}';", "<%= paragraphStyle %>")
serialized = serialized.replace("{{ paragraphBefore }}", "<%= paragraphBefore %>")
serialized = serialized.replace("{{ html }}", "<%= html %>")
return serialized
}