# A new neovim plugin to use zola with

**URL:** <https://zola.discourse.group/t/a-new-neovim-plugin-to-use-zola-with/2656>\
**Category:** Uncategorized\
**Created:** [July 18, 2025, 9:10am UTC](https://zola.discourse.group/t/a-new-neovim-plugin-to-use-zola-with/2656 "2025-07-18T09:10:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![svente](https://avatars.discourse-cdn.com/v4/letter/s/58956e/32.png) [@svente](https://zola.discourse.group/u/svente)\
**Post date:** [July 18, 2025, 9:10am UTC](https://zola.discourse.group/t/a-new-neovim-plugin-to-use-zola-with/2656/1 "2025-07-18T09:10:16Z")

</div>

Hi there folks,

I made a new plugin for neovim so you can control Zola from right inside the editor. If there are any neovim enjoyers here, I hope they find it helpful as well.

**features**

- 🛠 **Build** , **serve** , and **check** Zola sites without leaving Neovim
- 📝 **Scaffold new pages and sections** with default TOML front matter
- 🔧 Configure build/serve/check/page/section options per command for a streamlined workflow
- 🔑 Define your own keymaps or use user commands (`:ZolaBuild`, `:ZolaServe`, etc.)
- 🛠 Use Lua API functions for advanced integration with your Neovim setup

### ⚡ Example usage

```lua
vim.keymap.set("n", "<leader>znp", function()
  vim.ui.input({ prompt = "Enter page slug: " }, function(result)
    require("zola").create_page({
      slug = "blog/" .. result,
      page_is_dir = true,
      draft = true,
      open = true
    })
  end)
end, { desc = "Create a new blog post" })

```

🔗 **GitHub:** [savente93/zola.nvim](https://github.com/savente93/zola.nvim)

Would love feedback, issues, and ideas for improving it further.
