[docs] add docs
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
Thumbs.db
|
Thumbs.db
|
||||||
__pycache__/
|
__pycache__/
|
||||||
cache.txt
|
cache.txt
|
||||||
|
venv/
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
"command": "new_markdown_live_preview"
|
"command": "new_markdown_live_preview"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"caption": "MarkdownLivePreview: Clear Cache",
|
"caption": "MarkdownLivePreview: Clear the cache",
|
||||||
"command": "markdown_live_preview_clear_cache"
|
"command": "markdown_live_preview_clear_cache"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
17
MLPApi.py
17
MLPApi.py
@ -19,7 +19,7 @@ STYLE_FILE = os.path.join(os.path.dirname(__folder__), 'User',
|
|||||||
'MarkdownLivePreview.css')
|
'MarkdownLivePreview.css')
|
||||||
|
|
||||||
# used to store the phantom's set
|
# used to store the phantom's set
|
||||||
views = {}
|
windows_phantom_set = {}
|
||||||
|
|
||||||
def plugin_loaded():
|
def plugin_loaded():
|
||||||
global DEFAULT_STYLE_FILE
|
global DEFAULT_STYLE_FILE
|
||||||
@ -47,7 +47,7 @@ def get_style():
|
|||||||
return content + "pre code .space {color: var(--light-bg)}"
|
return content + "pre code .space {color: var(--light-bg)}"
|
||||||
|
|
||||||
def show_html(md_view, preview):
|
def show_html(md_view, preview):
|
||||||
global views
|
global windows_phantom_set
|
||||||
html = []
|
html = []
|
||||||
html.append('<style>\n{}\n</style>'.format(get_style()))
|
html.append('<style>\n{}\n</style>'.format(get_style()))
|
||||||
html.append(pre_with_br(md2.markdown(get_view_content(md_view),
|
html.append(pre_with_br(md2.markdown(get_view_content(md_view),
|
||||||
@ -69,8 +69,9 @@ def show_html(md_view, preview):
|
|||||||
html = replace_img_src_base64(html, basepath=os.path.dirname(
|
html = replace_img_src_base64(html, basepath=os.path.dirname(
|
||||||
md_view.file_name()))
|
md_view.file_name()))
|
||||||
|
|
||||||
phantom_set = views.setdefault(preview.id(),
|
phantom_set = windows_phantom_set.setdefault(preview.window().id(),
|
||||||
sublime.PhantomSet(preview, 'markdown_live_preview'))
|
sublime.PhantomSet(preview,
|
||||||
|
'markdown_live_preview'))
|
||||||
phantom_set.update([sublime.Phantom(sublime.Region(0), html, sublime.LAYOUT_BLOCK,
|
phantom_set.update([sublime.Phantom(sublime.Region(0), html, sublime.LAYOUT_BLOCK,
|
||||||
lambda href: sublime.run_command('open_url',
|
lambda href: sublime.run_command('open_url',
|
||||||
{'url': href}))])
|
{'url': href}))])
|
||||||
@ -93,5 +94,9 @@ def clear_cache():
|
|||||||
"""Removes the cache file"""
|
"""Removes the cache file"""
|
||||||
os.remove(CACHE_FILE)
|
os.remove(CACHE_FILE)
|
||||||
|
|
||||||
def release_phantoms_set():
|
def release_phantoms_set(view_id=None):
|
||||||
global views
|
global windows_phantom_set
|
||||||
|
if view_id is None:
|
||||||
|
windows_phantom_set = {}
|
||||||
|
else:
|
||||||
|
del windows_phantom_set[view_id]
|
||||||
|
|||||||
@ -64,6 +64,7 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
|
|||||||
|
|
||||||
def on_window_command(self, window, command, args):
|
def on_window_command(self, window, command, args):
|
||||||
if command == 'close' and window.settings().get(PREVIEW_WINDOW):
|
if command == 'close' and window.settings().get(PREVIEW_WINDOW):
|
||||||
|
release_phantoms_set(window.id())
|
||||||
return 'close_window', {}
|
return 'close_window', {}
|
||||||
|
|
||||||
def on_activated_async(self, view):
|
def on_activated_async(self, view):
|
||||||
@ -105,13 +106,7 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
|
|||||||
if show_menus is not None:
|
if show_menus is not None:
|
||||||
window.set_menu_visible(show_menus)
|
window.set_menu_visible(show_menus)
|
||||||
|
|
||||||
|
|
||||||
class MarkdownLivePreviewClearCacheCommand(sublime_plugin.ApplicationCommand):
|
class MarkdownLivePreviewClearCacheCommand(sublime_plugin.ApplicationCommand):
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
clear_cache()
|
clear_cache()
|
||||||
|
|
||||||
class MarkdownLivePreviewReleasePhantomSetCommand(sublime_plugin.ApplicationCommand):
|
|
||||||
|
|
||||||
def run(self):
|
|
||||||
release_phantoms_set()
|
|
||||||
|
|||||||
129
docs/index.md
Normal file
129
docs/index.md
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
Welcome to MarkdownLivePreview's documentation!
|
||||||
|
|
||||||
|
MarkdownLivePreview is a [Sublime Text 3][st] plugin to preview your markdown as you type,
|
||||||
|
*right in Sublime Text itself*, without *any* dependency!
|
||||||
|
|
||||||
|
It's very easy to use, but there's a few things that you might want to be aware of... So, let's
|
||||||
|
get started
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Using Package Control
|
||||||
|
|
||||||
|
You can really easily install MarkdownLivePreview by using [Package Control][pck-con].
|
||||||
|
|
||||||
|
If it's not already, you need to [install it][install-pck-con] first.
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
If you're using the latest build of Sublime Text 3, you can just do
|
||||||
|
*Tools → Install Package Control…*
|
||||||
|
|
||||||
|
- Open up the command palette (<kbd>ctrl+shift+p</kbd>)
|
||||||
|
- Search up `Package Control: Install Package` (might take a few seconds)
|
||||||
|
- In the panel that just showed up, search for `MarkdownLivePreview`
|
||||||
|
|
||||||
|
Done! You have now access to every single features of MarkdownLivePreview! :wink:
|
||||||
|
|
||||||
|
### Using `git`
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd "%APPDATA%\Sublime Text 3\Packages" # on Windows
|
||||||
|
$ cd ~/Library/Application\ Support/Sublime\ Text\ 3 # on Mac
|
||||||
|
$ cd ~/.config/sublime-text-3 # on Linux
|
||||||
|
|
||||||
|
$ git clone "https://github.com/math2001/MarkdownLivePreview"
|
||||||
|
```
|
||||||
|
|
||||||
|
> So, which one do I pick?!
|
||||||
|
|
||||||
|
I depends of what you want to do. If you want to just use MarkdownLivePreview, pick the first
|
||||||
|
solution, you'll get every update automatically. But if you want to contribute, then choose the
|
||||||
|
second solution.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Previewing
|
||||||
|
|
||||||
|
As told in the introduction, MarkdownLivePreview is very easy to use:
|
||||||
|
|
||||||
|
- open a markdown file
|
||||||
|
- press <kbd>alt+m</kbd>
|
||||||
|
- or select in the command palette `MarkdownLivePreview: Edit Current File`
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
The preview of unsaved markdown files is currently not supported. It should be fixed soon.
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
[Markdown Extended][] is supported too!
|
||||||
|
|
||||||
|
That's it.
|
||||||
|
|
||||||
|
### Clearing the cache
|
||||||
|
|
||||||
|
MarkdownLivePreview has a cache system to store images you load from internet. You can clear this
|
||||||
|
cache by searching up in the command palette `MarkdownLivePreview: Clear the cache`.
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
The cache is one simple file called `MarkdownLivePreviewCache`, which is located in your temp
|
||||||
|
folder. To know where it is, you can open the Sublime Text console (<kbd>ctrl+`</kbd> or
|
||||||
|
*View → Show Console*), and paste this in:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import tempfile; print(tempfile.gettempdir())
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom settings for the preview
|
||||||
|
|
||||||
|
Sublime Text makes it easy to set custom settings for a specific *type* of view. For example,
|
||||||
|
`markdown`, `python`, etc. MarkdownLivePreview takes advantage of that: the preview view (the view
|
||||||
|
on the right) is a specific syntax (called — sorry for the originality —
|
||||||
|
`MarkdownLivePreviewSyntax`). So, to change this, you can focus the right view, open up the command
|
||||||
|
palette (<kbd>ctrl+shift+p</kbd>), and search up `Preferences: Settings — Syntax Specific`. In here,
|
||||||
|
you can specify any settings that is going to be applied only to this view.
|
||||||
|
|
||||||
|
### The hacky part
|
||||||
|
|
||||||
|
In fact, MarkdownLivePreview parses those settings, and looks for specific ones:
|
||||||
|
|
||||||
|
- `show_tabs`
|
||||||
|
- `show_minimap`
|
||||||
|
- `show_status_bar`
|
||||||
|
- `show_sidebar`
|
||||||
|
- `show_menus`
|
||||||
|
|
||||||
|
Those settings aren't supported by default because they affect the entire *window* instead of just
|
||||||
|
the view. But MarkdownLivePreview will look for them in your *preview*'s settings, and hide/show the
|
||||||
|
tabs, the minimap, etc...
|
||||||
|
|
||||||
|
As you probably guessed those settings takes a bool for value (`true` or `false`).
|
||||||
|
|
||||||
|
### Recommendation
|
||||||
|
|
||||||
|
Here's what I'd recommend (and use):
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"show_menus": false,
|
||||||
|
"show_tabs": false,
|
||||||
|
"show_minimap": false,
|
||||||
|
"gutter": false,
|
||||||
|
"rulers": [],
|
||||||
|
"word_wrap": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
On Windows at least, you can press <kbd>alt</kbd> to focus (so show) the menu, even if they're
|
||||||
|
originally hidden
|
||||||
|
|
||||||
|
That's it! I hope you'll enjoy using this package! If it's the case, please let your friends know
|
||||||
|
about it, and even myself by sending me a [tweet][] or staring the repo
|
||||||
|
<iframe
|
||||||
|
src="https://ghbtns.com/github-btn.html?user=math2001&repo=MarkdownLivePreview&type=star&count=true&size=large"
|
||||||
|
frameborder="0" scrolling="0" width="160px" height="30px"></iframe>!
|
||||||
|
|
||||||
|
[st]: https://sublimetext.com
|
||||||
|
[Markdown Extended]: https://packagecontrol.io/packages/Markdown%20Extended
|
||||||
|
[pck-con]: https://packagecontrol.io
|
||||||
|
[pck-con-ins]: https://packagecontrol.io/installation
|
||||||
|
[tweet]: https://twitter.com/_math2001
|
||||||
34
mkdocs.yml
Normal file
34
mkdocs.yml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
site_name: MarkdownLivePreview
|
||||||
|
theme: material
|
||||||
|
repo_name: math2001/MarkdownLivePreview
|
||||||
|
repo_url: https://github.com/math2001/MarkdownLivePreview
|
||||||
|
site_description: Sublime Text 3 Plugin MarkdownLivePreview's documentation
|
||||||
|
site_author: math2001
|
||||||
|
|
||||||
|
markdown_extensions:
|
||||||
|
- toc(permalink=true)
|
||||||
|
- pymdownx.arithmatex
|
||||||
|
- pymdownx.betterem(smart_enable=all)
|
||||||
|
- pymdownx.caret
|
||||||
|
- pymdownx.critic
|
||||||
|
- pymdownx.emoji:
|
||||||
|
emoji_generator: !!python/name:pymdownx.emoji.to_svg
|
||||||
|
- pymdownx.inlinehilite
|
||||||
|
- pymdownx.magiclink
|
||||||
|
- pymdownx.mark
|
||||||
|
- pymdownx.smartsymbols
|
||||||
|
- pymdownx.superfences
|
||||||
|
- pymdownx.tasklist(custom_checkbox=true)
|
||||||
|
- pymdownx.tilde
|
||||||
|
- admonition
|
||||||
|
- codehilite
|
||||||
|
|
||||||
|
extra:
|
||||||
|
palette:
|
||||||
|
primary: Blue
|
||||||
|
accent: Indigo
|
||||||
|
social:
|
||||||
|
- type: github
|
||||||
|
link: https://github.com/math2001
|
||||||
|
- type: twitter
|
||||||
|
link: https://twitter.com/_math2001
|
||||||
14
sample.md
14
sample.md
@ -1,8 +1,8 @@
|
|||||||
# sample
|
# Hello world
|
||||||
|
|
||||||
sdfdsf
|
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
|
||||||
|
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
|
||||||

|
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
||||||
|
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
|
||||||
sdfd
|
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
|
||||||
sdf
|
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||||
|
|||||||
Reference in New Issue
Block a user