Clone this wiki locally
At first configuring Neorg might be rather scary. I have to define what modules I want to use in the
I don't even know what the default available values are!
Don't worry, an installation guide is present here, so go ahead and read it!
Contributing to Neorg
Neorg is a very big and powerful tool behind the scenes - way bigger than it may initially seem. Modules are its core foundation, and building modules is like building lego bricks to form a massive structure. There's an in-the-works tutorial dedicated to making modules right here!
Module naming convention
Neorg provides default modules, and users can extend Neorg by creating community modules. We agreed on a module naming convention, and it should be used as is. This convention should help users know at a glance what function the module serves in the grand scheme of things.
- Core modules:
- Integrations with 3rd party software that are emdebbed in neorg:
- External modules:
- Integrations with 3rd party software that aren't emdebbed in neorg:
Neorg comes with some default modules that will be automatically loaded if you require the
core.clipboard.code-blocks- Removes beginning whitespace from text copied from code blocks.
core.itero- Module designed to continue lists, headings and other iterables.
core.keybinds- Module for managing keybindings with Neorg mode support.
core.looking-glass- Allows for editing of code blocks within a separate buffer.
core.norg.esupports.hop- "Hop" between Neorg links, following them with a single keypress.
core.norg.esupports.indent- A set of instructions for Neovim to indent Neorg documents.
core.norg.esupports.metagen- A Neorg module for generating document metadata automatically.
core.norg.journal- Easily track a journal within Neorg.
core.norg.news- Handles the displaying of Neorg news and other forms of media in a popup.
core.norg.qol.toc- Generates a table of contents for a given Norg buffer.
core.norg.qol.todo_items- Module for implementing todo lists.
core.promo- Promotes or demotes nestable items within Neorg files.
core.tangle- An Advanced Code Block Exporter.
core.upgrade- Converts old versions of the Norg syntax to newer ones.
Some modules are not included by default as they require some manual configuration or are merely extra bells and whistles
and are not critical to editing
.norg files. Below is a list of all modules that are not required by default:
core.export- Exports Neorg documents into any other supported filetype.
core.export.markdown- Interface for
core.exportto allow exporting to markdown.
core.norg.completion- A wrapper to interface with several different completion engines.
core.norg.concealer- Enhances the basic Neorg experience by using icons instead of text.
core.norg.dirman- This module is be responsible for managing directories full of .norg files.
core.norg.manoeuvre- A Neorg module for moving around different elements up and down.
core.presenter- Neorg module to create gorgeous presentation slides.
These are modules that are only meant for developers. They are generally required in other modules:
core.autocommands- Handles the creation and management of Neovim's autocommands.
core.clipboard- A module to manipulate and interact with the user's clipboard.
core.defaults- Metamodule for storing the most necessary modules.
core.fs- A cross-platform set of utilities to traverse filesystems.
core.highlights- Manages your highlight groups with this module.
core.integrations.nvim-cmp- A module for integrating nvim-cmp with Neorg.
core.integrations.nvim-compe- A module for integrating nvim-compe with Neorg.
core.integrations.treesitter- A module designed to integrate Treesitter into Neorg.
core.integrations.truezen- Integrates the TrueZen module for use within Neorg.
core.integrations.zen_mode- Integrates and exposes the functionality of
core.mode- Modes are a way of isolating different parts of Neorg based on the current mode.
core.neorgcmd- This module deals with handling everything related to the
core.neorgcmd.commands.module.list- List loaded modules.
core.neorgcmd.commands.module.load- Load a new module dynamically.
core.neorgcmd.commands.return- Return to last location before entering Neorg.
core.norg.dirman.utils- A set of utilities for the
core.queries.native- TS wrapper in order to fetch nodes using a custom table.
core.scanner- This module is an implementation of a scanner that can be used anywhere TS can't be used.
core.storage- Deals with storing persistent data across Neorg sessions.
core.syntax- Handles interaction for syntax files for code blocks.