Tips

Markdown with Mathjax syntax bug

With mermaid

function! MathAndLiquid()
    "" Define certain regions
    " Block math. Look for "$$[anything]$$"
    " syn region math start=/\$\$/ end=/\$\$/
    syn region math start=/\\\\/ end=/\\\\/
    " inline math. Look for "$[not $][anything]$"
    syn match math_block '\$[^$].\{-}\$'

    " Liquid single line. Look for "{%[anything]%}"
    syn match liquid '{%.*%}'
    " Liquid multiline. Look for "{%[anything]%}[anything]{%[anything]%}"
    syn region highlight_block start='{% highlight .*%}' end='{%.*%}'
    " Fenced code blocks, used in GitHub Flavored Markdown (GFM)
    syn region highlight_block start='```' end='```'

    "" Actually highlight those regions.
    hi link math Statement
    hi link liquid Statement
    hi link highlight_block Function
    hi link math_block Function

    ""mermaid
    syn region mermaid start=/<div class=\"mermaid/ end=/<\/div>/
    hi link mermaid Function
endfunction

" Call everytime we open a Markdown file
autocmd BufRead,BufNewFile,BufEnter *.md,*.markdown call MathAndLiquid()
" https://stsievert.com/blog/2016/01/06/vim-jekyll-mathjax/