Skip to content
github-actions[bot] edited this page Mar 24, 2024 · 484 revisions

Welcome to the Neorg wiki!

Want to know how to properly use Neorg? Your answers are contained here.

Using Neorg

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!

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: 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.*

Default Modules

Neorg comes with some default modules that will be automatically loaded if you require the core.defaults module:

Other Modules

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 for core.export to allow exporting to markdown.
  • core.latex.renderer - An experimental module for inline rendering latex images.
  • 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.

Developer modules

These are modules that are only meant for developers. They are generally required in other modules: