diff --git a/MarkdownLivePreview.py b/MarkdownLivePreview.py index 5f99e63..f1f3064 100644 --- a/MarkdownLivePreview.py +++ b/MarkdownLivePreview.py @@ -6,16 +6,33 @@ from functools import partial from .markdown2html import markdown2html from .utils import * -from .resources import resources - -def plugin_loaded(): - pass MARKDOWN_VIEW_INFOS = "markdown_view_infos" PREVIEW_VIEW_INFOS = "preview_view_infos" # FIXME: put this as a setting for the user to choose? DELAY = 500 # ms +def get_resource(resource): + path = 'Packages/MarkdownLivePreview/resources/' + resource + abs_path = os.path.join(sublime.packages_path(), '..', path) + if os.path.isfile(abs_path): + with open(abs_path, 'r') as fp: + return fp.read() + return sublime.load_resource(path) + +resources = {} + +def plugin_loaded(): + resources["base64_loading_image"] = get_resource('loading.base64') + resources["base64_404_image"] = get_resource('404.base64') + resources["stylesheet"] = get_resource('stylesheet.css') + +# try to reload the resources if we save this file +try: + plugin_loaded() +except OSError: + pass + # Terminology # original_view: the view in the regular editor, without it's own window # markdown_view: the markdown view, in the special window @@ -190,6 +207,8 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener): resources ) + print(html) + self.phantom_sets[markdown_view.id()].update([ sublime.Phantom(sublime.Region(0), html, sublime.LAYOUT_BLOCK, lambda href: sublime.run_command('open_url', {'url': href})) diff --git a/live-testing/test.md b/live-testing/test.md index 24d3981..cc7fdde 100644 --- a/live-testing/test.md +++ b/live-testing/test.md @@ -1,12 +1,15 @@ # hello world -This is a *test*. asdfas +This is a *test*. Some inline `[2]code()`. -``` +```python import this # you should try this ``` -this flickering is really annoying... \ No newline at end of file +this flickering is really annoying... + + +It looks like it's gone... Oh wait nah, it's still here... \ No newline at end of file diff --git a/resources.py b/resources.py deleted file mode 100644 index cecc707..0000000 --- a/resources.py +++ /dev/null @@ -1,17 +0,0 @@ -import os.path -import sublime - -def get_resource(resource): - path = 'Packages/MarkdownLivePreview/resources/' + resource - abs_path = os.path.join(sublime.packages_path(), '..', path) - if os.path.isfile(abs_path): - with open(abs_path, 'r') as fp: - return fp.read() - return sublime.load_resource(path) - -resources = {} - -def plugin_loaded(): - resources["base64_loading_image"] = get_resource('loading.base64') - resources["base64_404_image"] = get_resource('404.base64') - resources["stylesheet"] = get_resource('stylesheet.css') diff --git a/resources/stylesheet.css b/resources/stylesheet.css index 12780e3..ac04e54 100644 --- a/resources/stylesheet.css +++ b/resources/stylesheet.css @@ -1,3 +1,40 @@ +html { + --light-bg: color(var(--background) blend(#fff 90%)); + --very-light-bg: color(var(--background) blend(#fff 85%)); +} + body { - font-family: "Open Sans", sans-serif, serif; -} \ No newline at end of file + font-family: "Ubuntu", "DejaVu Sans", "Open Sans", sans-serif; +} + +blockquote { + font-style: italic; + display: block; + margin-left: 30px; +} + +pre { + display: block; + background-color: var(--very-light-bg); +} + +code { + padding-left: 0.2rem; + padding-right: 0.2rem; + margin: 0; + border-radius: 3px; + background-color: red; +} + +code { + padding-left: 0.2rem; + padding-right: 0.2rem; + background-color: var(--very-light-bg); + margin: 0; + border-radius: 3px; +} + +pre code { + padding: 0; +} +