[docs] add docs

This commit is contained in:
Mathieu PATUREL
2017-01-22 14:42:50 +11:00
parent 3306d6ad5e
commit ea309f2323
7 changed files with 184 additions and 20 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
Thumbs.db
__pycache__/
cache.txt
venv/

View File

@ -4,7 +4,7 @@
"command": "new_markdown_live_preview"
},
{
"caption": "MarkdownLivePreview: Clear Cache",
"caption": "MarkdownLivePreview: Clear the cache",
"command": "markdown_live_preview_clear_cache"
},
{

View File

@ -19,7 +19,7 @@ STYLE_FILE = os.path.join(os.path.dirname(__folder__), 'User',
'MarkdownLivePreview.css')
# used to store the phantom's set
views = {}
windows_phantom_set = {}
def plugin_loaded():
global DEFAULT_STYLE_FILE
@ -47,7 +47,7 @@ def get_style():
return content + "pre code .space {color: var(--light-bg)}"
def show_html(md_view, preview):
global views
global windows_phantom_set
html = []
html.append('<style>\n{}\n</style>'.format(get_style()))
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(
md_view.file_name()))
phantom_set = views.setdefault(preview.id(),
sublime.PhantomSet(preview, 'markdown_live_preview'))
phantom_set = windows_phantom_set.setdefault(preview.window().id(),
sublime.PhantomSet(preview,
'markdown_live_preview'))
phantom_set.update([sublime.Phantom(sublime.Region(0), html, sublime.LAYOUT_BLOCK,
lambda href: sublime.run_command('open_url',
{'url': href}))])
@ -93,5 +94,9 @@ def clear_cache():
"""Removes the cache file"""
os.remove(CACHE_FILE)
def release_phantoms_set():
global views
def release_phantoms_set(view_id=None):
global windows_phantom_set
if view_id is None:
windows_phantom_set = {}
else:
del windows_phantom_set[view_id]

View File

@ -64,6 +64,7 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
def on_window_command(self, window, command, args):
if command == 'close' and window.settings().get(PREVIEW_WINDOW):
release_phantoms_set(window.id())
return 'close_window', {}
def on_activated_async(self, view):
@ -105,13 +106,7 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
if show_menus is not None:
window.set_menu_visible(show_menus)
class MarkdownLivePreviewClearCacheCommand(sublime_plugin.ApplicationCommand):
def run(self):
clear_cache()
class MarkdownLivePreviewReleasePhantomSetCommand(sublime_plugin.ApplicationCommand):
def run(self):
release_phantoms_set()

129
docs/index.md Normal file
View 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
View 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

View File

@ -1,8 +1,8 @@
# sample
# Hello world
sdfdsf
![std](https://www.grafikart.fr/uploads/users/46570/2015/01/offtime-screens-11_1_.jpg)
sdfd
sdf
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
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.