diff --git a/MarkdownLivePreview.tasks b/MarkdownLivePreview.tasks
index ad3187e..4405a1a 100644
--- a/MarkdownLivePreview.tasks
+++ b/MarkdownLivePreview.tasks
@@ -1,13 +1,20 @@
todo:
☐ sync scroll @needsUpdate(because of images)
- ✔ load images from internet (`https:`) @done (17-01-02 15:51)
☐ regive focus to the right markdown view
☐ set the title of the preview
☐ preview.set_scratch(True)
- ☐ add 404 image
☐ fix #4
☐ bug when empty `src`
☐ auto refresh preview if loading images
☐ call settings listener on_new too
☐ preview.wordWrap => True
+ ☐ try/except for 404
+ ☐ support hanchor (TOC) @big
+
+
+___________________
+Archive:
+ ✔ clean the code (syntax) @done (17-01-02 16:27) @project(todo)
+ ✔ add 404 image @done (17-01-02 16:27) @project(todo)
+ ✔ load images from internet (`https:`) @done (17-01-02 15:51) @project(todo)
diff --git a/image_manager.py b/image_manager.py
index e205a9c..3fa8325 100644
--- a/image_manager.py
+++ b/image_manager.py
@@ -3,7 +3,6 @@
import os.path
from threading import Thread
import urllib.request
-import base64
import sublime
from .functions import *
@@ -12,18 +11,6 @@ TIMEOUT = 20 # seconds
SEPARATOR = '---%cache%--'
-class InternalError(Exception): pass
-
-def load_and_save_image(url, user_callback):
- def callback(content):
- content = to_base64(content=content)
- with open(CACHE_FILE, 'a') as fp:
- fp.write(url + SEPARATOR + content)
- user_callback(content)
- thread = ImageLoader(url, callback)
- thread.start()
- sublime.set_timeout_async(lambda: thread.join(), TIMEOUT * 1000)
-
def get_base64_saver(loading, url):
def callback(content):
loading[url] = to_base64(content=content)
diff --git a/md_in_popup.py b/md_in_popup.py
index 4836850..4372328 100644
--- a/md_in_popup.py
+++ b/md_in_popup.py
@@ -134,10 +134,10 @@ def create_preview(window, md_view):
return preview
def show_html(md_view, preview):
- html = (''.format(get_style()) +
+ html = '{}'.format(get_style(),
pre_with_br(markdown2.markdown(get_view_content(md_view),
- extras=['fenced-code-blocks', 'no-code-highlighting'])))
- # html = """
"""
+ extras=['fenced-code-blocks',
+ 'no-code-highlighting'])))
# the option no-code-highlighting does not exists
# in the official version of markdown2 for now
@@ -157,7 +157,10 @@ def show_html(md_view, preview):
sublime.Region(-1),
html,
sublime.LAYOUT_BLOCK,
- lambda href: sublime.run_command('open_url', {'url': href}))
+ lambda href: sublime.run_command('open_url',
+ {'url': href}))
+
+ # set viewport position
# 0 < y < 1
y = md_view.text_to_layout(md_view.sel()[0].begin())[1] / md_view.layout_extent()[1]
@@ -175,8 +178,8 @@ class MLPDevListener(sublime_plugin.EventListener):
view.file_name().endswith('.py')):
return
sublime.run_command('reload_plugin', {
- 'main': os.path.join(sublime.packages_path(), 'MarkdownLivePreview',
- 'md_in_popup.py'),
+ 'main': os.path.join(sublime.packages_path(),
+ 'MarkdownLivePreview', 'md_in_popup.py'),
'scripts': ['image_manager', 'functions'],
'quiet': True
})
@@ -187,7 +190,8 @@ class MarkdownLivePReviewListener(sublime_plugin.EventListener):
settings = view.settings()
if not 'markdown' in settings.get('syntax').lower():
return
- settings.add_on_change('markdown_preview_enabled', lambda: self.on_modified(view))
+ settings.add_on_change('markdown_preview_enabled',
+ lambda: self.on_modified(view))
def on_modified(self, md_view):
window = md_view.window()
@@ -196,7 +200,8 @@ class MarkdownLivePReviewListener(sublime_plugin.EventListener):
if not 'markdown' in md_view_settings.get('syntax').lower():
return
- markdown_preview_enabled = md_view_settings.get('markdown_preview_enabled') is True
+ markdown_preview_enabled = md_view_settings.get('markdown_preview_'
+ 'enabled') is True
preview_id = md_view_settings.get('markdown_preview_id', None)
if not markdown_preview_enabled:
@@ -220,11 +225,13 @@ class MarkdownLivePReviewListener(sublime_plugin.EventListener):
def on_pre_close(self, view):
settings = view.settings()
if settings.get('markdown_preview_enabled') is True:
- preview = get_view_from_id(view.window(), settings.get('markdown_preview_id'))
+ preview = get_view_from_id(view.window(),
+ settings.get('markdown_preview_id'))
if preview:
sublime.set_timeout_async(lambda: preview.close(), 250)
elif settings.get('is_markdown_preview') is True:
- md_view = get_view_from_id(view.window(), settings.get('markdown_view_id'))
+ md_view = get_view_from_id(view.window(),
+ settings.get('markdown_view_id'))
if md_view:
def callback():
md_view_settings = md_view.settings()
diff --git a/sample.md b/sample.md
index 7358f17..c41a0d5 100644
--- a/sample.md
+++ b/sample.md
@@ -1,3 +1,3 @@
-
+# DuckDuckGo - The Search engine you'll fall in love with
-
+