markdown.nvim: Plugin to improve viewing Markdown files in Neovim.
Features
- Functions entirely inside of Neovim with no external windows
- Changes between
rendered
view in normal mode andraw
view in all other modes - Changes window options between
rendered
andraw
view based on configuration- Effects
conceallevel
&concealcursor
by default
- Effects
- Supports rendering
markdown
injected into other file types - Renders the following
markdown
components:- Headings: highlight depending on level and replaces
#
with icon - Horizontal breaks: replace with full-width lines
- Code blocks: highlight to better stand out
- Inline code: highlight to better stand out
- List bullet points: replace with provided icon based on level
- Checkboxes: replace with provided icon based on whether they are checked
- Block quotes: replace leading
>
with provided icon - Tables: replace border characters, does NOT automatically align
- Callouts
- Github & Obsidian out of the box, supports user defined as well
- Custom checkbox states 1, function similar to
callouts
- Adds icon before images / links 1
LaTeX
blocks: renders formulas iflatex
parser andpylatexenc
are installed
- Headings: highlight depending on level and replaces
- Disable rendering when file is larger than provided value
- Support custom handlers which are ran identically to builtin handlers
{
'MeanderingProgrammer/markdown.nvim',
name = 'render-markdown', -- Only needed if you have another plugin named markdown.nvim
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
config = function()
require('render-markdown').setup({})
end,
}