Fixed Markdown Preview not showing images
This commit is contained in:
@@ -20,6 +20,7 @@ class MarkdownPreview(Gtk.Popover, MarkdownPreviewMixin):
|
|||||||
super(MarkdownPreview, self).__init__()
|
super(MarkdownPreview, self).__init__()
|
||||||
|
|
||||||
self.can_hide: bool = True
|
self.can_hide: bool = True
|
||||||
|
self.fpath: str = ""
|
||||||
self.is_preview_paused: bool = True # True by default b/c started hidden
|
self.is_preview_paused: bool = True # True by default b/c started hidden
|
||||||
|
|
||||||
self._setup_styling()
|
self._setup_styling()
|
||||||
@@ -52,8 +53,8 @@ class MarkdownPreview(Gtk.Popover, MarkdownPreviewMixin):
|
|||||||
bttn_box = Gtk.ButtonBox()
|
bttn_box = Gtk.ButtonBox()
|
||||||
scrolled_win = Gtk.ScrolledWindow()
|
scrolled_win = Gtk.ScrolledWindow()
|
||||||
viewport = Gtk.Viewport()
|
viewport = Gtk.Viewport()
|
||||||
self._markdown_view = WebkitUI()
|
|
||||||
|
|
||||||
|
self._markdown_view = WebkitUI()
|
||||||
self.start_stop_bttn = Gtk.ToggleButton()
|
self.start_stop_bttn = Gtk.ToggleButton()
|
||||||
settings_bttn = Gtk.Button()
|
settings_bttn = Gtk.Button()
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Python imports
|
# Python imports
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
# Lib imports
|
# Lib imports
|
||||||
|
|
||||||
@@ -19,11 +20,11 @@ class MarkdownPreviewMixin(MarkdownTemplateMixin):
|
|||||||
return
|
return
|
||||||
|
|
||||||
data = self.get_rendered_markdown(buffer)
|
data = self.get_rendered_markdown(buffer)
|
||||||
self._load_html(data)
|
self._load_html(data, f"file://{self.fpath}")
|
||||||
|
|
||||||
def _load_html(self, data: str):
|
def _load_html(self, data: str, base_path: str = ""):
|
||||||
self._markdown_view.load_html(
|
self._markdown_view.load_html(
|
||||||
content = data, base_uri = None
|
content = data, base_uri = base_path
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_rendered_markdown(self, buffer) -> str:
|
def get_rendered_markdown(self, buffer) -> str:
|
||||||
|
|||||||
@@ -20,10 +20,21 @@ class Plugin(PluginCode):
|
|||||||
super(Plugin, self).__init__()
|
super(Plugin, self).__init__()
|
||||||
|
|
||||||
|
|
||||||
|
def _set_file(self, buffer):
|
||||||
|
event = Event_Factory.create_event(
|
||||||
|
"get_file", buffer = buffer
|
||||||
|
)
|
||||||
|
self.message_to("files", event)
|
||||||
|
if not event.response.get_location(): return
|
||||||
|
|
||||||
|
markdown_preview.fpath = event.response.get_location().get_path()
|
||||||
|
|
||||||
def _controller_message(self, event: Code_Event_Types.CodeEvent):
|
def _controller_message(self, event: Code_Event_Types.CodeEvent):
|
||||||
if isinstance(event, Code_Event_Types.FocusedViewEvent):
|
if isinstance(event, Code_Event_Types.FocusedViewEvent):
|
||||||
|
self._set_file(event.view.get_buffer())
|
||||||
markdown_preview._do_markdown_translate(event.view.get_buffer())
|
markdown_preview._do_markdown_translate(event.view.get_buffer())
|
||||||
elif isinstance(event, Code_Event_Types.TextChangedEvent):
|
elif isinstance(event, Code_Event_Types.TextChangedEvent):
|
||||||
|
self._set_file(event.buffer)
|
||||||
markdown_preview._do_markdown_translate(event.buffer)
|
markdown_preview._do_markdown_translate(event.buffer)
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user