def on_menuitem_preview_browser_activate(self, widget):
# Create a temporary HTML file
tf = tempfile.NamedTemporaryFile(delete = False)
self.temp_file_list.append(tf)
tf_name = tf.name
text = self.text_buffer.get_text(self.text_buffer.get_start_iter(), self.text_buffer.get_end_iter(), False)
dirname = os.path.dirname(self.name)
text = re.sub(r'(\!\[.*?\]\()([^/][^:]*?\))', lambda m, dirname=dirname: m.group(1) + os.path.join(dirname, m.group(2)), text)
try:
html_middle = markdown.markdown(text, self.default_extensions)
except:
try:
html_middle = markdown.markdown(text, extensions =self.safe_extensions)
except:
html_middle = markdown.markdown(text)
html = self.default_html_start + html_middle + self.default_html_end
tf.write(html.encode())
tf.flush()
# Load the temporary HTML file in the user's default browser
webbrowser.open_new_tab(tf_name)
评论列表
文章目录