跳至内容

Markdown 预览

简介

Markdown 语言使其广泛用于编写技术文档的特性之一是其可转换性。代码可以转换为多种格式(HTML、PDF、纯文本等)进行显示,因此可以在多种场景中使用内容。

具体来说,为 Rocky Linux 编写的文档使用一个python应用程序转换为HTML。该应用程序将用markdown编写的文档转换为静态 HTML 页面。

问题在于,在为 Rocky Linux 编写文档时,需要验证其转换为HTML代码后的正确显示。

为了将此功能集成到您的编辑器中,本页面将说明为此目的提供的两个插件,toppair/peek.nvimmarkdown-preview.nvim。这两个插件都支持github 风格,可以选择用于预览的浏览器,以及与编辑器同步滚动。

Peek.nvim

Peek 使用 Deno,这是一个 JavaScript、TypeScript 和 WebAssembly 运行时,具有默认的安全设置。

要在编辑器配置中安装语言服务器,使用mason.nvim插件,该插件提供:MasonInstall命令,该命令可以自动包含和配置Deno

:MasonInstall deno

警告

必须在继续安装插件之前安装语言服务器。否则安装将失败,并且需要从plugins/init.lua中删除代码,通过打开Lazy并键入X来执行配置清理以删除插件,然后重复安装过程。

要安装插件,需要编辑文件plugins/init.lua,并添加以下代码块

{
    "toppair/peek.nvim",
    build = "deno task --quiet build:fast",
    keys = {
        {
        "<leader>op",
            function()
            local peek = require("peek")
                if peek.is_open() then
            peek.close()
            else
            peek.open()
            end
        end,
        desc = "Peek (Markdown Preview)",
        },
},
    opts = { theme = "dark", app = "browser" },
},

保存文件后,可以通过:Lazy命令打开插件管理器界面来执行安装。插件管理器会自动识别它,并允许您通过键入I来安装它。

但是,要获得完整的功能,必须关闭 NvChad (nvim) 然后重新打开它。这是为了让编辑器能够将Peek中的那些内容加载到配置中。

其配置已经包含了激活它的命令<leader>op,在键盘上它对应于Space + o 接着是 p

Peek

您还有字符串

opts = { theme = "dark", app = "browser" },

它允许您为预览的亮色或暗色主题以及用于显示的方法传递选项。

在此配置中,选择了“浏览器”方法,它会在系统的默认浏览器中打开要查看的文件,但该插件允许通过“webview”方法仅使用Deno通过webview_deno组件来预览文件。

Peek Webview

Markdown-preview.nvim

Markdown-preview.nvim 是一个用node.js (JavaScript) 编写的插件。它在 NvChad 上的安装不需要任何依赖项,因为开发人员提供了一个预编译版本,该版本在编辑器中完美运行。

要安装此版本,需要将以下代码块添加到您的plugins/init.lua

{
    "iamcco/markdown-preview.nvim",
    cmd = {"MarkdownPreview", "MarkdownPreviewStop"},
    lazy = false,
    build = function() vim.fn["mkdp#util#install"]() end,
    init = function()
        vim.g.mkdp_theme = 'dark'
    end
},

与之前的插件一样,需要关闭编辑器并重新打开它,以让 NvChad 有机会加载新的配置。同样,您也可以向插件传递一些自定义选项,这些选项在项目的专用部分中进行了描述。

但是,必须修改选项以适合lazy.nvim的配置,特别是此示例中配置的选项

vim.g.mkdp_theme = "dark"

它对应于项目网站上描述的选项

let g:mkdp_theme = 'dark'

如您所见,要设置选项,需要修改其初始部分以使其可解释。举另一个例子,让我们以允许您选择用于预览的浏览器的选项为例,该选项指定如下

let g:mkdp_browser = '/usr/bin/chromium-browser'

要使其在 NvChad 中正确解释,需要将其修改为将let g:替换为vim.g.

vim.g.mkdp_browser = "/usr/bin/chromium-browser"

这样,下次打开 NvChad 时,将使用chromium-browser,而与系统的默认浏览器无关。

配置还提供了:MarkdownPreview:MarkdownPreviewStop 命令,分别用于打开和关闭预览。为了更快速地访问这些命令,您可以按照以下步骤将它们映射到 mapping.lua 文件中:

-- mapping for Markdown Preview
map("n", "<leader>mp", "<CMD> MarkdownPreview<CR>", { desc = "Open Preview" })
map("n", "<leader>mc", "<CMD> MarkdownPreviewStop<CR>", { desc = "Close Preview" })

这将允许您通过输入 Enter + m 然后 p 来打开 Markdown 预览,并通过组合 Enter + m 然后 c 来关闭它。

注意

该插件还提供了 :MarkdownPreviewToggle 命令,但截至本文撰写之时,它似乎无法正常工作。如果您尝试调用它,它不会更改预览主题,而是会打开一个包含相同预览的新浏览器标签页。

Markdown Preview

结论和最终想法

对您正在编写的內容进行预览非常有用,无论对于刚接触此编辑器的新手还是对 Markdown 语言有更深入了解的用户而言都是如此。预览使您能够评估代码转换为 Markdown 后产生的影响,以及其中包含的任何错误。

选择使用哪个插件完全取决于个人喜好,我们鼓励您尝试两种插件,以评估哪种插件最适合您。

使用其中一个插件可以让您为 Rocky Linux 的文档贡献符合所用代码的文档,从而减轻文档审阅者的工作量。

作者:Franco Colussi

贡献者:Steven Spencer,Ganna Zhyrnova