WnP / vimwiki_markdown

vimwiki markdown file to html with syntax highlighting.
MIT License
63 stars 17 forks source link

vimwiki-markdown

PyPI version PyPI downloads

vimwiki markdown file to html with syntax highlighting.

Install

pip install vimwiki-markdown

Usage

Add the following to your ~/.vimrc:

let g:vimwiki_list = [{
    \ 'path': '~/vimwiki',
    \ 'template_path': '~/vimwiki/templates/',
    \ 'template_default': 'default',
    \ 'syntax': 'markdown',
    \ 'ext': '.md',
    \ 'path_html': '~/vimwiki/site_html/',
    \ 'custom_wiki2html': 'vimwiki_markdown',
    \ 'template_ext': '.tpl'}]

Markdown extensions

The following markdown extensions are activated by default:

But you can add more extensions using VIMWIKI_MARKDOWN_EXTENSIONS environment variable:

  1. Json dictionary syntax of extension with configuration {"toc": {"baselevel": 2 }, "nl2br": {}}. Note: {} configuration implies no configuration.
  2. [DEPRECATED] Json list syntax of extension. ["toc", "nl2br"].
  3. [DEPRECATED] comma separated list of extensions toc,nl2br.

Warning Deprecated formats will be remove in next major release

Syntax highlighting

Syntax highlighting is provided by Pygments, which will try to guess language by default.

You can use regular markdown indented code blocks:

    :::python
    for value range(42):
        print(value)

Or Fenced Code Blocks

```python
for value range(42):
    print(value)
```

You can also highlight line using hl_lines argument:

```python hl_lines="1 3"
for value range(42):
    print(value)
```

Pygments can generate CSS rules for you. Just run the following command from the command line:

pygmentize -S default -f html -a .codehilite > styles.css

If you would like to use a different theme, swap out default for the desired theme. For a list of themes installed on your system, run the following command:

pygmentize -L style

If you are lazy you can just use the one in this repository inside css directory which provide the monokai theme.

Environment variables

The following environment variables are available, but not mandatory:

If not set vimwiki_markdown will use the default template defined in the source code.