feat(nvim): add Notes authoring workflow
This commit is contained in:
parent
a8e0a1735e
commit
5fe4270f68
5 changed files with 279 additions and 0 deletions
57
modules/home/programs/nvim/NOTES.md
Normal file
57
modules/home/programs/nvim/NOTES.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# Notes authoring in Neovim
|
||||
|
||||
This module provides a Neovim interface for the personal website's public Notes
|
||||
workflow. It is a native Lua integration and does not add a third-party plugin.
|
||||
|
||||
The website repository remains the source of truth for Entry creation,
|
||||
validation, publication timestamps, media conversion, and builds. Neovim only
|
||||
calls the existing Bun scripts.
|
||||
|
||||
## Requirements
|
||||
|
||||
- The website repository is available at
|
||||
`~/Development/MyWeb/magnum-opus/main`.
|
||||
- `direnv` is installed and the website `.envrc` is allowed.
|
||||
- The website development shell provides Bun.
|
||||
|
||||
Set `RASYIDANAF_SITE_ROOT` before starting Neovim to use another checkout:
|
||||
|
||||
```sh
|
||||
export RASYIDANAF_SITE_ROOT=/path/to/rasyidan-personal-web
|
||||
```
|
||||
|
||||
## Commands and mappings
|
||||
|
||||
The Notes group uses the local leader (`\`).
|
||||
|
||||
| Command | Mapping | Action |
|
||||
| --- | --- | --- |
|
||||
| `:NotesNewLog` | `\nl` | Prompt for an optional title and tags, create a Log draft, and open it |
|
||||
| `:NotesNewNote` | `\nn` | Prompt for a required title and optional tags, create a Note draft, and open it |
|
||||
| `:NotesPublish` | `\np` | Save and publish the current Entry after confirmation |
|
||||
| `:NotesValidate` | `\nv` | Validate public Notes metadata, routes, lifecycle, tags, and media |
|
||||
| `:NotesBuild` | `\nb` | Run the complete production build |
|
||||
|
||||
`NotesPublish` accepts only Markdown files inside `vault/public-notes/`. It
|
||||
does not commit, push, or deploy. Review the Jujutsu diff and push the website
|
||||
repository separately.
|
||||
|
||||
## Normal workflow
|
||||
|
||||
1. Press `\nl` for a Log or `\nn` for a titled Note.
|
||||
2. Write and save the Entry.
|
||||
3. Press `\np` and confirm publication.
|
||||
4. Press `\nv`, then `\nb`.
|
||||
5. Review, describe, and push the website change with Jujutsu.
|
||||
|
||||
The publication command reloads the current buffer after the repository script
|
||||
writes `publishedAt` and processes referenced images.
|
||||
|
||||
## Apply the configuration
|
||||
|
||||
Home Manager owns the Neovim configuration. Apply dotfiles changes with:
|
||||
|
||||
```sh
|
||||
cd ~/Development/dotfiles
|
||||
sudo darwin-rebuild switch --flake .#macbook-pro
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue