Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 79c785176f | |||
| 82ad98085f | |||
| dd184c5fdd | |||
| c334c49592 | |||
| 41c28e2b24 | |||
| e1eb17fe96 | |||
| 823d22afee | |||
| 91f4bc5052 | |||
| 7126c0e090 | |||
| 6a3dd6ac2f | |||
| 1542e5e898 |
@ -12,5 +12,8 @@
|
||||
|
||||
// Choose what to do with YAML/TOML (---/+++ respectively) headers
|
||||
// Valid values: "wrap_in_pre", "remove".
|
||||
"header_action": "wrap_in_pre"
|
||||
"header_action": "wrap_in_pre",
|
||||
|
||||
// Wait at least the specified *seconds* before updating the preview.
|
||||
"update_preview_every": 0
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ def markdown2html(md, basepath, color_scheme):
|
||||
|
||||
# the option no-code-highlighting does not exists in the official version of markdown2 for now
|
||||
# I personaly edited the file (markdown2.py:1743)
|
||||
html += md2.markdown(md, extras=['fenced-code-blocks', 'tables'])
|
||||
html += md2.markdown(md, extras=['fenced-code-blocks', 'tables', 'strike'])
|
||||
|
||||
# tables aren't supported by the Phantoms
|
||||
# This function transforms them into aligned ASCII tables and displays them in a <pre> block
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
import sublime
|
||||
import sublime_plugin
|
||||
import time
|
||||
|
||||
from .MLPApi import *
|
||||
from .setting_names import *
|
||||
@ -46,6 +47,11 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
|
||||
|
||||
def update(self, view):
|
||||
vsettings = view.settings()
|
||||
now = time.time()
|
||||
|
||||
if now - vsettings.get(LAST_UPDATE, 0) < get_settings().get('update_preview_every'):
|
||||
return
|
||||
vsettings.set(LAST_UPDATE, now)
|
||||
if not vsettings.get(PREVIEW_ENABLED):
|
||||
return
|
||||
id = vsettings.get(PREVIEW_ID)
|
||||
@ -58,10 +64,14 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
|
||||
show_html(view, preview)
|
||||
return view, preview
|
||||
|
||||
def on_modified(self, view):
|
||||
def on_modified_async(self, view):
|
||||
if not is_markdown_view(view): # faster than getting the settings
|
||||
return
|
||||
delay = get_settings().get('update_preview_every')
|
||||
if not delay:
|
||||
self.update(view)
|
||||
else:
|
||||
sublime.set_timeout(lambda: self.update(view), delay * 1000)
|
||||
|
||||
def on_window_command(self, window, command, args):
|
||||
if command == 'close' and window.settings().get(PREVIEW_WINDOW):
|
||||
@ -78,7 +88,6 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
|
||||
'.hidden-tmLanguage'
|
||||
and not any(filter(lambda window: window.settings().get(PREVIEW_WINDOW) is True,
|
||||
sublime.windows()))):
|
||||
# print("MarkdownLivePreview.py:81", 'open window')
|
||||
sublime.run_command('new_markdown_live_preview')
|
||||
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ hope: You'll enjoy using it!
|
||||
|
||||
And `<!-- vicious ones ;) -->`
|
||||
|
||||
Some `inline code` with *italic* and **bold** text.
|
||||
Some `inline code` with *italic*, **bold** text, and ~~strike through~~.
|
||||
|
||||
```python
|
||||
import this
|
||||
|
||||
@ -127,13 +127,13 @@ def get_style(color_scheme):
|
||||
if os.path.exists(USER_STYLE_FILE):
|
||||
with open(USER_STYLE_FILE) as fp:
|
||||
css += '\n' + fp.read() + '\n'
|
||||
if color_scheme:
|
||||
if color_scheme and color_scheme.endswith('.tmTheme'):
|
||||
css += pygments_from_theme(get_resource(color_scheme))
|
||||
return ''.join([line.strip() + ' ' for line in css.splitlines()])
|
||||
|
||||
def get_resource(resource):
|
||||
if os.path.exists(os.path.join(sublime.packages_path(), '..', resource)):
|
||||
with open(resource) as fp:
|
||||
with open(os.path.join(sublime.packages_path(), '..', resource), encoding='utf-8') as fp:
|
||||
return fp.read()
|
||||
else:
|
||||
return sublime.load_resource(resource)
|
||||
|
||||
@ -7,3 +7,4 @@ IS_HIDDEN = 'is_hidden_markdown_live_preview'
|
||||
MD_VIEW_ID = 'markdown_live_preview_md_id'
|
||||
PREVIEW_WINDOW = 'markdown_live_preview_window'
|
||||
ON_OPEN = 'markdown_live_preview_on_open'
|
||||
LAST_UPDATE = 'markdonw_live_preview_last_run'
|
||||
|
||||
Reference in New Issue
Block a user