-- Leo's gemini proxy
-- Connecting to gmi.osiux.com:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini;lang=es_AR
AUTHOR: Osiris Alejandro Gomez
EMAIL: osiux@osiux.com
DATE: 2023-06-21 17:15
Hace años que pruebo diferentes metodologías para registrar tareas, si bien existen diferentes aplicaciones y probé varias, siempre me resultó más fácil recordarlas y tener una visión global al manejarlas en papel.
Si bien durante varios años usé `org-mode` ^1[1], hace tiempo que estoy registrando los eventos y tareas que tienen fecha en un archivo de texto plano `~/.calendar` ^2[2] y luego mediante algunos *scripts* y el uso de `pcal` los puedo convertir a papel para usar en esos momentos *offline* mientras disfruto de un café y despejo mi mente.
Tuve varios intentos de implementar `Bullet Journal` ^3[3] en papel, creo que se debe a que no tengo tanto tiempo libre para garabatear, un poco de inconstancia y que en parte me cuesta despegar del teclado.
Hace unos días descubrí `Plain Text Journaling` ^4[4], una implementación en texto plano usando `vim` ^5[5] y quedé maravillado.
Mirando un poco el *post* vi que podía aprovechar la estructura de directorio que ya uso en mi `jrnl` ^6[6] *journal*
# tree -L 1 -d ~/.jrnl /home/osiris/.jrnl ├── 2017 ├── 2018 ├── 2019 ├── 2020 ├── 2021 ├── 2022 └── 2023 8 directories
Para probar el concepto, abrí el archivo de este mes, `vi ~/.jrnl/2023/06.jrnl` y e ingresé el calendario mediante el comando `r! cal`
June 2023 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 WEEK 1 --------------- × done test · todo test → move test ∘ event test ‐ note test
El siguiente paso era contar con resaltado de sintaxis, definiendo en `~/.vimrc` la siguiente configuración:
augroup JournalSyntax autocmd! autocmd BufReadPost *.jrnl set filetype=journal autocmd BufReadPost *.jrnl syntax match JournalAll /.*/ autocmd BufReadPost *.jrnl syntax match JournalDone /^× .*/ autocmd BufReadPost *.jrnl syntax match JournalTodo /^· .*/ autocmd BufReadPost *.jrnl syntax match JournalEvent /^∘ .*/ autocmd BufReadPost *.jrnl syntax match JournalNote /^‐ .*/ autocmd BufReadPost *.jrnl syntax match JournalMoved /^> .*/ autocmd BufReadPost *.jrnl syntax match JournalHeader /^\<\u\+\>.*/ autocmd BufReadPost *.jrnl highlight JournalAll ctermfg=7 autocmd BufReadPost *.jrnl highlight JournalTodo ctermfg=1 autocmd BufReadPost *.jrnl highlight JournalHeader ctermfg=2 autocmd BufReadPost *.jrnl highlight JournalDone ctermfg=8 autocmd BufReadPost *.jrnl highlight JournalEvent ctermfg=3 autocmd BufReadPost *.jrnl highlight JournalMoved ctermfg=5 autocmd BufReadPost *.jrnl highlight JournalNote ctermfg=5 autocmd BufReadPost *.jrnl highlight VertSplit ctermfg=0 ctermbg=0 augroup END
Y para agilizar el ingreso de los diferentes *bullets* adapté mis *snippets* agregand a `~/.vim/snippets/_.snippets`
snippet todo · snippet done × snippet note ‐ snippet event ∘ snippet move →
Entonces basta con tipear `done` y presionar `TAB` para obtener `×` `:)` Ahora al editar con `vim` un archivo `*.jrnl` tiene toda la onda!
[7]
Se me ocurrió aprovechar que ya tengo registradas las tareas y eventos en `~/.calendar`, solo debía agregar los *bullets* y escribir algún *script* que se ocupe de automatizar la escritura de cada mes en formato *Bullet Journal* `;)`
El primer *script* fue `caljmonth` ^7[8] que se ocupa de obtener las tareas y eventos del mes actual y también acepta el número de cualquier otro mes guardando un archivo `~/.jrnl/YYYY/MM.jrnl` y para visualizar este archivo el comando es `calvmonth` ^8[9].
[10]
En muchas ocasiones conviene visualizar más de un mes, es decir el actual y algunos más y para esto esta el comando `calvmonths`.
[11]
Finalmente si necesito visualizar el mes actual hasta que termine el año, el comando que se ocupa de generar los archivos de cada mes es `caljyear` ^9[12] y para visualizar usar `calvyear` ^10[13]
[14]
Una vez más, utilizar archivos de texto plano es una gran solución, ya que es fácil de integrar y convertir, rápido de adaptar a cualquier situación, me tomó menos de 1 día crear los *scripts* y ya estoy disfrutando la solución y seguramente con el tiempo iré incorporando mejoras en `cal-bash-utils` ^11[15]
Calendario de Terminal versus Calendario en Papel[16]
Reemplazando **Org-mode** por `txt-bash-jrnl`[17]
Capturar ideas en papel: de moleskine, hispterpda, pocketmod y libreta artesanal[18]
`2023-06-24 20:00`[19] agregar footnotes a caljmonth, calvmonth, caljyear y calvyear en *bullet journal vim `cal-bash-utils`*
`2023-06-22 00:58`[20] agregar bullet journal vim `cal-bash-utils`
-- Response ended
-- Page fetched on Thu May 2 12:09:30 2024