From 8a1425a86a57d9a0f58cae4e0f79d331711e8deb Mon Sep 17 00:00:00 2001 From: Aaron Gustafson Date: Mon, 10 Apr 2023 15:27:13 -0700 Subject: [PATCH 1/2] Using JSDOM to strip HTML --- src/Tags/PageTitle.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Tags/PageTitle.js b/src/Tags/PageTitle.js index 741d20c..0f70485 100644 --- a/src/Tags/PageTitle.js +++ b/src/Tags/PageTitle.js @@ -1,4 +1,5 @@ const BaseTag = require("./BaseTag"); +const jsdom = require("jsdom"); class PageTitle extends BaseTag { render(title, pageNumber, size) { @@ -8,6 +9,10 @@ class PageTitle extends BaseTag { // Fallback on `title` in config if no title is set for the page. let pageTitle = title || this.siteTitle; + + // Strip any HTML in the title + const dom = new jsdom.JSDOM(`

${pageTitle}

`); + pageTitle = dom.window.document.querySelector("h1").textContent; // Showing page numbers? const showPages = this.showPageNumbers(); From 8086fabd6d0a0639933b91015a7340c16322c430 Mon Sep 17 00:00:00 2001 From: Aaron Gustafson Date: Mon, 10 Apr 2023 15:27:57 -0700 Subject: [PATCH 2/2] Adding JSDOM dependency --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 4248c3f..a13e9f5 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ }, "dependencies": { "html-entities": "^1.2.1", - "lodash": "^4.17.19" + "lodash": "^4.17.19", + "jsdom": "^16.2.2" } }