markdown.nvim 项目教程
1. 项目目录结构及介绍
markdown.nvim/
├── benches/
├── demo/
├── doc/
├── lua/
│ └── render-markdown/
├── plugin/
├── scripts/
├── temp/
├── tests/
├── .gitignore
├── stylua.toml
├── CHANGELOG.md
├── LICENSE
├── README.md
└── justfile
目录结构介绍
- benches/: 包含性能测试相关的文件。
- demo/: 包含项目演示相关的文件。
- doc/: 包含项目文档文件。
- lua/render-markdown/: 包含项目的核心 Lua 代码,用于渲染 Markdown 文件。
- plugin/: 包含 Neovim 插件的配置文件。
- scripts/: 包含项目使用的脚本文件。
- temp/: 包含临时文件。
- tests/: 包含项目的测试文件。
- .gitignore: Git 忽略文件配置。
- stylua.toml: Lua 代码格式化配置文件。
- CHANGELOG.md: 项目更新日志。
- LICENSE: 项目许可证文件。
- README.md: 项目介绍和使用说明。
- justfile: 项目构建和任务管理文件。
2. 项目启动文件介绍
项目的启动文件主要是 lua/render-markdown/init.lua
。这个文件是插件的入口点,负责初始化和配置插件的各种功能。
启动文件功能
- 初始化插件: 加载插件的默认配置和用户自定义配置。
- 注册命令: 注册插件提供的 Neovim 命令,如
:RenderMarkdown enable
、:RenderMarkdown disable
等。 - 设置事件监听器: 监听 Neovim 事件,如文件打开、模式切换等,以触发 Markdown 文件的渲染。
3. 项目的配置文件介绍
项目的配置文件主要是 lua/render-markdown/config.lua
。这个文件定义了插件的默认配置,用户可以通过修改这个文件或使用 setup
函数来覆盖默认配置。
配置文件内容
- enabled: 是否默认启用 Markdown 渲染。
- max_file_size: 插件尝试渲染的最大文件大小(以 MB 为单位)。
- debounce: 更新标记的延迟时间(以毫秒为单位)。
- preset: 预配置设置,如
obsidian
、lazy
或none
。 - markdown_query: 从 Markdown 文件中提取内容的查询语句。
- inline_query: 从内联 Markdown 中提取内容的查询语句。
- log_level: 日志级别,用于调试和开发。
- file_types: 插件运行的文件类型。
- injections: 语言注入配置。
- render_modes: 渲染 Markdown 文件的 Neovim 模式。
- anti_conceal: 隐藏虚拟文本的配置。
- latex: LaTeX 渲染配置。
- heading: 标题渲染配置。
通过这些配置,用户可以自定义插件的行为,以适应不同的使用场景和需求。