org-roam
Table of Contents
- 1. org-roam
- 1.1. Instalarse org-roam v2
- 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)
- 1.1.2. DONE Hacer un script para actualizar los links a links de id
- 1.1.3. DONE Mover los alias de nivel de archivo a primer heading
- 1.1.4. DONE Mover los links de nivel de archivo a nivel de primer heading
- 1.1.5. Mover todos los org a una única carpeta maybe_20230330
- 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
- 1.1.8. Quitar los :ARCHIVE\: de los archivos que detecta roam someday_20230330
- 1.1.9. Poner todos los ROAM_REFS de todos los links someday_20230330
- 1.1.10. Funciones útiles de org roam v2
- 1.1.11. TICKLER Asignar link al nodo padre más próximo track
- 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
- 1.1.13. Blogs sobre org roam v2
- 1.1.13.1. Org-roam major redesign - Development - Org-roam
- 1.1.13.2. Path to org-roam v2
- 1.1.13.3. The Org-roam v2 Great Migration
- 1.1.13.4. https://github.com/org-roam/org-roam/wiki/Hitchhiker's-Rough-Guide-to-Org-roam-V2
- 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
- 1.1.13.7. https://blog.tecosaur.com/tmio/2021-08-38-roaming.html
- 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
- 1.5. Añadir git-timemachine someday_20230330
- 1.6. Tutoriales org-roam
- 1.7. vicrdguez/dendroam: Bring Dendron features to Emacs org-roam
- 1.8. ThomasFKJorna/org-roam-timestamps: Add modified and creation timestamps to the org-roam property drawer
- 1.9. Radio Targets as unlinked refs idea
- 1.10. Org-roam journey (whishlist for org-roam)
- 1.1. Instalarse org-roam v2
1. org-roam
Is an org-mode plugin
- https://www.orgroam.com/manual/
- https://www.orgroam.com/manual/Note_002dtaking-Workflows.html
- https://blog.jethro.dev/posts/how_to_take_smart_notes_org/
- https://www.reddit.com/r/orgmode/comments/hk0619/eli5_org_roamzettelkasten/
- https://www.reddit.com/r/emacs/comments/ebrw2l/has_anybody_here_tried_the_roam_research/
- Se puede usar con org-brain? Parece que es más a nivel de heading
- https://www.reddit.com/r/emacs/comments/gz4lk8/org_brain_and_org_roam/
- https://www.reddit.com/r/orgmode/comments/gcqw96/i_envy_roam_users_to_have_xyz/ Cosas que faltan en org-roam
- https://notes.alexkehayias.com/org-roam/
→ how to convert unlinked refs into refs
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.
- 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)
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.2. Path to org-roam v2
1.1.13.3. The Org-roam v2 Great Migration
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
Maybe refile regex results into current heading is enough?
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 alogseq/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
https://www.ianjones.us/own-your-second-brain Config org-roam específico
https://wwo.ianjones.us/zaiste-programming-doom-emacs-tutorial Tabla de contenidos
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