cal-bash-utils
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!
=> [IMG]
[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].
=> [IMG]
[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
.
=> [IMG]
[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]
=> [IMG]
[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]
txt-bash-jrnl
[17]
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
=> 1: https://orgmode.gmi/ | 2: file:2023-02-16-terminal-calendar-versus-paper-calendar.gmi | 3: https://bulletjournal.com/ | 4: https://peppe.rs/posts/plain_text_journaling/ | 5: https://www.vim.gmi/ | 6: https://gitlab.com/osiux/txt-bash-jrnl/ | 7: file:img/cal2jrnl/cal2jrnl-highlight.png | 8: https://gitlab.com/osiux/cal-bash-utils/-/raw/develop/caljmonth | 9: https://gitlab.com/osiux/cal-bash-utils/-/raw/develop/calvmonth | 10: file:img/cal2jrnl/cal2jrnl-calvmonth.png | 11: file:img/cal2jrnl/cal2jrnl-calvmonths.png | 12: https://gitlab.com/osiux/cal-bash-utils/-/raw/develop/caljyear | 13: https://gitlab.com/osiux/cal-bash-utils/-/raw/develop/calvyear | 14: file:img/cal2jrnl/cal2jrnl-calvyear.png | 15: https://gitlab.com/osiux/cal-bash-utils/ | 16: 2023-02-16-terminal-calendar-versus-paper-calendar.gmi | 17: 2018-01-01-reemplazando-orgmode-por-txt-bash-jrnl.gmi | 18: capturar-ideas-en-papel-de-moleskine-hispterpda-pocketmod-y-libreta-artesanal.gmi | 19: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/1a587e60462eaecdc5efb0405b944235e93fd208 | 20: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/6e127b03c988bf86062ab77e41899bd9d7dcee03 This content has been proxied by September (3851b).Proxy Information
text/gemini;lang=es_AR