From: Ruben Beltran del Rio Date: Sat, 2 Mar 2024 22:19:14 +0000 (+0100) Subject: Add reference to nota X-Git-Url: https://git.r.bdr.sh/rbdr/r.bdr.sh/commitdiff_plain/d15c985e3a9b47f1ca95867c37f599b6d2127452?ds=inline Add reference to nota --- diff --git a/.plan b/.plan new file mode 100644 index 0000000..8799e5c --- /dev/null +++ b/.plan @@ -0,0 +1,6 @@ +# My plan for now, roughly + +- Add the task labeling and rescheduling functionality to nota.nvim +- Finalize the template parser for blog 7.0.0 + +[2024-03-02] diff --git a/index.gmi b/index.gmi index 980ca84..8ff9d70 100644 --- a/index.gmi +++ b/index.gmi @@ -19,6 +19,7 @@ The personal capsule of Rubén Beltrán del Río. => /gemlog/ 📓 Blog / Gemlog => /pub.txt 🔑 Public GPG Key +=> /.plan 📔 What am I up to (roughly) => gemini://r.bdr.sh/guestbook 📒 Guestbook => https://pixelfed.de/minoltacos 📷 Pictures I've taken => https://friendship.quest/@ruben 💭 Social Media™ @@ -98,6 +99,13 @@ A browser extension that lets you start audio calls on any URL. ## II +### nota.nvim + +A plugin for neovim that lets you manage periodic notes, tasks, learning and .plan files + +=> ./nota.gmi ./nota.gmi +=> https://git.r.bdr.sh/rbdr/nota.nvim nota.nvim source code + ### API Notation A syntax for notating component APIs in text documents. We provide a tree-sitter parser and a neovim plugin. diff --git a/nota.gmi b/nota.gmi new file mode 100644 index 0000000..63461f0 --- /dev/null +++ b/nota.gmi @@ -0,0 +1,130 @@ +--- title: /nota.html +--- description: nota (.nvim) is a (very opinionated) neovim plugin for note management. +## nota.nvim + +Tools to work with notes and tasks in neovim. It allows you to: + +- Open and edit periodic notes with templates (daily, weekly, monthly, seasonal, and yearly) +- Open, edit and archive .plan files +- Open and capture learning entries in a learning file +- Manage tasks in your daily files + +This plugin is still heavily under construction and the functionality to reschedule, capture to inbox or defer tasks is not yet implemented. + +=> https://git.r.bdr.sh/rbdr/nota.nvim view source @ git.r.bdr.sh +=> https://git.sr.ht/~rbdr/nota.nvim source mirror @ sourcehut + +## Installation + +### lazy.nvim + +The minimal setup doesn't require any configuration, and sets the default paths and keybins as defined in the sections below. + +``` +require('lazy').setup({ + 'https://git.sr.ht/~rbdr/nota.nvim', +}) +``` + +Some features in this plugin depend on fzf-lua[1] + +=> https://github.com/ibhagwan/fzf-lua [1] fzf-lua + +By default, nota adds keybinds that might not suit your style or conflict with other plugins. You can disable them with the `default_keybinds` option. + +``` +require('lazy').setup({ + { + 'git@git.sr.ht:~rbdr/nota.nvim', + opts = { + default_keybinds = false + } +}) +``` + +### Configuration + +The plugin allows you to configure a variety of directories and settings. All the available settings and their defaults are here: + +``` +require('lazy').setup({ + { + 'git@git.sr.ht:~rbdr/nota.nvim', + opts = { + nota_home = '~/.local/share/nota', -- Root location in which to store all notes + default_keybinds = true, -- Whether or not to set the default keybinds + periodic_locations = { + daily = 'periodic/daily', -- Location to store daily notes, relative to nota_home + weekly = 'periodic/weekly', -- Location to store weekly notes, relative to nota_home + monthly = 'periodic/monthly', -- Location to store monthly notes, relative to nota_home + seasonal = 'periodic/seasonal', -- Location to store seasonal notes, relative to nota_home + yearly = 'periodic/yearly' -- Location to store yearly notes, relative to nota_home + }, + templates = { + daily = 'templates/daily.md', -- Template for daily notes, relative to nota_home + weekly = 'templates/weekly.md', -- Template for weekly notes, relative to nota_home + monthly = 'templates/monthly.md', -- Template for monthly notes, relative to nota_home + seasonal = 'templates/seasonal.md', -- Template for seasonal notes, relative to nota_home + yearly = 'templates/yearly.md', -- Template for yearly notes, relative to nota_home + plan = 'templates/plan.md' -- Template for plan notes, relative to nota_home + }, + tasks = { + inbox = 'inbox.md', -- Location of the file in which to store newly captured tasks, relative to nota_home + someday = 'someday.md' -- Location of the file in which to store indefinitely deferred tasks, relative to nota_home + }, + learning = { + learning_file = 'learning.md', -- Location of the file in which to store learning entries, relative to nota_home + prefix = '%Y-%x-%d: ' -- Prefix to add when capturing learning entries + }, + plan = { + archive = 'plans', -- Location of the plan archives. + plan_file = '~/.plan' -- Location of the active plan, the default is what is expected by finger. + } + } + } +}) +``` + +## Keybinds + +Unless disabled, these are the key bindings provided: + +### Opening Notes +- `od`, `:NotaOpenDailyNote`, Opens today's daily note. +- `ow`, `:NotaOpenWeeklyNote`, Opens this week's weekly note. +- `om`, `:NotaOpenMonthlyNote`, Opens this month's monthly note. +- `os`, `:NotaOpenSeasonalNote`, Opens this season's seasonal note. +- `oy`, `:NotaOpenYearlyNote`, Opens this year's yearly note. +- `on`, `:NotaOpenNote`, Opens an arbitrary note. (Requires [fzf-lua][fzf-lua]) + +### Task Views +- `oa`, `:NotaOpenAgenda`, Opens the agenda window with this week's tasks. +- `oo`, `:NotaOpenOpen`, Opens a window that lets you navigate through all open tasks. +- `oO`, `:NotaOpenOpenImportant`, Opens a window that lets you navigate through all open important tasks. +- `oj`, `:NotaOpenJournal`, Opens a window that lets you search completed tasks to find journal entries. (Requires [fzf-lua][fzf-lua] and ripgrep) + +### Task Handling Commands +- `t`, `:NotaToggleTask`, Toggles completion state of the task under the cursor. +- `st`, `:NotaToggleTaskImportance`, Toggles importance state of the task under the cursor. (- [ ] is a regular task, * [ ] is an important task) +- `it`, `:NotaInsertTask`, Inserts a task at cursor location. +- `ct`, `:NotaCaptureTask`, Captures a new task into the inbox. +- `Tt`, `:NotaTagTask`, Adds a tag to the current task. +- `rt`, `:NotaRescheduleTaskToday`, Reschedules the task under the cursor to today. +- `rT`, `:NotaRescheduleTaskTomorrow`, Reschedules the task under the cursor to tomorrow. +- `rs`, `:NotaRescheduleTaskSomeday`, Reschedules the task under the cursor to someday. +- `rr`, `:NotaRescheduleTask`, Reschedules the task under the cursor to an arbitrary date. + +### Learning Handling Commands +- `ol`, `:NotaOpenLearning`, Opens the learning file. +- `cl`, `:NotaCaptureLearning`, Captures a new task into the inbox. + +### Plan Handling Commands +- `op`, `:NotaOpenPlan`, Opens the current plan file. +- `cp`, `:NotaCapturePlan`, Captures a new plan and archives the current one. + +## Conventions used in the text files. + +- [ ] and - [x] indicate a regular task +* [ ] and * [x] indicate an important task + +- [>] and * [>] indicate a rescheduled task. This is only applied to tasks that were rescheduled after they were due.