From 29c3b61a511b96360b897ed7bda5a095aabc474f Mon Sep 17 00:00:00 2001 From: Mhykol Date: Sun, 19 May 2024 13:47:13 -0400 Subject: Allow iframes for blog --- app.js | 2 +- assets/js/main.js | 2 +- source/blog.js | 8 +++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app.js b/app.js index 0c1872f..969492f 100644 --- a/app.js +++ b/app.js @@ -95,7 +95,7 @@ class App { try { const window = new JSDOM('').window const DOMPurify = createDOMPurify(window) - const clean = DOMPurify.sanitize(output.layouts.header + output.layouts.data + output.layouts.footer) + const clean = DOMPurify.sanitize(output.layouts.header + output.layouts.data + output.layouts.footer, { ADD_TAGS: ["iframe"], ADD_ATTR: ['allow', 'allowfullscreen', 'frameborder', 'scrolling'] }) res.send(clean) } catch (err) { logger.Error(err) diff --git a/assets/js/main.js b/assets/js/main.js index a0c714b..4932e53 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -87,7 +87,7 @@ const getBlog = async (x) => { res('success') }) prism.then(output => { - main.body.innerHTML = DOMPurify.sanitize(text) + main.body.innerHTML = DOMPurify.sanitize(text, { ADD_TAGS: ["iframe"], ADD_ATTR: ['allow', 'allowfullscreen', 'frameborder', 'scrolling'] }) eventListener() window.scrollTo(0, 0) }) diff --git a/source/blog.js b/source/blog.js index 22a7cfc..cc654dd 100644 --- a/source/blog.js +++ b/source/blog.js @@ -2,9 +2,11 @@ const fs = require('fs') const path = require('path') const markdownit = require('markdown-it') const md = markdownit({ - typographer: { - whitespace: 'all' - } + html: true, + breaks: true, + typographer: { + whitespace: 'all' + }, }) const logger = require('./logger')() -- cgit v1.2.3-70-g09d2