Simple markdown previewer for neovim
[!WARNING] This plugin is in it's alpha stage and may go through breaking changes.
headings
.block quotes
with support for callouts
& alerts
.code blocks
with different style supports.horizontal rules
customisation.links
and image links
.inline codes
.checkboxes
for different checkbox states.tables
.nvim-treesitter
for easy installation of treesitter parsers.markdown
and markdown_inline
treesitter parsers.nvim-web-devicons
for the icons.For plugins.lua
or lazy.lua
users.
{
"OXY2DEV/markview.nvim",
dependencies = {
-- You may not need this if you don't lazy load
-- Or if the parsers are in your $RUNTIMEPATH
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons"
},
}
For plugins/markview.lua
users
return {
"OXY2DEV/markview.nvim",
dependencies = {
-- You may not need this if you don't lazy load
-- Or if the parsers are in your $RUNTIMEPATH
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons"
},
}
local MiniDeps = require("mini.deps");
MiniDeps.add({
source = "OXY2DEV/markview.nvim",
depends = {
-- You may not need this if you don't lazy load
-- Or if the parsers are in your $RUNTIMEPATH
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons"
}
})
The installation process for any other plugin manager(s) is the same.
If your plugin manager doesn't support dependencies
then you can always load the plugins in the right order.
Plug "nvim-treesitter/nvim-treesitter"
Plug "nvim-tree/nvim-web-devicons"
Plug "OXY2DEV/markview.nvim"
[!NOTE] This plugin does not use
setup()
to initialize. So, it is completely optional to call it.
Configuration table for the setup()
function is given below.
require("markview").setup({
buf_ignore = { "nofile" },
modes = { "n" },
-- Returns the conceallevel to the global value when changing modes
restore_conceallevel = true,
-- Returns the concealcursor to the global value when changing modes
restore_concealcursor = false,
headings = {},
code_blocks = {},
block_quotes = {},
horizontal_rules = {},
hyperlinks = {},
images = {},
inline_codes = {},
list_items = {},
checkboxes = {},
tables = {}
});
For customisation related options check the wiki pages.
[!NOTE] Commands are a test feature.
There is only a single command for now, :Markview
.
When called without any arguments, it toggles the plugin.
Possible subcommands are,
toggleAll
, toggles the pluginenableAll
, enables the preview in all the attached buffersdisableAll
, disables the preview in all the attached buffers[!IMPORTANT] Screenshots on a phone are very blurry(Yes, the plugin was made on my phone).
If you have screenshots of the plugin, you can submit them in the special issue(not yet open). And yes, credit will be provided.