org-roam

Table of Contents

1. org-roam

1.1. Instalarse org-roam v2

Estaba muy verde y petaba bastante, de momento mejor no usarlo
Tengo una rama en doom.d con los cambios necesarios
Hacen todo por id

  • Simply put, to migrate notes from v1 to v2, one must:
    • Add IDs to all existing notes. These are located in top-level property drawers (Although note that in v2, not all files need to have IDs)
    • Update the Org-roam database to conform to the new schema.
    • Replace #+ROAM_KEY into the ROAM_REFS property
    • Replace #+ROAM_ALIAS into the ROAM_ALIASES property
    • Move #+ROAM_TAGS into the #+FILETAGS property for file-level nodes, and the ROAM_TAGS property for headline nodes
    • Replace existing file links with ID links.

1.1.1. DONE Redefinir org-html–reference para exportar en la web (lo añadí pero no funciona porque se carga antes de org, no sobreescribe)

Así funciona para que pille los links por ID bien, aunque no está desactualizado, a mí me funciona
https://gist.github.com/jethrokuan/d6f80caaec7f49dedffac7c4fe41d132
Por lo que dice en Guide to Org roam v2 parece que sigue siendo posible
Eso significa que ya se puede utilizar hugo+links id para exportar la web

1.1.2. DONE Hacer un script para actualizar los links a links de id

Los que no se puedan que sean de archivo, pero a lo mejor hay que corregir alguno
Esto me saca todos los links:

rg "\[\[file:[^]]+\.org" --pcre2 | less

1.1.3. DONE Mover los alias de nivel de archivo a primer heading

La migración de Roam los ha hecho a nivel de archivo, pero tengo los links a nivel de primer heading, con lo que tengo que ir iterando por todos los ROAM_ALIASES para bajarlos

1.1.4. DONE Mover los links de nivel de archivo a nivel de primer heading

La migración de Roam los ha hecho a nivel de archivo, pero así no va a funcionar en orgzly (aquí trabajo con links a nivel de primer heading)

find . -iname "*.org" -type f -exec /bin/bash -c 'head -n 2 "{}"' \; | rg ":ID:" | awk '{print $2}' | xargs -I _ /bin/bash -c 'rg --no-column -nF "id:_" && echo ""' | cat > file_links.txt

Para sacar los headings puedo usar esto y luego borrarlos cuando esén todos migrados a primer heading:

rg --multiline --pcre2 '\A:PROPERTIES:\n:ID:[^\n]+\n:END:$'

1.1.5. Mover todos los org a una única carpeta   maybe_20230330

La idea es que le dará estructura los propios .org que serán como directorios, al estilo de index o de 0.org
El problema es que entonces en la web se pierde un poco la gracia de buscar por nombre de archivo. Se podría tener una exportación automática a index.org que te hiciese justo eso (por defecto publica todo)
Mantener todos los org en una carpeta y linkar a private/ o a blog/ lo que quiera publicar en cada uno. Estoy pensando en no hacerla tan pública

1.1.6. TICKLER Investigar por qué no saca los links internos, o todos los links

1.1.7. Ver cómo gestionar las ROAM_REFS en Inbox   someday_20230330

Por defecto cuando utilizas un marcador te los va a insertar arriba del todo y hay que moverlos a mano abajo

1.1.8. Quitar los :ARCHIVE\: de los archivos que detecta roam   someday_20230330

Y quizás los de spookfox también, o hacerlo de un nivel más pequeño

1.1.9. Poner todos los ROAM_REFS de todos los links   someday_20230330

Ahora como es a nivel de heading se lo puedo poner a todos los lins y pillar el hábito de guardar los links con Inbox para que me lleve al headline correspondiente si ya existe
Probablemente haya que hacerlo automático

1.1.10. Funciones útiles de org roam v2

https://ag91.github.io/blog/2022/01/06/moldable-emacs-the-old-org-roam-buffer-as-a-mold/
Bonus mío

(funcall org-roam-db-node-include-function) ;; Para comprobar si el headline under point se incluye o no

1.1.11. TICKLER Asignar link al nodo padre más próximo   track

