Files
MarkdownLivePreview/functions.py
2017-01-02 16:07:15 +11:00

51 lines
1.4 KiB
Python

# -*- encoding: utf-8 -*-
import base64
import os.path
import sublime
file404 = os.path.join(os.path.dirname(__file__), '404.png')
def to_base64(path=None, content=None):
if path is None and content is None:
return to_base64(file404)
elif content is None and path is not None:
try:
with open(path, 'rb') as fp:
content = fp.read()
except FileNotFoundError:
return to_base64(file404)
return 'data:image/png;base64,' + ''.join([chr(el) for el in list(base64.standard_b64encode(content))])
def md(*t, **kwargs):
sublime.message_dialog(kwargs.get('sep', '\n').join([str(el) for el in t]))
def sm(*t, **kwargs):
sublime.status_message(kwargs.get('sep', ' ').join([str(el) for el in t]))
def em(*t, **kwargs):
sublime.error_message(kwargs.get('sep', ' ').join([str(el) for el in t]))
def mini(val, min):
if val < min:
return min
return val
def get_content_till(string, char_to_look_for, start=0):
i = start
while i < len(string):
i += 1
if string[i] == char_to_look_for:
return string[start:i], i
def get_view_content(view):
return view.substr(sublime.Region(0, view.size()))
def get_view_from_id(window, id):
for view in window.views():
if view.id() == id:
return view
def get_settings():
return sublime.load_settings('MarkdownLivePreview.sublime-settings')