-
-
Notifications
You must be signed in to change notification settings - Fork 215
Home
Neorg depends on a number of other technologies, all of which have to be correctly configured to keep Neorg running smoothly. For some help on understanding how your terminal, Neovim, coloschemes, tree-sitter and more come together to produce your Neorg experience (or Neorg problems), see this document on understanding Neorg dependencies.
At first configuring Neorg might be rather scary. I have to define what modules I want to use in the require('neorg').setup()
function?
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!
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!
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:
core.*
- Integrations with 3rd party software that are emdebbed in neorg:
core.integrations.*
- External modules:
external.*
- Integrations with 3rd party software that aren't emdebbed in neorg:
external.integrations.*
Neorg comes with some default modules that will be automatically loaded if you require the core.defaults
module:
-
core.clipboard.code-blocks
- Removes beginning whitespace from text copied from code blocks. -
core.esupports.hop
- "Hop" between Neorg links, following them with a single keypress. -
core.esupports.indent
- A set of instructions for Neovim to indent Neorg documents. -
core.esupports.metagen
- A Neorg module for generating document metadata automatically. -
core.itero
- Module designed to continue lists, headings and other iterables. -
core.journal
- Easily track a journal within Neorg. -
core.keybinds
- Module for managing keybindings with Neorg mode support. -
core.looking-glass
- Allows for editing of code blocks within a separate buffer. -
core.pivot
- Toggles the type of list currently under the cursor. -
core.promo
- Promotes or demotes nestable items within Neorg files. -
core.qol.toc
- Generates a table of contents for a given Norg buffer. -
core.qol.todo_items
- Module for implementing todo lists. -
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.completion
- A wrapper to interface with several different completion engines. -
core.concealer
- Enhances the basic Neorg experience by using icons instead of text. -
core.dirman
- This module is be responsible for managing directories full of .norg files. -
core.export
- Exports Neorg documents into any other supported filetype. -
core.export.markdown
- Interface forcore.export
to allow exporting to markdown. -
core.manoeuvre
- A Neorg module for moving around different elements up and down. -
core.presenter
- Neorg module to create gorgeous presentation slides. -
core.summary
- Creates links to all files in any workspace. -
core.ui.calendar
- Opens an interactive calendar for date-related tasks.
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.dirman.utils
- A set of utilities for thecore.dirman
module. -
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 ofzen-mode
in Neorg. -
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:Neorg
command. -
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.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. -
core.tempus
- Parses and handles dates in Neorg.
core.autocommands
core.clipboard
core.clipboard.code-blocks
core.completion
core.concealer
core.defaults
core.dirman
core.dirman.utils
core.esupports.hop
core.esupports.indent
core.esupports.metagen
core.export
core.export.markdown
core.fs
core.highlights
core.integrations.coq_nvim
core.integrations.nvim-cmp
core.integrations.nvim-compe
core.integrations.treesitter
core.itero
core.journal
core.keybinds
core.latex.renderer
core.looking-glass
core.neorgcmd
core.neorgcmd.commands.return
core.pivot
core.presenter
core.promo
core.qol.toc
core.qol.todo_items
core.queries.native
core.scanner
core.storage
core.summary
core.syntax
core.tangle
core.tempus
core.text-objects
core.todo-introspector
core.ui
core.ui.calendar