a simple markdown viewer for linux.
python3
pointing to Python 3.6+.- Pandoc 2.0+ [
apt install pandoc
|pacman -S pandoc
| ... ] - Flask [
pip3 install flask
|apt install python3-flask
|pacman -S python-flask
| ... ] - Websockets [
pip3 install websockets
|apt install python3-websockets
|pacman -S python-websockets
| ... ]
- Jupyter (to view jupyter notebooks) [
pip3 install jupyter
|apt install jupyter
|pacman -S jupyter
| ... ] - Neovim Remote [
pip3 install neovim neovim-remote
]
pip3 install smdv
smdv listens to a single environment variable: SMDV_DEFAULT_ARGS
. As an example, below
you can see how smdv can be configured to always open in firefox on port 9999 by placing
the following line in your .bashrc
:
SMDV_DEFAULT_ARGS="--browser firefox --port 9999"
Consult smdv --help
to see which flags can be used.
This viewer was made with neovim compatibility in mind. With the use of neovim-remote
,
this script is able to open files in the current neovim window (or spawn a new neovim
window if there is no window available).
However, to make it fully compatible with neovim and to make neovim able to sync
its current file to the viewer, neovim-remote
should be installed and the following line should be added to your init.vim
:
" sync on save
autocmd BufWritePost *.md silent execute '!smdv 'expand('%:p')' -v "'.v:servername'"'
This setting will sync the file to the viewer after every save.
Alternatively, if syncing after every save is not enough, smdv can also be used in conjuction with vim-instant-markdown for instant markdown previews. Install the vim-plugin and add the following line to your vimrc:
let g:instant_markdown_python = 1
This line disables the default javascript daemon handling instant previews in favor of smdv. Consider removing the sync-on-save line defined above when using this option; both options are not completely compatible.