]> git.r.bdr.sh - rbdr/r.bdr.sh/commitdiff
Add reference to nota
authorRuben Beltran del Rio <redacted>
Sat, 2 Mar 2024 22:19:14 +0000 (23:19 +0100)
committerRuben Beltran del Rio <redacted>
Sat, 2 Mar 2024 22:19:14 +0000 (23:19 +0100)
.plan [new file with mode: 0644]
index.gmi
nota.gmi [new file with mode: 0644]

diff --git a/.plan b/.plan
new file mode 100644 (file)
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]
index 980ca84d67e4751ed47d375621914a0eadf30b0b..8ff9d706fedfdc67ad220b95b37fe0ca5ed37546 100644 (file)
--- 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 (file)
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
+- `<leader>od`, `:NotaOpenDailyNote`, Opens today's daily note.
+- `<leader>ow`, `:NotaOpenWeeklyNote`, Opens this week's weekly note.
+- `<leader>om`, `:NotaOpenMonthlyNote`, Opens this month's monthly note.
+- `<leader>os`, `:NotaOpenSeasonalNote`, Opens this season's seasonal note.
+- `<leader>oy`, `:NotaOpenYearlyNote`, Opens this year's yearly note.
+- `<leader>on`, `:NotaOpenNote`, Opens an arbitrary note. (Requires [fzf-lua][fzf-lua])
+
+### Task Views
+- `<leader>oa`, `:NotaOpenAgenda`, Opens the agenda window with this week's tasks.
+- `<leader>oo`, `:NotaOpenOpen`, Opens a window that lets you navigate through all open tasks.
+- `<leader>oO`, `:NotaOpenOpenImportant`, Opens a window that lets you navigate through all open important tasks.
+- `<leader>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
+- `<leader>t`, `:NotaToggleTask`, Toggles completion state of the task under the cursor.
+- `<leader>st`, `:NotaToggleTaskImportance`, Toggles importance state of the task under the cursor. (- [ ] is a regular task, * [ ] is an important task)
+- `<leader>it`, `:NotaInsertTask`, Inserts a task at cursor location.
+- `<leader>ct`, `:NotaCaptureTask`, Captures a new task into the inbox.
+- `<leader>Tt`, `:NotaTagTask`, Adds a tag to the current task.
+- `<leader>rt`, `:NotaRescheduleTaskToday`, Reschedules the task under the cursor to today.
+- `<leader>rT`, `:NotaRescheduleTaskTomorrow`, Reschedules the task under the cursor to tomorrow.
+- `<leader>rs`, `:NotaRescheduleTaskSomeday`, Reschedules the task under the cursor to someday.
+- `<leader>rr`, `:NotaRescheduleTask`, Reschedules the task under the cursor to an arbitrary date.
+
+### Learning Handling Commands
+- `<leader>ol`, `:NotaOpenLearning`, Opens the learning file.
+- `<leader>cl`, `:NotaCaptureLearning`, Captures a new task into the inbox.
+
+### Plan Handling Commands
+- `<leader>op`, `:NotaOpenPlan`, Opens the current plan file.
+- `<leader>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.