function prepareTemplate()

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
}