From 2f849983ba095aa9ce6fc0442941042822e49324 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Mon, 9 Jun 2025 23:27:21 -0400 Subject: [PATCH] Allow raw HTML in markdown preview (fixes #423) --- remarkable/RemarkableWindow.py | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/remarkable/RemarkableWindow.py b/remarkable/RemarkableWindow.py index 496b944..370f018 100644 --- a/remarkable/RemarkableWindow.py +++ b/remarkable/RemarkableWindow.py @@ -1654,21 +1654,40 @@ def update_status_bar(self, widget): self.status_message = "Lines: " + str(lines) + ", " + "Words: " + str(word_count) + ", Characters: " + str(chars) self.statusbar.push(self.context_id, self.status_message) - def update_live_preview(self, widet): - text = self.text_buffer.get_text(self.text_buffer.get_start_iter(), self.text_buffer.get_end_iter(), False) + def update_live_preview(self, widget): + text = self.text_buffer.get_text( + self.text_buffer.get_start_iter(), + self.text_buffer.get_end_iter(), + False + ) + try: - html_middle = markdown.markdown(text, extensions=self.default_extensions) + html_middle = markdown.markdown( + text, + extensions=self.default_extensions, + disable_raw_html=False + ) except Exception as e: print(e) try: - html_middle = markdown.markdown(text, extensions=self.safe_extensions) + html_middle = markdown.markdown( + text, + extensions=self.safe_extensions, + disable_raw_html=False + ) except: - html_middle = markdown.markdown(text) + html_middle = markdown.markdown( + text, + disable_raw_html=False + ) + html = self.default_html_start + html_middle + self.default_html_end # Update the display, supporting relative paths to local images - self.live_preview.load_html(html, "file://{}".format(os.path.abspath(self.name))) - + self.live_preview.load_html( + html, + "file://{}".format(os.path.abspath(self.name)) + ) """ This function suppresses the messages from the WebKit (live preview) console """