https://github.com/cvigilv/denote.nvim

Simple notes for Emacs with an efficient file-naming scheme (but for Neovim)

https://github.com/cvigilv/denote.nvim

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary

Keywords

neovim-plugin-lua
Last synced: 10 months ago · JSON representation

Repository

Simple notes for Emacs with an efficient file-naming scheme (but for Neovim)

Basic Info
  • Host: GitHub
  • Owner: cvigilv
  • License: mit
  • Language: Lua
  • Default Branch: main
  • Homepage:
  • Size: 156 KB
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
neovim-plugin-lua
Created about 1 year ago · Last pushed 10 months ago
Metadata Files
Readme License Agents

README.md

denote.nvim

This Neovim plugin provides a command :Denote that contains subcommands to create and rename text files in a flat notes directory using the Emacs Denote package's file-naming scheme.

The file-naming scheme is as follows:

DATE==SIGNATURE--TITLE__KEYWORDS.EXTENSION

For example:

20240601T174946--how-to-tie-a-tie__lifeskills_clothes.md 20240601T180054--title-only.org 20240601T193022__only_keywords.norg 20240601T200121.txt 20240601T213392==1a1--i-have-a-signature__denote.csv

Features

  • Single access point for all functionality via the :Denote command
  • Create new notes interactively
  • Extensions for integrating with other plugins (e.g. telescope.nvim)

Installation / Config

Example config via lazy.nvim

```lua ---@class Denote.Integrations.Telescope.Configuration ---@field enabled boolean ---@field opts table?

---@class Denote.Integrations.Configuration ---@field oil boolean Activate stevearc/oil.nvim extension ---@field telescope boolean|Denote.Integrations.Telescope.Configuration

---@class Denote.Configuration ---@field filetype string? Default note file type ---@field directory string? Denote files directory ---@field prompts string[]? File creation/renaming prompt order ---@field integrations Denote.Integrations.Configuration? Extensions configuration

--@type Denote.Configuration { filetype = "md", directory = "~/notes/", prompts = { "title", "keywords" }, integrations = { oil = false, telescope = false, }, } ```

On setup, the plugin will create a global variable denote that contains the configuration table, which can be employed for extensions or other custom functionality:

lua _G.denote.config

:Denote Command

Currently, the :Denote command supports the following subcommands:

  • :Denote, create a new note interactively
  • :Denote rename-file, renames the current note interactively
  • :Denote rename-file-title, change the title of the current note
  • :Denote rename-file-keywords, change the keyworks of the current note
  • :Denote rename-file-signature, change the signature of the current note

Extensions

stevearc/oil.nvim

If you use stevearc/oil.nvim to manage your files, you can enable the oil extension in the configuration. This will add custom highlighting to files that follow the Denote file-naming scheme.

Note: the highighting is only applied when the oil extension is enabled in the config, but it will highlight any file that follows the scheme, regardless of the directory.

stevearc/oil.nvim highlighting

nvim-telescope/telescope.nvim

If you use nvim-telescope/telescope.nvim, you can enable the telescope extension in the configuration. This will add the :Denote search, :Denote insert-link, and :Denote link commands, which will open a picker to search and insert links to existing buffer.

Simple telescope.nvim search

nvim-orgmode/orgmode

if you use nvim-orgmode/orgmode, you can enale the [[denote:...]] link format. This is done by adding the following to your orgmode configuration:

lua require("orgmode").setup({ -- your config... hyperlinks = { sources = { require("denote.extensions.orgmode"):new({ files = _G.denote.config.directory, }), }, }, })

Road map

  • [ ] Documentation
    • [ ] Rewrite :h denote
    • [ ] Add API usage examples
  • [ ] House-keeping
    • [x] Refactor and clean-up code
    • [x] Complete modular rewrite
    • [x] Change setup logic
    • [ ] Add types
    • [ ] Add docstrings
    • [ ] Add logging
    • [ ] Add tests
  • [x] Points of entry
  • [ ] Front mattter
    • [ ] Front matter generator for org, markdown and text
    • [ ] Front matter format (denote-{org,text,toml,yaml}-front-matter)
    • [ ] Regenerate front matter (denote-add-front-matter)
  • [x] Extensions

Credits

License

MIT

Owner

  • Name: Carlos Vigil-Vásquez
  • Login: cvigilv
  • Kind: user
  • Location: Santiago, Chile

Chilean biochemist, Neovim plugin developer, and JuliaLanguage enthusiast. Photographer from time to time.

GitHub Events

Total
  • Watch event: 2
  • Issue comment event: 1
  • Push event: 25
  • Pull request review event: 2
  • Pull request event: 2
  • Create event: 4
Last Year
  • Watch event: 2
  • Issue comment event: 1
  • Push event: 25
  • Pull request review event: 2
  • Pull request event: 2
  • Create event: 4

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 minutes
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • SjB (1)
Top Labels
Issue Labels
Pull Request Labels