Muchos de los links no van directamente a un headline principal sino a uno secundario. Me gustaría que en este caso se mostrase el backlink al primer nodo padre que sea un nodo de org-roam subiendo la jerarquía
Un link a que era a un nodo de una página en org-roam v1 se interpretaba con link a la página.
De las misma manera, se podría interpretar un link a un nodo que no sea nodo de org-roam en v2 como un link al primer nodo padre que es un nodo de org-roam, subiendo la jerarquía de nodos hasta encontrar uno que lo sea
Luego quizás añadir un contador de backlinks de cada subnodo para ver si compensa promocionar a nodo de org-roam un subnodo que tenga muchos backlinks
https://github.com/org-roam/org-roam/issues/2180

1.1.11.1. Idea de implementación

Habría que indexar, de manera opcional, por cada link, los nodos hijos y buscar los backlinks de esos hijos
También de manera opcional, indexar/mostrar como backlinks los backlibncks de nodos hijos que ya sean nodos de org-roam

1.1.11.2. Hacer un script de sugerencias para promocionar un subnodo   track maybe_20230330

La salida tiene que ser:
Este nodo en tal y tal sitio tiene X backlinks, quieres moverlo? O incluso un reporte escrito en el propio formato de org mode que sea un link a ese nodo

1.1.12. Ver si hay una manera de evitar añadir un :PROPERTIES: al crear una nueva página en org-roam   someday_20230330

Ahora por defecto los añade pero no funcionan con logseq

1.1.13. Blogs sobre org roam v2

1.1.13.1. Org-roam major redesign - Development - Org-roam
1.1.13.5. Org-roam V1 will be deprecated soonish. This is a new repo (with installation instructions) with the current state of V1 while the users transition to V2.
1.1.13.6. Build a Second Brain in Emacs with Org Roam

https://www.reddit.com/r/emacs/comments/oryx1c/build_a_second_brain_in_emacs_with_org_roam/
Describe org roam v2

  • sqlite custom, hay que compilarlo a mano
  • Permite roam_alias dentro de un headline, y permite también meter headlines en vez de archivos únicamente a roam (links a headlines automáticamente, saltar a headline, …)
    Si un headline no tiene un nombre único, puedes meter roam_alias para que sí lo sea
  • También tiene saltar a una nueva nota, completar con pocas letras un link…
  • Permite roam_key en headlines? Sí, pero se llama ahora ROAM_REFS ⇒ transformar todos los links en roam_keys

1.2. TICKLER Check if exists Interactively convert unlinked refs into linked ref   track

1.3. Backlinks to ROAM_REFS

1.4. CANCELLED Integrar org-roam y LogSeq

  • [ ] Parece complicado porque logseq no soporta links a nivel de ID (depende mucho de links por nombre)
  • [ ] Poner en ignore de org-roam logseq
    Si no da duplicados porque se copia las notas a logseq/bak
  • [ ] Las notas que tienen el mismo nombre dan duplicados en logseq

1.5. Añadir git-timemachine   someday_20230330

Para ver los distintos estados por los que ha pasado una nota
https://gitlab.com/pidu/git-timemachine

1.6. Tutoriales org-roam

1.7. vicrdguez/dendroam: Bring Dendron features to Emacs org-roam

However since I work in the IT industry, I take a lot of notes on software and software architecture. This kind of information has a clear structure, a structure that repeats between information that belongs to an specific context. And here zettelkasten in my opinion is not the perfect fit.
I ended up having lots of notes like: data types in Java, data types in c… Repeating information in the title to be able to find specific notes.

1.9. Radio Targets as unlinked refs   idea

https://orgmode.org/manual/Radio-Targets.html Leverage existing org mode stuff, and generate linked references from unlinked refs Works only at the file level (you cannot create linked references from another file)
Org-roam v2 only supports id links, and will only support id links.

Check if exists Inveractively convert unlinked refs into linked ref

1.9.1. Hacer un reemplazo de los radio links por links de roam

Por ejemplo %s/NVLINK /[[id:2458b2d1-080f-4b4e-971a-5e16fc1ee210][NVLINK]] /g
https://lists.gnu.org/archive/html/emacs-orgmode/2007-03/msg00015.html
Quizás también hacerlo de las unlinked refs, es muy parecido

1.10. Org-roam journey (whishlist for org-roam)

Author: Julian Lopez Carballal

Created: 2024-10-21 Mon 10:14