Virtual File
Table of Contents
- 1. Archivo virtual project someday_20230330
- 1.1. Cómo sería si hubiese un org-widen más allá de un archivo?
- 1.2. Convertir los links file: → id: project someday_20230330 someday_20230330
- 1.3. Meter todos los org en una carpeta project someday_20230330 maybe_20230330
- 1.4. Noción de archivo para PKM
- 1.5. Necesitas first-class support for transclusion para poder hacer esto
- 1.6. DONE Cuando hago org-roam-insert, que me inserte por id en vez de por file
1. Archivo virtual project someday_20230330
1.1. Cómo sería si hubiese un org-widen más allá de un archivo?
- Tendría que haber un archivo que definiese links (ya sea jerárquicos o links/dynamic blocks) a queries de más alto nivel, como Area → Project
- Definir un #+PARENT_FILES: <lista de padres>, usar org-roam para sacar backlinks
- Usar org-transclusion para mostrar el contenido
- La segunda parte seria crear links a archivos virtuales, que serían links a headlines con algo más (quizás seguir el mismo esquema de org-transclusion de poner un #+loquesea arriba)
- Definir un #+PARENT_FILES: <lista de padres>, usar org-roam para sacar backlinks
- Sacado de wikinizer, los archivos son virtuales, como org-narrow
- distintos filtros asociados a distintos niveles de focus
1.2. Convertir los links file: → id: project someday_20230330 someday_20230330
- Añadir a translate_links.py una función para reemplazar todos los links (salvo los de 0.org, tratar aparte) por el primer id del archivo (si eso dejar un (file) al final para marcarlos) para que así se pueda hacer un Archivo virtual
- ↓ Restringe a un heading principal por archivo siempre
[X]
Habría que actualizar las plantillas de org-roam- ↑ Gano independencia del archivo, puedo mover nodos entre archivos sin problema
cd ~/org && echo -e "file,top\n" "$(rg "^\* " -c | grep -e ":[2-9]" -e ":1[0-9]" --color=none | sed "s/:/,/")" > multi.csv
1.2.1. Diseño
- En la primera pasada, guardar asociaciones file: → primer id: en un diccionario
- Con una variable opcional, sustituir todos los links file:… file:… por un sólo link
- En la segunda pasada, sustituir los links file:… por links al primer id
1.3. Meter todos los org en una carpeta project someday_20230330 maybe_20230330
- Todo es un recurso, casi no uso los filetags: sino que se los pongo a los headlines
- Utilizo orgzly/org-ql para esparcir las notas y recolectarlas
- Complementario a Convertir los links file: → id:
- Los links relativos funcionan en orgzly
- Necesito un PARA automático
1.4. Noción de archivo para PKM
Roam Research y org-roam quizás se fijan demasiado en el concepto de archivo ⇔ index card
1.5. Necesitas first-class support for transclusion para poder hacer esto
Una transclusión tiene que ser muy sencilla para el usuario, muy ligera en rendimiento, y tienes que poder hacer excision de manera fácil (como en TiddlyWiki) para poder tener archivos virtuales de manera fácil
Al final se implementa como que cada componente que puede ser transcluido es un archivo
Para que sea muy ligera en rendimiento tendrias que
- cachear las transclusiones para que ya se sepan cuáles suelen estar en un archivo y
(esto se puede hacer en el propio org-mode, de manera más o menos manual?) - cuando cambia el archivo comprobar si hay alguna nueva transclusión (algoritmo de diff)
1.6. DONE Cuando hago org-roam-insert, que me inserte por id en vez de por file
- Interesante también un advice de org-roam (no haría falta añadirlo a translate_links.py)
- Los links roam\:asdfsdf se convertirían a links por id en vez de links por file
- Cuando se inserta un links con org-roam-insert hay que cambiarlo a link por id
- Habría que reimplementar el renombramiento de archivos que hace org-roam, que renombra el archivo y todos los links cuando cambia el nombre de un archivo
- Los links roam\:asdfsdf se convertirían a links por id en vez de links por file