Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/clpi/jot.lua

the (eventually) infinitely extensible markdown note-taking work environment that you can have in Neovim without having to ever leave the comfort of markdown.
https://github.com/clpi/jot.lua

automation journal markdown md neovim neovim-plugin notebook notes notion nvim nvim-plugin obsidian org org-mode tracker vim vim-plugin vimwiki wiki zettelkasten

Last synced: 24 days ago
JSON representation

the (eventually) infinitely extensible markdown note-taking work environment that you can have in Neovim without having to ever leave the comfort of markdown.

Awesome Lists containing this project

README

        

# jot - the _familiar_, organized future for neovim

![Neovim](https://img.shields.io/badge/Neovim%200.10+-brightgreen?style=for-the-badge)
![License](https://img.shields.io/badge/license-GPL%20v3-brightgreen?style=for-the-badge)
![LuaRocks](https://img.shields.io/luarocks/v/clpi/jot.lua)

---

> [!Important]
>
> `jot.lua` is **BEGINNING DEVELOPMENT**

- [jot - the _familiar_, organized future for neovim](#jot-the-familiar-organized-future-for-neovim)
- [Introduction](#introduction)
- [Requirements](#requirements)
- [Quickstart](#quickstart)
- [Config](#config)
- [Usage](#usage)
- [Todo](#todo)
- [Support](#support)
- [Credits](#credits)

## Introduction

- `jot.lua` is a [neovim](#) plugin intended to bring the extensibility of [org-mode](#) or [neorg](github.com/nvim-neorg/neorg) with the **comfort** of [markdown](#).

- In its [current state](#), `jot.lua` is in the beginning stages of development, currently functionining as a markdown-based version of [neorg](#), with many planned features to come

- we want to be able to take notes like developers, without leaving behind all the ecosystem benefits of markdown.

- it's a work in progress and will be updated regularly

## Requirements

> [!Note]
>
> `jot.lua` must have at least [neovim 0.10+](https://neovim.io)

## Quickstart


lazy.nvim

```lua
{
"clpi/jot.lua",
lazy = false,
version = "*"
branch = "master",
config = function(_, opts)
require("jot").setup({
mods = {
config = {},
workspace = {
config = {
workspaces = {
default = "~/jot",
notes = "~/notes"
}
}
}
}
})
end,
dependencies = {
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
"pysan3/pathlib.nvim",
"nvim-telescope/telescope.nvim", -- optional
}
}
```

---


plug.vim

> [!Caution]
>
> Not yet tested

```vim
Plug "nvim-telescope/telescope.nvim"
Plug "nvim-treesitter/treesitter.nvim"
Plug "nvim-lua/plenary.nvim",
Plug "MunifTanjim/nui.nvim",
Plug "pysan3/pathlib.nvim"
Plug "clpi/jot.lua", {
\ "branch" : "master",
\ "do" : ':lua require([[jot]]).setup({
\ mods = {
\ config = {},
\ workspace = {
\ config = {
\ workspaces = {
\ default = [[~/wiki]],
\ notes = [[~/notes]]
\ }
\ }
\ }
\ }
\ })'
\ }
```

---

Vundle

> [!Caution]
>
> Not yet tested

```vim
Plugin "pysan3/pathlib.nvim"
Plugin 'nvim-telescope/telescope.nvim'
Plugin "nvim-lua/plenary.nvim",
Plugin "MunifTanjim/nui.nvim",
Plugin 'clpi/jot.lua'
```

---


dein.vim

> [!Caution]
>
> Not yet tested

```vim
call dein#add("nvim-lua/plenary.nvim")
call dein#add("MunifTanjim/nui.nvim")
call dein#add('pysan3/pathlib.nvim')
call dein#add('nvim-telescope/telescope.nvim')
call dein#add('clpi/jot.lua')
```

---


packer.nvim

> [!Caution]
>
> Not yet tested

```lua
use {
"clp/jot.lua",
requires = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
"pysan3/pathlib.nvim"
},
tag = "*",
branch = 'master',
config = function()
require("jot").setup({
mods = {
config = {},
workspace = {
config = {
workspaces = {
notes = "~/notes"
}
}
}
}
})
end,
}
```

---


mini.deps

> [!Caution]
>
> Not yet tested

```lua
{
"clp/jot.lua",
}
```

---


rocks.nvim

> [!Caution]
>
> Not yet tested

```
:Rocks install mini.lua
```

## Config

```lua
-- Setup the initial config
-- with workspace 'home' at ~/home
-- and make it default
require("jot").setup({
mods = {
config = {},
workspace = {
config = {
default = 'home',
workspaces = {
notes = "~/notes",
home = "~/notes"
}
}
}
}
})
```

## Usage

> [!Note]
>
> Still early on in development!

### Modules

- `config` - configuration settings

### Default Modules

- `workspace` for managing workspaces
- `notes` for managing notes
- `data` for managing data
- `data.tag` for managing tags
- `data.meta` for managing metadata
- `data.sync` for managing sync
- `data.log` for managing logs
- `data.dirs` for managing directories
- `data.snippets` for snippets
- `ui` for ui actions
- `ui.popup` for popup windows
- `ui.chat` for chat services
- `ui.win` for window creation
- `lsp` for lsp services
- `lsp.completion` for completion
- `lsp.format` for formatting
- `lsp.actions` for codeactions
- `lsp.lens` for codelens
- `links` for managing links
-

`...`

## Todo

> [!Tip]
>
> Check out [TODO.md](./TODO.md) for a more detailed list of tasks

## Support

> [!Note]
>
> Still early on in development!

## Credits

`jot.lua` is a project by [clpi](github.com/clpi) and is licensed under the [MIT](./LICENSE) license. For information about **contributing**, please consult the [CONTRIBUTING.md](./CONTRIBUTING.md) file.

special thanks goes to [nvim-neorg/neorg](https://github.com/nvim-neorg/neorg) for providing the inspiration and basis of this project.

---

thank you and keep updated!

- [The `jot.lua` book](https://jot.cli.st)
- [The `jot.lua` wiki](https://github.com/clpi/jot.lua/wiki)
- [`jot.lua` on luarocks](https://luarocks.org/inits/clpi/jot.lua)
- [`jot.lua` on dotfyle](https://dotfyle.com/plugins/clpi/jot.lua)

(back to top)

```

```