Org mode
Table of Contents
- 1. Org-mode project
- 1.1. Org mode key ideas
- 1.2. Requerimientos org-mode
- 1.2.1. Time management para todo
- 1.2.2. Time blocking en org mode
- 1.2.2.1. Aprender/Instalar org-caldav project learn hold_20230330
- 1.2.2.2. Sincronizar GCalendar con NextCloud project hold_20230330
- 1.2.2.3. https://github.com/Fuco1/org-clock-budget
- 1.2.2.4. Integrar con nextcloud para calendario
- 1.2.2.5. https://github.com/dmitrym0/org-hyperscheduler → te lo soluciona
- 1.2.3. Utilizar más xournalpp project someday_20230330
- 1.2.4. DONE Integrar LectureNotes con emacs project hold_20230330
- 1.2.4.1. DONE Añadir el texto
- 1.2.4.2. Pesar en cómo gestionar el índice
- 1.2.4.3. Sincronización bidireccional org-mode ⇔ LectureNotes
- 1.2.4.4. Se puede sustituir un png de LectureNotes por un png cualquiera!
- 1.2.4.5. DONE Arreglar el lock para watch4Org
- 1.2.4.6. Cómo hacer el join para que sea reutilizable?
- 1.2.4.7. Refile de un nodo de LectureNotes
- 1.2.4.8. Problemas de orden
- 1.2.5. Integrar firefox con emacs project
- 1.2.5.1. Integrar TreeStyleTabs y YiNote con org-mode (exportación bidireccional) project someday_20230330
- 1.2.5.2. Browser-based Productivity and PKM with emacs, org-mode, LogSeq and BrainTool -> Tiene arboles de org mode en base a pestañas? project someday_20230330
- 1.2.5.3. DONE Spookfox: Manage firefox tabs using org-mode ARCHIVE
- 1.2.5.4. Probar https://braintool.org/ project someday_20230330
- 1.2.6. Integraciones con orgzly (orgzly-integrations)
- 1.2.7. Cómo funciona org-ids? learn
- 1.2.8. org-babel / org tangle
- 1.2.9. ediff
- 1.2.10. magit
- 1.2.11. Grafos en emacs
- 1.2.12. notificaciones en org-mode
- 1.2.12.1. EmacsTips - Hot to Show Reminder for Org Mode Tasks
- 1.2.12.2. Crear un sistema propio de notificaciones org-mode / extender org-wild-notifications project maybe_20230330
- 1.2.12.3. Usar la sincronización de Calendario project maybe_20230330
- 1.2.12.4. TODO Comprobar si funciona añadir herencia de tags en org-wild-notifier
- 1.2.12.5. notificaciones en KDE
- 1.2.13. org embedded latex
- 1.2.14. Org Element API
- 1.2.15. Best of org mode + this project + Things I use daily (requirements after using it for a while) + Feature Parity with
ObsidianLogseq with Plugins- 1.2.15.1. org-sparse-tree to filter TODO items / tags while mantaining hierarchy
- 1.2.15.2. org-sort to keep TODO items at the top
- 1.2.15.3. org-narrow-to-subtree / widen
- 1.2.15.4. org-toggle item & heading to:
- 1.2.15.5. org-refile
- 1.2.15.6. org-agenda
- 1.2.15.7. org-ql
- 1.2.15.8. src code blocks
- 1.2.15.9. Spreadsheet system
- 1.2.15.10. quote, example blocks
- 1.2.15.11. links by id
- 1.2.15.12. plain text
- 1.2.15.13. any level of indentation
- 1.2.15.14. Quick capture
- 1.2.15.15. orgzly → great android integration
- 1.2.15.16. org-noter to:
- 1.2.15.17. org-pdftools to:
- 1.2.15.18. org-re-reveal to:
- 1.2.15.19. org-wild-notifier to
- 1.2.15.20. make 3 journals
- 1.2.15.21. Introductory resources
- 1.2.15.22. Things to do
- 1.2.15.23. Modelos para entender org-mode
- 1.2.15.24. Missing things
- 1.2.16. Annotation
- 1.2.17. Spaced repetition en org mode project someday_20230330
- 1.2.18. Probar org-attachments project someday_20230330
- 1.2.19. Ideas idea
- 1.2.19.1. Aplicar ML a tus notas
- 1.2.19.2. Contar el tamaño que tiene la inbox para ver si se atasca
- 1.2.19.3. Ver si me salto algún hábito para ver si estoy más cansado
- 1.2.19.4. Contar el número de links y backlinks que tiene cada nota ( o cada heading incluso ) e irlo ploteando
- 1.2.19.5. Diagrama de sankey con headlines de org-mode
- 1.2.19.6. Porcentaje de tiempo dedicado
- 1.2.19.7. # headlines TODO / # headlines totales
- 1.2.19.8. Ways to show hierarchical org mode data
- 1.2.19.9. Grafos proporcionales a cada peso
- 1.2.19.10. Emacs as a Service
- 1.2.19.11. Hacer el sistema de archivos con org mode
- 1.2.19.12. Hacer org mode más visual
- 1.3. org-mode
- 1.3.1. Closed Source Alternatives (Roam, Obsidian, RemNote, …)
- 1.3.2. Resources
- 1.3.3. elisp org-element
- 1.3.4. org-almanac
- 1.3.5. Tricks
- 1.3.5.1. org-babel / org-tangle tricks
- 1.3.5.2. Local variables
- 1.3.5.3. Start list from any number
- 1.3.5.4. Open multiple links
- 1.3.5.5. Negrita cursiva
- 1.3.5.6. Imágenes en org mode
- 1.3.5.7. Paste image from clipboard to org mode project someday_20230330
- 1.3.5.8. org mode log repeat
- 1.3.5.9. Mirar la cache de las imágenes
- 1.3.5.10. No exportar _ como subscript
- 1.3.5.11. org-cycle-list-bullet
- 1.3.5.12. org-export-babel-evaluate (ejecutar código al exportar)
- 1.3.5.13. No se ve el resaltado de sintaxis
- 1.3.5.14. Exportar una nota privada
- 1.3.5.15. Copiar org mode a un correo
- 1.3.5.16. inline src blocks
- 1.3.5.17. Summary of In-buffer Settings (The Org Manual)
- 1.3.5.18. org embedded latex
- 1.3.5.19. org table
- 1.3.6. org-refile
- 1.3.7. habits
- 1.3.8. mejoras pequeñas
- 1.3.9. Templates
- 1.3.10. Cosas en headings
- 1.3.11. Inline Tasks | Irreal
- 1.3.12. UOMF: Path-Independent Links to Local Files Via Locate
- 1.3.13. Roam insert cómo pilla los nombres de los links que insertas? ARCHIVE
- 1.3.14. transclusion ARCHIVE
- 1.3.15. Tags vs links metaphor
- 1.3.15.1. Tags
- 1.3.15.2. Convertir de tag a link project maybe_20230330
- 1.3.15.3. Para que sean iguales tags y links a headlines
- 1.3.15.4. Abrir org-roam-graph en eww
- 1.3.15.5. Contar número de hijos y/o backreferencias de un heading idea
- 1.3.15.6. Toggling Keyboard Mapping for Org Roam // Take on Rules
- 1.3.15.7. Tags como notebase? También links
- 1.3.15.8. DONE Revisar correo de Org
- 1.3.15.9. DONE Ver el vídeo
- 1.3.16. Tags
- 1.3.17. Proponer tipos de links en org-roam project someday_20230330
- 1.3.18. I split my brain
- 1.3.19. In buffer settings / Headline subtree settings
- 1.3.20. Task management, dependencies and graphs in org mode
- 1.3.21. Google Talk
- 1.3.22. templates
- 1.3.23. Learn org-mode syntaxis learn indepth
- 1.3.24. workflow
- 1.3.24.1. http://www.howardism.org/Technical/Emacs/getting-more-boxes-done.html
- 1.3.24.2. http://cachestocaches.com/2016/9/my-workflow-org-agenda/
- 1.3.24.3. skx/org-worklog: A template for maintaining a work-log, via org-mode
- 1.3.24.4. An Org-Mode Workflow for Task Management
- 1.3.24.5. Zettelkasten con org-mode
- 1.3.24.6. Gestión de dependencias de tareas idea
- 1.3.24.7. How to track my fitness workouts simply
- 1.3.24.8. In detail: my workflows for programming, note taking, journaling, time and task tracking, and staying organized with emacs : emacs
- 1.3.24.9. Directory Structure for my Org Instance // Take on Rules
- 1.3.24.10. Fighting procastination with org mode
- 1.3.24.11. My org mode setup
- 1.3.25. Woof! Watch Over Our Folders
- 1.3.26. https://karl-voit.at/2017/09/23/orgmode-as-markup-only/
- 1.3.27. TICKLER [ANN] Experimental org-mode branch improving performance on large files track
- 1.3.28. alphapapa
- 1.3.28.1. alphapapa/org-clones: Prototype for method of cloning orgmore headers
- 1.3.28.2. alphapapa/org-timed-alerts: Orgmode notification warnings of upcoming events
- 1.3.28.3. alphapapa/org-worklog: A template for maintaining a work-log, via org-mode.
- 1.3.28.4. zellerin/dynamic-graphs
- 1.3.28.5. https://www.reddit.com/r/orgmode/comments/dbsngi/finally_solving_the_lack_of_a_treeview_navigation/
- 1.3.29. A search engine like command line tool for org-mode and markdown
- 1.3.30. CANCELLED Queries estándar de org-agenda
- 1.3.31. Random scattering across calendar in org-agenda
- 1.3.32. org sparse tree escondiendo todo lo que no sea negrita, o resaltado project someday_20230330
- 1.3.33. Colores arbitrarios en org-mode project someday_20230330
- 1.3.34. Poner por defecto que org mode muestre hasta el segundo nivel project someday_20230330
- 1.3.35. Distinta exportación basado en el color del resaltado del pdf project someday_20230330
- 1.3.36. Gamificación de Hábitos y tareas project someday_20230330
- 1.3.37. Atajos de teclado items project someday_20230330
- 1.3.38. Poner un lint de archivos de org mode project someday_20230330
- 1.3.39. music and org-mode
- 1.3.40. Notas de clase en org mode
- 1.3.40.1. Best way to insert drawings in org-mode for school notes?
- 1.3.40.2. Does anyone use org-mode for class notes?
- 1.3.40.3. Long-Time Emacs User Looking to Level-Up (note-taking for classes)
- 1.3.40.4. Taking notes in org mode has made me popular with my classmates
- 1.3.40.5. https://github.com/misohena/el-easydraw
- 1.3.41. chess and org-mode
- 1.3.42. Working with org-mode trees in elisp
- 1.3.43. org-mode (viene de emacs.org)
- 1.3.43.1. New Package: Zetteldesk.el - A tool for revision and outlining built on top of Org-Roam project someday_20230330
- 1.3.43.2. Exportar contactos a vcf personales project someday_20230330
- 1.3.43.3. org-contacts
- 1.3.43.4. org-expiry
- 1.3.43.5. Productividad/GTD
- 1.3.43.6. Presentaciones
- 1.3.43.7. Recopilación de plugins org mode
- 1.3.43.8. org-rich-yank
- 1.3.43.9. org-inline-anim - MELPA
- 1.3.43.10. Parser alternativos de org mode
- 1.3.43.11. Sistema global para gestión de información (Linux/Android, pdfs, anotaciones etc)
- 1.3.43.12. NΛNO agenda is on ELPA (https://elpa.gnu.org/packages/nano-agenda.html)
- 1.3.43.13. sacha chua org mode
- 1.3.43.14. Org Visibility
- 1.3.44. Caracteres extraños/especiales en org-mode
- 1.4. org-babel / org tangle
- 1.4.1. Org Babel reference card
- 1.4.2. Reference
- 1.4.3. Literate Devops
- 1.4.4. Using org-mode as an SQL playground
- 1.4.5. https://medium.com/@rtotheohan/emac-s-org-mode-will-improve-your-software-engineering-d7bc2f30a0
- 1.4.6. Self-modifying org
- 1.4.7. Evaluate elisp code at startup in an org-mode file
- 1.4.8. Control de espacio en blanco (whitespace)
- 1.4.9. How to change Org-mode babel tangle write to file way as append instead of override by default? - Emacs Stack Exchange
- 1.4.10. Ejemplo de queries org mode
- 1.4.11. May 2021 emacs async src blocks org babel
- 1.4.12. Literate programming in a productive environment and team
- 1.5. org-roam
- 1.6. org-journal
- 1.7. org-ql
- 1.7.1. aprender org-ql learn
- 1.7.2. Hacer Plantillas de las propias queries project someday_20230330
- 1.7.3. Hacer funciones parciales con lytex/insert-query-links/transclusion project someday_20230330
- 1.7.4. Utilizar tags del sistema de archivos para agrupar archivos de org project someday_20230330
- 1.7.5. Hacer Custom predicates de Scheduled/Deadline vs event project maybe_20230330
- 1.7.6. TICKLER Ver si org-ql dynamic blocks ya soporta múltiples archivos track
- 1.7.7. org-ql y tags, dividir entre las que están en el repo doom.d y las privadas project someday_20230330
- 1.7.8. Hacer un PARA Manual project hold_20230330
- 1.7.9. Hacer un PARA Automático project hold_20230330
- 1.7.10. Diseñar un dashboard project someday_20230330
- 1.7.10.1. A Dashboard for your Life - a minimal goal tracker using org-mode, go and git · The Helpful Hacker
- 1.7.10.2. Show HN: Flow Dashboard – open-source habit tracker and personal analytics app | Hacker News
- 1.7.10.3. Links org-mode a búsquedas por tags con Dolphin/baloo project someday_20230330 someday_20230330
- 1.7.10.4. Links a proyectos y libros project someday_20230330 someday_20230330
- 1.7.10.5. Org Agenda on your phone project someday_20230330 someday_20230330
- 1.7.10.6. Hacer un dashboard
- 1.7.10.7. Añadir tiempo meteorológico por terminal
- 1.7.11. Configurar la agenda de trabajo para que sólo saque cosas de trabajo project hold_20230330
- 1.7.12. Coming soonish: taxy-org-ql-search (sort of like an org-super-agenda 2.0) track
- 1.7.13. Alternatives to org-ql, tradeoffs and such
- 1.8. org-transclusion
- 1.8.1. Errores antiguos project someday_20230330
- 1.8.1.1. Arreglar guardar con transclusion
- 1.8.1.2. Probar en una VM las transclusiones sin salto de línea
- 1.8.1.3. Arreglar colores de transclusión
- 1.8.1.4. Arreglar indentación (2) de transclusión
- 1.8.1.5. Probar en una VM los duplicados
- 1.8.1.6. Arreglar org mode no exporta a html con transclusión
- 1.8.1.7. Arreglar mapeado en transclusion
- 1.8.2. Proponer transclusion recursiva project someday_20230330
- 1.8.3. Transitividad
- 1.8.4. Link para refile con transclusion project someday_20230330
- 1.8.5. Transcluir bloques de código con treesitter project someday_20230330
- 1.8.6. Transformar un archivo en transclusión para poder editarlo
- 1.8.7. Quitar el contenido del primer link
- 1.8.8. Rendimiento
- 1.8.9. [New Package] roam-block: An all-purpose block-ref and block-embed implement in emacs.: emacs
- 1.8.10. Se puede hacer un column view de una query transcluida? idea
- 1.8.1. Errores antiguos project someday_20230330
- 1.9. org-remark
- 1.10. Jupyter notebook con org mode
- 1.11. org-reveal (Presentaciones)
- 1.12. Diagramas
- 1.13. pdf con js como medio dinámico? org mode y latex
- 1.14. Should Notion Be Your Second Brain? | Notetaking App Ratings (ft. Thomas Frank) - YouTube
- 1.15. https://karl-voit.at/2021/04/10/GLT21-emacs-org-features/
- 1.16. Anyone knows of an emacs package that provides the functionality of codetour?
1. Org-mode project
1.1. Org mode key ideas
https://bzg.fr/en/org-mode-demo-notes/
- You need a single tool for both notes and tasks.
- Your TODO list application should not be too rigid. Ideally, it is a pedagogical tool, one that helps to be slightly better organized.
- org-mode is both a format a la markdown and a set of tools around this format.
1.2. Requerimientos org-mode
1.2.1. Time management para todo
SPC mcpi / SPC mcpo → punch in / punch out
SPC mci / SPC mco → clock in / clock out
SPC mcG, SPC u SPC mci → Clock in last tasks
SPC mcl, SPC nc → clock last
SPC mcg, SPC no → go to current clock
SPC ii → Capture Inbox
SPC ik → Capture Inbox and Clock
1.2.1.1. Por qué tarda mucho en clock-in la primera vez?
1.2.1.2. Ideas random
http://doc.norang.ca/org-mode.html#Clocking → buen sitio para mirar la config
https://gitlab.com/-/snippets/2088974 → para sacar cosas del logbook (hay que cambiar las regex para que pillen cualquier cosa)
Tiene 3 partes:
- Diseño de time tracking
Clock-out mueve el reloj a la tarea superior. Si la tarea superior es de nivel 1, entonces se va a la tarea de organización de ese proyecto, y si no existe la crea
Me merece la pena tener una tarea de organización?
org-clock-x11idle-program-name
xprintidle
, está en repos
- Si me compro un reloj inteligente
Crear entradas por dictado con voz en Tiempo.org en estado REFILE que tienen un CREATED, para que luego un proceso las exporte a el journal al final del día
Hay que integrar de manera fácil el clock-in clock-out para que sirva desde pulsera
Los que sean estándar (hacer la cama, prepararme para salir) los trackeo en Tiempo.org sin REFILE ni nada
- Modificar las plantillas para que tengan un heading genérico de organización project maybe_20230330
Para trackear el tiempo cuando terminas una tarea pero sigues en el proyecto
Quizás interesante que la propia tarea de mayor nivel sea la de organización?
Es conveniente pero quizás no es muy claro
- https://github.com/akirak/counsel-org-clock
- CREATED/CLOSED, tiempo abierta vs tiempo dedicado
Que las tareas cuando les pongo un TODO de cualquier tipo las cree un CREATED si no existe, para luego poder loguear el tiempo.
En emacs está guardando CLOSED cuando pasa a DONE?
Así puedo obtener tiempo logbook / tiempo abierta para una tarea
Esta métrica asume que tu time tracking es perfecto. Puede compensarse laxitud en time tracking?
Quizás un mejor enfoque es asumir que el nombre de la tarea no ha cambiado y ver los cambios que ha tenido esa tarea en el propio git. askgit para ir tirando está interesante
- Cadenas de tareas
Definir una secuencia de eventos clockout → clockin siguiente
Dormir → Desayunar → Ducharse → Prepararse para salir → Ir al trabajo → Trabajo
Un buen formato es un headline (que tenga por ejemplo :TYPE: chain o chained routines o algo así) con una lista de links a tareas
- Hacer una interfaz en termux (quizás en emacs también(?))
Posibilidad de:
- Clock next task ⏩
- Pause clock chain ⏸ (permite flexibilidad, meter tareas imprevistas en medio)
- Stop clock chain ⏹
- Clock previous task ⏪ Para hacer ⏩ ⏩ ⏪ y alterar el orden (Quitar logs de tiempo vacíos 0:00, con un proceso o algo)
- Record chain ⏺ (si implemento Medir tiempo en NFC, entonces se podría crear una secuencia en base a NFCs)
- Clock next task ⏩
- Hacer una interfaz en termux (quizás en emacs también(?))
- Medir tiempo en NFC
Cuando escaneo una etiqueta, empieza a contar el tiempo de X, Y, Z. Si escaneo otra, paro el reloj actual y empieza el nuevo
- Comandos org-clock
- org-clock-display
- By default, show the total time for the range defined in org-clock-display-default-range.
- With C-u prefix, show the total time for today instead.
- With C-u C-u prefix, use a custom range, entered at prompt.
- With C-u C-u C-u prefix, display the total time in the echo area.
- Use M-x org-clock-remove-overlays to remove the subtree times.
- In doom, C-u C-u means SPC u SPC u (not SPC u 2, or just 2)
- By default, show the total time for the range defined in org-clock-display-default-range.
- The clock table (The Org Manual)
Hacer queries sumando el tiempo que cumpla las condiciones que sean
- OrgMode E04S05: Effort estimates - YouTube
- org-clock-display
- Medir el tiempo en journal por defecto? project maybe_20230330
- Si me compro un reloj inteligente
- Tiempo logeado (LOGBOOK)
- https://github.com/rksm/clj-org-analyzer → probarlo, es justo esto
- Hacer un svg custom para que saque estas cosas, está en orgzly-integrations
- No consigo encontrar nada por internet
- Quizás vale con los reportes de tiempo simplemente, o si no puedo ver si org-icalendar exporta logbook
- PlantUML tiene cosas https://plantuml.com/gantt-diagram pero a nivel de día
- Hacer un script de python que exporte entradas de org-mode a svg project maybe_20230330
Con links al heading correspondiente
- Gantt from org-mode tree
https://www.reddit.com/r/emacs/comments/idsyg5/gantt_from_orgmode_tree/
https://gitlab.com/joukeHijlkema/org-gantt
https://github.com/legalnonsense/elgantt
- Ver “GANTT chart in Emacs” en YouTube
- https://plantuml.com/gantt-diagram
- Ver “GANTT chart in Emacs” en YouTube
- Wrote a clockreport that groups by day and by project
- https://github.com/rksm/clj-org-analyzer → probarlo, es justo esto
- misc
- Planyway team calendar for effective collaboration
- Currently clocked task in i3
- Sincronizar ActivityWatch a un .org y/o a Nextcloud para time tracking project maybe_20230330
- CANCELLED Gantt
Gantt from org-mode tree → parece que no es suficiente, porque pilla o de un sólo archivo o pilla como intervalo de SCHEDULED a DEALINE y no usa logbook
el-gantt parece que es customizable, elgantt-timestamps-to-display permite que sean distintas variables las que se muestran:
- deadline
- timestamp
- timestamp-ia
- scheduled
- timestamp-range
- timestamp-range-ia
- deadline
- Planyway team calendar for effective collaboration
1.2.2. Time blocking en org mode
https://www.reddit.com/r/emacs/comments/f5qr0v/making_a_day_plan_time_blocking_tracking_habits/ → https://www.reddit.com/r/emacs/comments/f5qr0v/making_a_day_plan_time_blocking_tracking_habits/fi79int?utm_source=share&utm_medium=web2x&context=3
Utiliza un modelo custom
Calendario
1.2.2.1. Aprender/Instalar org-caldav project learn hold_20230330
Cuando esté listo luego hay que ir cogiendo el hábito
- Hacer un fork de org-wild-notifier para que tenga opción de pillar SCHEDULED DEADLINE TIMESTAMP seleccionable project learn hold_20230330 someday_20230330
No funciona, pero abro PR aún así
- Por qué no me funciona el calendario?
Si eliminas un calendario y lo vuelves a crear, no tiene el mismo nombre que el original porque el original está en la papelera y hay que vaciarla
Si no, creas calendario, calendario-1, calendario-2, … y ninguno tiene el nombre que le pasas aorg-caldav-calendar-id
y falla todo
1.2.2.2. Sincronizar GCalendar con NextCloud project hold_20230330
Para que las alertas de Google Keep o lo que sea también salgan
1.2.2.3. https://github.com/Fuco1/org-clock-budget
To plan your tasks you use effort estimates, to schedule them within weeks or months you use budget (sometimes called capacity or goal).
1.2.2.4. Integrar con nextcloud para calendario
GOAL: Tener una app de calendario en móvil y escritorio para ver qué tengo tal día
Nextcloud en RPi4
Para escritorio puede que haya alguna cosa Creo que nextcloud se puede poner como reemplazando a google o algo https://github.com/dengste/org-caldav
http://disq.us/p/2673iq2 → otra opción que no usa nextcloud
1.2.2.5. https://github.com/dmitrym0/org-hyperscheduler → te lo soluciona
1.2.3. Utilizar más xournalpp project someday_20230330
1.2.3.1. Mirar xournalpp desde el móvil project someday_20230330 maybe_20230330
- Hay app de xournalppp para android
[ ]
Poner un cronjob cada minuto, o un inotify cuando se modifique algo de la carpeta de xournalpp, para crear una img o un pdf del xopp
- img es hoja a hoja
- pdf es siempre la nota entera
- img es hoja a hoja
[ ]
Poner en orgzly-integrations una traducción de links de uno a otro[ ]
Esto se va a complicar porque , habría que guardar asociación sketch: → archivo para que lo pudiese acceder
1.2.3.2. Introducing org-xournalpp (based on org-krita)
1.2.3.3. Probar xournalpp
- Procesar PPV (Muy gráfico)
- Morning Pages
- Cómo tomar notas en pdf?
- Se pueden escribir anotaciones a mano alzada en pdf-tools? No
- Embeber Okular con Emacs Application Framework
- Hacer anotaciones en Okular aparte sobre el pdf
- Quizás mejor importarlo en xournalpp y tomar notas sobre eso
-—
Dividir:
- Tomar notas con Okular
- Procesarlas en org-mode? (exportando higlights, notes, etc)? Muy costoso dividir en 2, poco flexible okular para notas (no es org mode)
- Se pueden escribir anotaciones a mano alzada en pdf-tools? No
1.2.4. DONE Integrar LectureNotes con emacs project hold_20230330
Lo ideal sería tomar todas las notas de una manera que estuviesen automáticamente disponibles en emacs
[X]
Puedo poner un proceso en la RPi que me genere un org mode con estructura de árbol de las carpetas e imágenes de Lecture Notes
[X]
Lo genera siempre desde cero y pisa el archivo que haya
Puede estar bien para una primera versión[X]
Darle a cada heading un id y que sólamente añanda incrementalmente las páginas nuevas
- Lo bueno es que puedo marcar como done las que ya estén procesadas
- Calcular el id en base al path de la carpeta/archivo, así puedo asociar una con otra
- Lo bueno es que puedo marcar como done las que ya estén procesadas
1.2.4.1. DONE Añadir el texto
formato text[PAGE].txt
para el texto de cada archivo, text[PAGE]_[NUMBER].txt
para las cajas suplementarias de texto
- No me está pillando bien el orden porque los ordena de manera extraña, no asocia bien cada archivo con la carpeta a la que le corresponde
1.2.4.2. Pesar en cómo gestionar el índice
No todo lo que añado en campos suplementarios o principales acaba como índice, sólo lo que pongo en cajas de texto que luego se pierden.
Meter un proceso que los sincronice?
Es complicado porque sólo se añadiría si no se encuentra ya
1.2.4.3. Sincronización bidireccional org-mode ⇔ LectureNotes
Con esto me salto lo que tenía pensado de hacer un join
LectureNotes tiene links en cuadernos. Hay una interfaz para meter links a un cuaderno pero no funciona a nivel de página
lecturenotes://Folder/Subfolder/Notebook
, lecturenotes://Folder/Subfolder/Notebook/7/
Mejor con suplementary fields, idealmente se podría meter en LectureNotes.org con algún tipo de asociación entre <path>/text[…].txt (por ejemplo utilizandolo como ID) para poder hacer sincronización bidireccional.
Si quiero que lo que escriba se vea en el cuaderno, siempre puedo añadirlo al textN.txt que siempre existe (o lo cree si no existe)
Si utilizo como ID todo el path de lecturenotes, no funcionarán los links generados en org mode porque tienen [[]]
Se podría quitar con algún tipo de hook que si inserto un link de lecture notes se lo quita y además también habría que definirlo de alguna manera como link especial porque va a tener un id: al principio
https://orgmode.org/manual/Adding-Hyperlink-Types.html → puedes definir tu función custom para insertar este tipo de links
inotifytools + Python (mejor síncrono, o pensando en temas de concurrencia)
LectureNotes tiene también links de tipo file:, posibles links a pdfs
El textN.txt puede ser el texto que haya en el headline, o quizás mejor su propio nodo para poder añadir texto sin que se añada
Para que funcione bien tengo que ver cómo controlar el tamaño de las imágenes, o preguntar en la lista de org-mode
Si se puede editar la imagen, incluso se podría llegar a pintar cada bloque de texto sobre la imagen con un rectángulo, con su número y el número de página
1.2.4.4. Se puede sustituir un png de LectureNotes por un png cualquiera!
Puedo hacer combinaciones de plantillas y/o transclusiones. Por ejemplo añado un texto y eso ocasiona que se transcluya el contenido que diga
Para hacer solos y demás podría tener transclusiones de temas individuales
1.2.4.5. DONE Arreglar el lock para watch4Org
Aunque sí que parece que funciona bien en watch4LectureNotes, watch4Org no está haciendo nada, así que en el commit lo estoy llamando directamente en vez de crear un nuevo proceso (cuando funcione, hay que llamar a los dos watch4 con un &)
Inotifywait está devolviendo 1 en vez de 0, así que hay que ver por qué, porque en teoría según el man 1 significa que ha salido por algún error en vez de 0 que significa que ha salido porque se ha detectado un cambio
1.2.4.6. Cómo hacer el join para que sea reutilizable?
Que el proceso en python exporte un org mode básico
Luego el procesamiento de join por id de los headlines lo hago por id
Así me vale también para Anotaciones incrementales de pdfs, y para Integrar TreeStyleTabs y YiNote con org-mode, y también para Transformar un archivo en transclusión para poder editarlo
[ ]
TST y LectureNotes son los más sencillos porque los que vienen de TreeStyleTabs/LectureNotes no tienen contenido, y los de YiNote/pdf sí[ ]
El resto de casos (YiNote, pdf) hay que asumir que tienes contenido en ambos headlines[ ]
pdf lo uso mucho, pero YiNote si me limito a exportar sólo una vez no tengo que hacer join[ ]
Un buen punto es que si guardo en el nodo destino algún tipo de información (por ejemplo última fecha de actualización, el ID del nodo origen) entonces la actualización de información está mucho mejor definida, también lo puedo guardar en el nodo origen (nodos destino) y así ya tengo claro qué hacer en cada uno.
- Join de dos headlines
https://www.gnu.org/software/emacs/manual/html_node/eintr/Point-and-mark.html Utilizar Point and Mark para recorrer los dos nodos
Con Point el origen, pongo mark en el destino con el siguiente headline del mismo nivel
- Headline1
- 1.1
- 1.1.2
- 1.1.2
- 1.2
- 1.2.1
- 1.2.1.1
- 1.2.1.2
- 1.2.1.1
- 1.2.2
- 1.2.1
- 1.3
- 1.1
- Headline2
- 2.1
- 2.1.2
- 2.1.2
- 2.2
- 2.2.1
- 2.2.1.1
- 2.2.1.2
- 2.2.1.1
- 2.2.2
- 2.2.1
- 2.3
- 2.1
- Headline1
1.2.4.7. Refile de un nodo de LectureNotes
Hook en refile para que si tiene un id tipo LectureNotes te copie los archivos, pille la estructura y cambie el nombre de los archivos para que añada a la última página que hay
Idealmente con un argumento que por defecto es refile a notas de LectureNote sólamente y con C-u es refile normal
Puede que esto no me haga falta si pongo todo en un mismo archivo. Otra opción es utilizar org-attachment para que esté todo integrado con org
1.2.4.8. Problemas de orden
La primera versión saca todos los archivos pero no en ningún orden
Estaba funcionando make_index.py porque no había directorios que no tuviesen un .org (no distingue entre archivos y carpetas realmente, todo lo procesa como archivos)
https://stackoverflow.com/questions/3761473/python-not-recognising-directories-os-path-isdir (necesita que sea path absoluto)
If you don’t create an absolute path this way you will be testing against your current working directory instead
1.2.5. Integrar firefox con emacs project
1.2.5.1. Integrar TreeStyleTabs y YiNote con org-mode (exportación bidireccional) project someday_20230330
Tengo el mismo problema que con pdf y con LectureNotes
Quiero ser capaz de tomar notas, pasarlo a org mode, comentarlo en org mode y luego juntarlo con los nuevos comentarios
Exportación bidireccional incremental en ambos sentidos Cómo hacer el join para que sea reutilizable?
Hacer un script que convierte del formato que sea que usa TST a org mode y viceversa (si es posible guardando comentarios)
De paso resuelve tst exportar con la hora
- En vez de hacer un plugin de cero, puedo hacer una extensión de TST
- Where is Firefox bookmark file / how can I move it | Firefox Support Forum | Mozilla Support
Sí lo que pasa que ahora se llama
browser.bookmarks.defaultLocation
la opción(?) o hay que poner las dos?
Esto es sólo de lectura
Quizás es mejor buscar una manera de exportar/importar sólamente una carpeta de pestañas, sin addons parece que imposible
- También se pueden crear carpetas, sin que tengan enlaces
1.2.5.2. Browser-based Productivity and PKM with emacs, org-mode, LogSeq and BrainTool -> Tiene arboles de org mode en base a pestañas? project someday_20230330
https://www.reddit.com/r/orgmode/comments/sfniu3/browserbased_productivity_and_pkm_with_emacs/
https://braintool.org/2022/01/28/Browser-based-Productivity-and-pkm-with-emacs-org-mode-LogSeq-and-BrainTool.html
BrainTool is a free and open source browser bookmark tool that makes it easy to add notes to your bookmarks, organize them into a topic hierarchy and then use that hierarchy to open and close groups of tabs and thus control your browser. It is unique as a bookmark manager in that it is designed to interoperate as part of a larger system of personal knowledge management and productivity tools.
It achieves this interoperability by saving your data into an accessible plain text file written in the emacs standard org-mode format
1.2.5.3. DONE Spookfox: Manage firefox tabs using org-mode ARCHIVE
Lo probé pero no me termina de convencer, no tiene jerarquía por ejemplo (sí que puedes reorganizarlas, pero los links que sigues desde una página no se representan como nodos hijos sino en la misma altura por defecto)
https://www.reddit.com/r/emacs/comments/taej05/spookfox_manage_firefox_tabs_using_orgmode/
I’m getting this error:
1.2.5.4. Probar https://braintool.org/ project someday_20230330
Sólo es para Chrome pero hay un issue para firefox
Si me paso a Chrome/Chromium/Navegador basado en Chromium esto ya no hace falta
- Portar BrainTool a Firefox project hold_20230330
https://github.com/mozilla/web-ext
Para ejecutarla:
npm install --global web-ext cd BrainTool/versions/0.9.9/extension web-ext run --verbose
- Me da error en
onBoundsChanged
como menciona en el issue pero no es prioritario, así que lo comento y no pasa nada
- https://www.reddit.com/r/firefox/comments/svw45h/firefox_addon_polyfill_for_chromes/
The classic method would be to use setTimeout() and clearTimeout() to avoid reading the new size until after resizing has been finished for some period of time
- https://www.reddit.com/r/firefox/comments/svw45h/firefox_addon_polyfill_for_chromes/
Siguiente error
https://bugzilla.mozilla.org/show_bug.cgi?id=1786667 → arreglado en la 106, ahora estoy en la 105 y ahí no está arreglado
https://bugzilla.mozilla.org/show_bug.cgi?id=1548017 → esto es el segundo error, parece más complicado de solucionar
[/home/julian/.npm/lib/node_modules/web-ext/lib/firefox/index.js][debug] Firefox stderr: Missing chrome or resource URL: resource://gre/modules/UpdateListener.sys.mjs [/home/julian/.npm/lib/node_modules/web-ext/lib/firefox/index.js][debug] Firefox stderr: JavaScript error: resource://gre/modules/XULStore.jsm, line 58: Error: Can't find profile directory.
- Me da error en
1.2.7. Cómo funciona org-ids? learn
Creo que me lo está gestionando todo org-roam, entonces todos los archivos que sean org-roam me funcionan
1.2.8. org-babel / org tangle
1.2.9. ediff
1.2.10. magit
1.2.10.1. Ver “The Magit Git Client Is The ”Killer Feature“ In Emacs” en YouTube
1.2.10.2. https://emacsconf.org/2019/talks/14/
1.2.11. Grafos en emacs
https://plantuml.com/mindmap-diagram -> Org mode syntax supported out of the box
1.2.11.1. https://www.reddit.com/r/emacs/comments/jlpyej/recommendation_for_a_mind_map_package_that_works/
I think that plantuml now supports mind maps
That’s cool, it even supports an Org-like syntax: https://plantuml.com/mindmap-diagram
TIL about the Mindmaps. PUML Never stops to amaze me!
Sacha Chua has a mind-map she built using org-babel code -> link. You’ll probably have to look through her config files to figure out just how she made it work.
She uses graphviz. See also: https://github.com/alphapapa/org-graph-view
1.2.11.2. Habit Graphs
Form Tiago Forte → Design Your Work
NetworkX - Wikipedia → Python library to analyze
1.2.11.3. system design diagrams in Org Mode
1.2.11.4. Diagrams
https://github.com/nmartin84/.doom.d (Ejemplo de config) Tiene mermaid? Lo que es seguro es plantUML
https://github.com/skuro/plantuml-mode → Para que se te actualizen mientras los editas
@startuml ' this is a comment Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response John --> Alice: another Authentication Request Alice --> John: another Authentication Response @enduml
1.2.12. notificaciones en org-mode
- org-alert avisa cada N minutos de deadlines que han vencido
- Es muy pesada porque escanea de manera síncrona todos los archivos y bloquea emacs
- org-notify sí que notifica bien
- Sólo notifica deadline, no scheduled
- org-wild-notifier notifica antes según una lista de tiempos de notificación previa
- org-timed-alerts es muy parecido a org-wild-notifier, pero es más customizable y tiene dependencias de org-ql por ejemplo
1.2.12.1. EmacsTips - Hot to Show Reminder for Org Mode Tasks
1.2.12.2. Crear un sistema propio de notificaciones org-mode / extender org-wild-notifications project maybe_20230330
- https://wiki.ubuntu.com/NotificationDesignGuidelines
- Usar org-agenda para coger las tareas
- Más adelante quizás org-ql
- Fijarse en orgzly, tener botones para disparar acciones:
- Link a la tarea (abre emacs, quizás usando org-protocol)
- Marcar como completo
- Reschedule si tiene repetidor
- Sumar X min a la fecha (modifica el .org)
- Notificar X min más tarde (sin modificar el .org)
- Quizás desarrollarlo a partir de org-wild-notifier, org-timed-alerts?
1.2.12.3. Usar la sincronización de Calendario project maybe_20230330
Así las notificaciones se las delego al calendario calDAV o lo que sea
1.2.12.4. TODO Comprobar si funciona añadir herencia de tags en org-wild-notifier
Ya está hecho aquí junto con poder especificar de qué quieres que se te notifique (DEADLINE SCHEDULED TIMESTAMP):
https://github.com/lytex/org-wild-notifier.el
Puedo empezar a tirar de mi fork, pendiente de comprobar si funciona
- Investigación previa
Es simplemente cambiar estas definiciones
(org-entry-get marker "TAGS") → acepta un argumento opcional que dice si utiiliza herencia o no → no funciona (org-get-tags) sí que funciona ya bien, combinando todo queda: (org-with-point-at marker (org-get-tags)) (org-get-tags-at marker) más claro ;; Cambiarlo a esto de aquí abajo: (org-with-point-at marker (org-entry-get-with-inheritance "TAGS"))
1.2.12.5. notificaciones en KDE
Se hacen permanentes con Notifications>Right click>Configure Event Notifications
and Actions>
- Low priority notifications > show in history
- Applications>Configure>Other Applications>Show in history
1.2.13. org embedded latex
1.2.15. Best of org mode + this project + Things I use daily (requirements after using it for a while) + Feature Parity with Obsidian Logseq with Plugins
1.2.15.1. org-sparse-tree to filter TODO items / tags while mantaining hierarchy
allows you to mix resources and tasks → literate tasks
1.2.15.2. org-sort to keep TODO items at the top
1.2.15.3. org-narrow-to-subtree / widen
Focus on one task, while on divergent mode (Zoom in Obsidian)
1.2.15.4. org-toggle item & heading to:
allow your items to organically grow - [ ], - [X] → TODO, DONE and viceversa
- MAYBE, - SOMEDAY
1.2.15.5. org-refile
- my/org-link-and-refile
- my/org-refile-to-capture
- my/org-link-and-refile-to-capture
allows your notes to organically grow (Note composer in Obsidian, which also merges two notes)
1.2.15.6. org-agenda
Calendar support added via CalDAV, I have yet to find a calendar view using time blocks inside emacs
1.2.15.7. org-ql
1.2.15.8. src code blocks
Execute code
Obsidian has snippets: https://github.com/cristianvasquez/obsidian-snippets-plugin
1.2.15.9. Spreadsheet system
1.2.15.10. quote, example blocks
Obsidian has admonitions
1.2.15.11. links by id
you can refile and rename a heading and keep the links working
1.2.15.12. plain text
- you can do backlinks manually for example
- leverage unix tools for text editing (grep, sed)
1.2.15.13. any level of indentation
10 seems enough for most uses
# Since when does this repository exist? git --no-pager log --pretty=format:'%cr%n' | tail -n 1 # How many headlines I got of each level? rg "^\*+" --only-matching --no-filename ~/org | awk '{arr[$1]++}END{for (a in arr) print a, arr[a]}' | tr '*' 'a' | sort | tr 'a' '*'
2 | years, | 5 | months | ago |
* | 2313 | |||
** | 4757 | |||
* | 6071 | |||
** | 8098 | |||
* | 3793 | |||
** | 1579 | |||
* | 537 | |||
** | 61 | |||
* | 22 | |||
** | 2 |
1.2.15.14. Quick capture
- org-roam-capture
- org-web-tools to capture the content of a web as text
1.2.15.15. orgzly → great android integration
1.2.15.16. org-noter to:
- extract toc and annotations
Obsidian: plugin + Zotero + http://zotfile.com/ - scroll sync between notes and pdf
1.2.15.17. org-pdftools to:
- make annotations and highlight text
1.2.15.18. org-re-reveal to:
- Make presentations from org-mode
- https://oer.gitlab.io/emacs-reveal-howto/
1.2.15.19. org-wild-notifier to
- notify
- link to the heading (TODO)
1.2.15.20. make 3 journals
journal, introspection and work
1.2.15.21. Introductory resources
1.2.15.22. Things to do
- Better integration with graphics
- Handwritten notes
1.2.15.23. Modelos para entender org-mode
1.2.15.24. Missing things
- Annotation extended to all resources
- Structurizr-like graphs: the formal description is in the org-mode file, the position of the elements is saved separatedly
- Handwritten notes support and bidirectional integration
- Better web integration
- Self-modifying capabilities (like lisp itself)
- Built-in synchronization
- bidirectional sync with the DAG (pick from premade blocks and conect them)
1.2.16. Annotation
1.2.17. Spaced repetition en org mode project someday_20230330
- https://www.reddit.com/r/orgmode/comments/jiseoj/anki_decks_with_orgmode/
- eyeinsky/org-anki: Sync org notes to Anki via AnkiConnect
Works via AnkiConnect add-on to Anki
Te permite marcar qué parte quieres que sea visisble y cuál no (Cloze syntaxhidden text::hint text
)
https://github.com/eyeinsky/org-anki/#why → comparativas
https://raw.githubusercontent.com/eyeinsky/org-anki/master/example/example.org - https://github.com/orgtre/anki-editor
NO UTILIZAR: https://github.com/louietan/anki-editor → no utilizar que está sin mantenimiento
Requirements: anki-connect, an Anki add-on required by this package to interact with Anki. curl.
https://raw.githubusercontent.com/louietan/anki-editor/master/examples.org
Te permite utilizar Cloze syntax Default::which deck ? - https://github.com/abo-abo/pamparam (incluso dice uno de usarlo como caching??)
Te crea archivos y un repo de git automáticamente, no sé si me gusta - https://www.leonrische.me/fc/index.html org-fc (flashcards)
org-fc is unique in that each headline can have multiple “positions” that are reviewed independently from each other. - https://orgmode.org/worg/org-contrib/org-drill.html
Lo mantiene todo dentro de org mode. Cloze syntax, pero es custom
https://gitlab.com/phillord/org-drill/-/raw/master/spanish.org
1.2.17.1. Tickler file as Spaced Repetition
You don’t have to thing when exactly to schedule a task/thing you’re tracking, and as a bonus, repetition is tailored to when you think you should be viewing it based on how much do you remember it
https://github.com/yantar92/emacs-config/blob/master/config.org#project-management
Instead or reviewing all the ideas together, it would be better to make sure that ideas are reminded to me from time to time without a need for me to think when is the next time I want to be reminded. This is similar to tickler list in GTD managed using org-drill, so that spaced repetition method is used to find out when to remind about the idea next time.END
1.2.17.2. Image Occlusion with Excalidraw in Obsidian (Como Anki pero con imágenes)
1.2.17.3. Announcing dyncloze, an app for language learning practice in emacs
1.2.18. Probar org-attachments project someday_20230330
1.2.19. Ideas idea
GOAL: Aplicar Data Science/ML/Visualización de datos a mis notas
1.2.19.1. Aplicar ML a tus notas
- Usar NLP para analizar sentimiento de un diario (Haciendo MPs) y plotearlo
- https://fortelabs.co/blog/organizing-ideas-using-machine-learning/
- https://fortelabs.co/blog/topic-discovery-using-machine-learning/
- https://briansunter.com/graph/#/page/notetaking-with-AI
1.2.19.2. Contar el tamaño que tiene la inbox para ver si se atasca
Tanto como para Inbox virtuales como para inbox físicas (por ejemplo el número de hojas de sin procesar del todo es muy interesante)
1.2.19.3. Ver si me salto algún hábito para ver si estoy más cansado
Por ejemplo si no me logeo en RPi y en Servidores, entonces ha sido una semana cansada
1.2.19.4. Contar el número de links y backlinks que tiene cada nota ( o cada heading incluso ) e irlo ploteando
Hay que hacerlo en python, sería un poco curro
1.2.19.5. Diagrama de sankey con headlines de org-mode
La idea es ir viendo cuáles han surgido nuevos, cuales se han borrado, cuáles se
han movido Se puede coger el diff si es un git, y luego tendríamos que ir un
poco a nivel de headline viendo qué ha pasado Match exacto no es muy
recomendable porque muchas veces cambia el nombre del headline
- https://github.com/google/diff-match-patch
Crea diferencias entre archivos de texto
1.2.19.6. Porcentaje de tiempo dedicado
Balance de tiempo: en un intervalo dado, tengo que pasar X% de mi tiempo en Y, y si no el sistema te sugiere hacer ciertas cosas más
Agrupar los datos de tiempo en un dataframe por tag o parecido
Según :
- Estado deseado (pasar X% del tiempo haciendo Y) para cosas complicadas
- Dirección (quiero hacer más de Y) para cosas complejas,
1.2.19.7. # headlines TODO / # headlines totales
Da una idea de la “accionabilidad” de un proyecto
1.2.19.8. Ways to show hierarchical org mode data
1.2.19.9. Grafos proporcionales a cada peso
Estadísticas estilo “El X% de los links/backlinks de la nota A van a la nota B”
Podría ser el tamaño de una conexión en el grafo, probablemente la
1.2.19.10. Emacs as a Service
Conectarme por tunel ssh a la rpi desde cualquier ordenador para editar mis
archivos (tendré que llevar la clave) usando emacs desde la terminal, o
directamente gui Para qué querría yo esto?
1.2.19.11. Hacer el sistema de archivos con org mode
Integrarlo con dolphin con tags (los tags de cada nodo org-mode son los tags de cada archivo/carpeta)
Puedo hacer los mismas queries org-ql sobre el árbol org-mode
En función de la tag puedo hacer por ejemplo si es un repo que lo abra en vscodium/nvim
1.2.19.12. Hacer org mode más visual
1.3. org-mode
1.3.1. Closed Source Alternatives (Roam, Obsidian, RemNote, …)
- https://www.nateliason.com/blog/roam
- https://www.reddit.com/r/SideProject/comments/fuegtl/obsidian_take_great_notes_in_markdown_and_let/
- https://www.youtube.com/playlist?list=PLirPuSjy7wZAbEY6nLcyQC6HZXRDt_qEL
- https://www.reddit.com/r/RoamResearch/comments/eho7de/building_a_second_brain_in_roamand_why_you_might/
- https://forum.zettelkasten.de/discussion/787/roam-research
1.3.1.1. Obsidian
1.3.1.2.
1.3.1.3.
1.3.1.4. Notion
1.3.1.5. Craft - The Future of Documents
1.3.1.6. Mem
1.3.2. Resources
OrgMode tutorial - Rainer König
back-to-basics: org-mode agenda simple org-mode https://karl-voit.at/2019/09/25/using-orgmode/
http://helpdeskheadesk.net TiddlyWiki de Emacs+Org Mode para principiantes
https://www.reddit.com/r/emacs/comments/6suy3m/realized_that_org_mode_is_a_rabbit_hole/
https://www.reddit.com/r/orgmode/comments/kipbu7/orgroam_journaling_agenda_todos_clocking_i_feel_a/
http://doc.norang.ca/org-mode.html Org Mode - Organize Your Life In Plain Text!
https://sachachua.com/blog/category/geek/emacs/emacs-news/
https://karl-voit.at/2019/09/25/using-orgmode/
https://github.com/tonyaldon/posts/blob/master/posts.org
https://orgmode.org/worg/org-glossary.html Resumen de org-mode
https://www.reddit.com/r/orgmode/comments/jllk1y/how_do_you_organize_your_org_mode_and_org_roam/ begginer level
1.3.3. elisp org-element
1.3.4. org-almanac
blogging en emacs, recopilación de recursos
1.3.5. Tricks
1.3.5.1. org-babel / org-tangle tricks
:results verbatim
no te lo saca en tabla:exports both
te exporta el código y el resultado (por defecto sólo el código):eval no
:results value html
te exporta eso a html (exclusivamente, por ejemplo a latex no)#+PROPERTY: header-args :comments link :tangle-mode (identity #o444)
→ atributos de acceso al archivo que exportes:shebang "#!/bin/bash"
- Tangle a single block with
C-u C-c C-v t
- Tangle all blocks with
C-v C-c t
Tangle by default
# Local Variables: # org-confirm-babel-evaluate: nil # eval: (setq org-babel-default-header-args (cons '(:tangle . "yes") (assq-delete-all :tangle org-babel-default-header-args))) # End:
- Evaluate all code blocks with
C-c C-v b
- Cambiar entorno virtual de python
(setq org-babel-python-command "/home/julian/.virtualenvs/science/bin/python3")
Lo puedes hacer con
Pero
org-export-allow-bind-keywords
tiene que ser non-nil
Non-nil means BIND keywords can define local variable values.
This is a potential security risk, which is why the default value
is nil. You can also allow them through local buffer variables.
1.3.5.2. Local variables
https://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html
# -*- org-use-tag-inheritance: nil; -*- # Local Variables: # org-confirm-babel-evaluate: nil # eval: (progn (defun my/run-blocks () (when (string= "my_org_mode_setup.org" (buffer-name)) (org-babel-goto-named-src-block "config") (org-babel-execute-src-block) (outline-hide-sublevels 1))) (my/run-blocks) (add-hook 'after-save-hook #'my/run-blocks )) # End:
1.3.5.3. Start list from any number
http://pragmaticemacs.com/emacs/org-mode-start-a-numbered-list-from-any-number/
Reset list number
- Hola
- Hey
- Desde cero tambien
- Si pones el mismo número, te crea el siguiente elemento arriba en vez de abajo
1.3.5.4. Open multiple links
lytex/visit-all-http-links
https://stackoverflow.com/questions/61621608/how-to-open-multiple-urls-at-the-same-time-in-an-emacs-buffer
C-c C-o → org-open-at-point
When is pressed on a heading, then all URL’s beneath that heading are opened
1.3.5.5. Negrita cursiva
Texto de antes . negrita-cursiva; sigo en cursiva Texto normal
Texto de antes Negrita negrita cursiva sigo en cursiva Texto normal
1.3.5.6. Imágenes en org mode
(display-pixel-width)
→ te dice la anchura en píxeles
https://www.mail-archive.com/search?l=emacs-orgmode@gnu.org&q=subject:%22%5C%5BO%5C%5D+Use+Emacs+support+for+image+resizing+when+using+org%5C-image%5C-actual%5C-width%22&o=newest&f=1
Funciona mejor hacer (setq org-image-actual-width 100) y luego tienes que pulsar enter en las imágenes para que se hagan pequeñas y enter para volver a ponerlas
Con +/- puedo cambiar el tamaño de la imagen (image-increase-size, image-decrease-size), pero no funciona si la imagen es online. Con suerte la web sirve la imagen con una resolución parametrizable y lo puedes cambiar (https://miro.medium.com/max/1400/0*yax8nJhn63NHPxJt)
- Scroll a nivel de línea
Para imágenes más largas que la pantalla hace cosas rarísimas
https://emacs.stackexchange.com/questions/10354/smooth-mouse-scroll-for-inline-images → lo arregla bastante
https://www.reddit.com/r/emacs/comments/t4la5p/emacs_29_will_have_precision_scrolling_using/
En emacs 29 ya van a tener scroll a nivel de pixel
- emacs evil smooth scroll
- Org mode: is it possible to display ONLINE images? - Emacs Stack Exchange
No need for custom packages:
https://miro.medium.com/max/1400/0*yax8nJhn63NHPxJt
Sometimes the url does not end with .jpg, add a ?file=.jpeg so that org recognizes it as an image
- Release notes | Org mode | Display remote inline images
https://www.orgmode.org/Changes.html
Display remote inline images
- Error de certificados
https://emacs.stackexchange.com/questions/27554/gnutls-negotiate-certificate-validation-failed-for-hostname-verification-code
gnutls-negotiate: Certificate validation failed cd.epic.epd.gov.hk, verification code 42
sudo apt-get install gnutls-bin
gnutls-cli --save-cert=cd-epic-epd-gov-hk.pem cd.epic.epd.gov.hk --insecure
(add-to-list 'gnutls-trustfiles "cd-epic-epd-gov-hk.pem")
- Release notes | Org mode | Display remote inline images
- Is there a good guide for using images inside .org files? : orgmode
1.3.5.7. Paste image from clipboard to org mode project someday_20230330
- https://stackoverflow.com/questions/17435995/paste-an-image-on-clipboard-to-emacs-org-mode-file-without-saving-it/31868530#31868530
es lo mismo pero desde orgzly en vez del ordenador
- https://github.com/LionyxML/ros
1.3.5.8. org mode log repeat
lognoterepeat
log-repeat ⇒ Crear una nota al marcar un hábito como hecho, para decir cómo te sientes, qué tal te ha parecido…
Útil para pillar el hábito de escribir al acabar de hacer algo
https://orgmode.org/manual/In_002dbuffer-Settings.html#index-org_002dlog_002drepeat-1
Logging the closing and reopening of TODO items and clock intervals can be configured using these options (see variables org-log-done, org-log-note-clock-out, and org-log-repeat). ‘logdone’ Record a timestamp when an item is marked as done. ‘lognotedone’ Record timestamp and a note when DONE. ‘nologdone’ Do not record when items are marked as done. ‘logrepeat’ Record a time when reinstating a repeating item. ‘lognoterepeat’ Record a note when reinstating a repeating item. ‘nologrepeat’ Do not record when reinstating repeating item. ‘lognoteclock-out’ Record a note when clocking out. ‘nolognoteclock-out’ Do not record a note when clocking out. ‘logreschedule’ Record a timestamp when scheduling time changes. ‘lognotereschedule’ Record a note when scheduling time changes. ‘nologreschedule’ Do not record when a scheduling date changes. ‘logredeadline’ Record a timestamp when deadline changes. ‘lognoteredeadline’ Record a note when deadline changes. ‘nologredeadline’ Do not record when a deadline date changes. ‘logrefile’ Record a timestamp when refiling. ‘lognoterefile’ Record a note when refiling. ‘nologrefile’ Do not record when refiling.
[no]log[note][done|repeat|clock-out|reschedule|redeadline|refile]
1.3.5.9. Mirar la cache de las imágenes
Me suena que en algún momento lo miré pero no lo encuentro
Así no se intenta bajar todo todas las veces
Lo mismo es más general
1.3.5.10. No exportar _ como subscript
https://stackoverflow.com/questions/698562/disabling-underscore-to-subscript-in-emacs-org-mode-export
https://stackoverflow.com/questions/698562/disabling-underscore-to-subscript-in-emacs-org-mode-export
https://orgmode.org/manual/Export-Settings.html
Poner esto por defecto, o en la versión más light (si pongo {} que me lo exporte)
1.3.5.11. org-cycle-list-bullet
- Funciona con Shift + Left, Shift + Right
1.3.5.12. org-export-babel-evaluate (ejecutar código al exportar)
# -*- org-export-babel-evaluate: nil -*-
1.3.5.13. No se ve el resaltado de sintaxis
Con «a» “a”
Juntar con la línea anterior (J) y bajarlo (r RET) lo arregla
1.3.5.14. Exportar una nota privada
[ ]
Borrar etiquetas private[ ]
SPC m e[ ]
Primero hay que quitar exportación asíncrona con C-a[ ]
Después exportar a buffer (no a archivo)[ ]
Volver a poner private
1.3.5.15. Copiar org mode a un correo
Si copias de una exportación de HTML a un correo web, te preserva todos los atributos (los headlines se transforman en headlines) y los bullet points te salen indentados y demás
1.3.5.16. inline src blocks
1.3.5.17. Summary of In-buffer Settings (The Org Manual)
1.3.5.18. org embedded latex
Latex inline -> con dólar y hacer org-latex-preview
https://orgmode.org/manual/Embedded-LaTeX.html
1.3.5.19. org table
- atajos de teclado / trucos
C-c ^ → Ordenar por columna
Fórmulas separadas por ::
\#+TBLFM: $14=$3/$5/$9::$15=$3/$4/$9
- https://github.com/tbanel/orgaggregate
Aggregating a table is creating a new table by computing sums, averages, and so on, out of material from the first table.
Optimization lead to significant speedups.
- Recursos
https://torstensenf.de/html/pages/spreadsheet-in-emacs-with-org-mode.html
https://orgmode.org/worg/org-tutorials/org-spreadsheet-intro.html
https://orgmode.org/manual/The-Spreadsheet.html
https://jherrlin.github.io/posts/emacs-orgmode-tables/
org-babel-examples/tables.org at master · dfeich/org-babel-examples
orgextended_docs/tables.org at master · ihdavids/orgextended_docs
- Utilizar tablas de pandas junto con org-table build
Justo antes de pasarlo como variable hay que convertirlo a diccionario y se pasa como string.
Luego ejecutas ese string y le pones un pd.DataFrame delante
Se puede utilizarorg-babel-default-header-args:python
(existe la variable realmente o sólo cuando se define??) para hacer esto automáticamente
import pandas as pd df = pd.DataFrame({'a': [1,2,3], 'b': [4,5,6]}) return df.to_dict()
{'a': {0: 1, 1: 2, 2: 3}, 'b': {0: 4, 1: 5, 2: 6}}
import pandas as pd return pd.DataFrame(eval(table1))
a b 0 1 4 1 2 5 2 3 6
- https://github.com/fritzgrabo/ob-dsq try
Más sencillo que utilizar pandas parece
- org-table vs table.el
https://emacs.stackexchange.com/questions/38135/wrap-cell-content-in-an-org-mode-table
C-c ~
→ funciona de org-table a table.el pero de table.el a org-table te crea filas extraC-c '
→ editar una tabla de table.el
table-narrow-cell
→ se llama la primera vezC-c C-c <
→ funciona la segunda vez, se puede prefijar con 10, 20, 30, …C-c '
de nuevo para guardar porqueC-c C-c
no funciona
- Otras opciones
- Tablas en LaTeX
- Tablas HTML
- Tablas en LaTeX
1.3.6. org-refile
1.3.6.1. Org-mode: how might I leave a note behind when refiling?
https://www.reddit.com/r/emacs/comments/q14wnw/orgmode_how_might_i_leave_a_note_behind_when/
Org-refile-keep y customizacion de esto
https://orgmode.org/worg/org-tutorials/org-meeting-tasks.html
1.3.7. habits
- Logear cuántas horas de sueño tienes en vez de preguntar a las 8:00 si te fuiste temprano a dormir
- Logear cuántas horas le dedicas a algo en vez de preguntar si has hecho X hoy. Esto permite un enfoque más flexible estilo Grafos de hábitos con correlación de series temporales en vez de sí/no
- https://orgmode.org/manual/Tracking-your-habits.html → Ya existe y org-agenda lo soporta por defecto
- https://github.com/oddious/org-habit-plus → para trackear hábitos que no son tan regulares
- https://www.google.com/search?hl=en&q=org%20mode%20habits
1.3.7.1. Probar org-habits
- Blue
- The task was to be done on that day.
- Green
- The task could have been done on that day.
- Yellow
- The task will be overdue the next day.
- Red
- The task is overdue on that day.
- Condiciones de uso
- Tiene que ser con org agenda normal
- Lo más sencillo es ponerse en un buffer y buscar dentro de ese buffer sólamente (SPC o A < a)
- Parece que la hora tiene que ser un día entero, pero entonces me va a aparecer en org-caldav el día entero → he puesto “habit” en
org-caldav-exclude-tags
- Tiene que ser con org agenda normal
- DONE Arreglar org-habits que no funciona
Esto de aquí abajo siempre se ve, seguir investigando, unos funciona, otros no, …
Funciona sólo cuando restringo a subtree
https://cpbotha.net/2019/11/02/forming-and-maintaining-habits-using-orgmode/
org-habit-insert-consistency-graphs
es la función que inserta el gráfico, pero no me funciona →org-habit-build-graph
- Investigar el código fuente para ver qué necesita
Esto sólo me crea los ! → hace falta algo como
org-habit-get-faces
, pero se llama dentro deorg-habit-build-graph
Resulta que al ponerlo en un buffer de org mode no se ve, pero en un scratch buffer por ejemplo sí que tiene colores
(setq moment (time-subtract (current-time) (list 0 (* 3600 org-extend-today-until) 0))) (setq habit '(737366 2 737368 4 (737345 737348 737350 737350 737352 737354 737356 737358 737362 737364) ".+")) (insert-before-markers (org-habit-build-graph habit (time-subtract moment (days-to-time org-habit-preceding-days)) moment (time-add moment (days-to-time org-habit-following-days)))) ;;
- org-habit-p
file:///home/julian/.emacs.d/.local/straight/repos/org/lisp/org-agenda.el#orgf4eb2bd
el es el parámetro de una lambda → org-element-cache-map
(org-element-cache-map (lambda (el) (org-habit-parse-todo (org-element-property :begin el))))
Si lo ejecuto desde el elemento de org mode: org-habit-parse-todo: Assertion failed: (org-is-habit-p (point))
file:///home/julian/.emacs.d/.local/straight/repos/org/lisp/org-habit.el#org164dfde
Si lo ejecuto desde org-agenda: org-element-cache-map: Cache must be active.
file:///home/julian/.emacs.d/.local/straight/repos/org/lisp/org-element.el#orgd4ce8ee
(org-habit-parse-todo)
sobre el propio heading ya funciona
(737366 2 737368 4 (737345 737348 737350 737350 737352 737354 737356 737358 737362 737364) ".+")
- org-habit-p
- https://emacs.stackexchange.com/questions/13360/org-habit-graph-on-todo-list-agenda-view
To explain further, it appears that every agenda function calls org-agenda-finalize once the agenda buffer has been mostly constructed, and this is the function which adds the habit graphs. Moreover, it just adds the graph to every item which has the org-habit-p text property (which encodes the details the graph will display). So all we need to do is go through and tag the habits with this information at some point prior to that.
- Investigar cómo configurarlo con org-super-agenda
- Investigar el código fuente para ver qué necesita
1.3.8. mejoras pequeñas
1.3.8.1. Poner helm con org-roam project maybe_20230330
1.3.8.2. Detectar si un link ya está capturado project someday_20230330
Es como un ROAM_KEY pero en headline (esto con v2 ya está)
Hacer como org-roam pero en Inbox, o incluso con una regex: si matchea, ir a ese headline (para cualquier tipo de captura desde web)
Quizás incluso match parcial (si eso que sea incremental, parseando el link y quitando query string, #header y demás de manera estructurada e interactiva)
1.3.8.3. Poner async org-babel-tangle (org-auto-tangle) project someday_20230330
https://github.com/yilkalargaw/org-auto-tangle/
No me funciona lo de remplazar comentarios con blank
1.3.8.4. Hacer un capture to org-roam file (refile not inbox) project someday_20230330
1.3.9. Templates
1.3.9.1. Crear una nota BLOCK/NEXT
Rápidamente crear una nota TODO, que saque el id, ponerla en BLOCK/NEXT de la
tarea padre y mover el cursor al TODO
1.3.9.2. Usar las notas como trampolín project someday_20230330
Automáticamente que te meta en el drawer de RELATED la nota de la que saltas
1.3.10. Cosas en headings
Roam realmente va a nivel de archivo, nunca va a nivel de heading. Lo que hace
si hay un link es:
[X]
Abrir en el lateral la página de un link, haciendo click te muestra los backlinks y unlinked refs de esa página- Abrir en el mismo buffer el link y mostrar backlinks (y unlinked refs más complicado porque te lo saca en el buffer del que partes)
- Si no existe te crea esa nota
Link a heading va contra la filosofía de org-roam:
https://github.com/org-roam/org-roam/issues/548 Lo que creo que es mejor es usar
org-roam normalmente con files pero de vez en cuando usar headings para alguna
cosa puntual (además ahora como tengo refile manteniendo links y demás ya puedo
hacer todas esas cosas sin problema)
1.3.10.1. DONE org-roam backlinks y unlinked refs desde heading
Unlinked references en principio fácil, sería sustituir org-roam–extract-titles
por (nth 4 (org-heading-components)) en la función org-roam-unlinked-references
y de hecho
ya
lo hice Si el heading tiene espacios, no tiene mucho sentido un match exacto,
habría que integrarlo con org-rifle? Las unlinked refs se pueden falsear si se
abre una nueva nota y se pone como title el nombre de la nota Lo más sencillo
parece hacer notes narrowing by
current subheading si se quiere hacer backlinks desde headings específicamente
Deja de funcionar a veces? No entiendo nada
1.3.10.2. DONE Arreglar notes narrowing by current subheading
Cuando estoy en un heading, que org-roam sólo me saque los links de ese heading
Más fácil hacer un org-sparse-tree filtrando por el link del heading actual (id
casi siempre) desde el que abres org-roam y parece mucho más directo que otros
intentos que hice!
1.3.10.3. org-roam-capture con id
Al final bastante complicado, y no aporta mucho hacerlo porque org-roam te
sustituye el link al heading con un link a un archivo y blablabla Hacer un
capture que genere un link con id y abra un nuevo heading en roam/ con la id que
se acaba de crear Este tipo de workflow favorece
Cosas en headings porque vas a
mover el heading de aquí para allá y te interesa el backlink de ese heading
1.3.10.4. Make a PR with my new refile functions project someday_20230330
Maybe better to submit it to vulpea
[ ]
Create a long gif for nobiot[ ]
Create a reddit post
The narrative would be something like: Since org-roam is file-based instead of heading-based, we should provide our users some frictionless way to convert from heading-based to file-based I have been using org for one year and I already have a problem, much worse if you have been using org for many years
1.3.10.5. DONE Autocompletion by id
org-roam autocompletes by file, there is some way to do it by id?
http://pragmaticemacs.com/emacs/insert-internal-org-mode-links-the-ivy-way/
1.3.11. Inline Tasks | Irreal
1.3.13. Roam insert cómo pilla los nombres de los links que insertas? ARCHIVE
Se podría hacer por heading en vez de archivo? (probablemente no, ver
Cosas en headings) Lo pilla por
nombre de archivo, por el primer heading o por #+TITLE Para org-roam-insert usa
#+TITLE, y si no tiene nada no autocompleta
1.3.14. transclusion ARCHIVE
https://github.com/alphapapa/transclusion-in-emacs
https://github.com/whacked/transclusion-minor-mode unidirectional quasi-dynamic inclusion
1.3.14.1. Quizás puedo usar uno de estos modos para que muestre una preview en ventana emergente
1.3.14.2. DONE org-sparse-tree with transclusion
It would be great if you could make a sparse tree out of current notes +
tranclusion of linked notes, to give a more complete overview (now some TODOs
may be hidden behind links) → by default, org-sparse-tree shows also translcuded headings!!
1.3.17. Proponer tipos de links en org-roam project someday_20230330
1.3.18. I split my brain
https://www.reddit.com/r/emacs/comments/pvrv0u/i_split_my_brain/
Añade contexto a headings de org roam como work/personal por ejemplo
Dividir org-roam en base a las áreas de tu vida
https://www.badykov.com/emacs/2021/09/27/split/
1.3.19. In buffer settings / Headline subtree settings
https://orgmode.org/manual/In_002dbuffer-Settings.html
Todas estas cosas a veces tienen equivalentes en :PROPERTIES: que se aplican al subárbol
1.3.21. Google Talk
1.3.22. templates
1.3.23. Learn org-mode syntaxis learn indepth
1.3.24. workflow
1.3.24.1. http://www.howardism.org/Technical/Emacs/getting-more-boxes-done.html
incluye orgzly y junta gtd y zettelkasten con cosas como diarios y tal
1.3.24.3. skx/org-worklog: A template for maintaining a work-log, via org-mode
1.3.24.4. An Org-Mode Workflow for Task Management
1.3.24.5. Zettelkasten con org-mode
1.3.24.6. Gestión de dependencias de tareas idea
Aclarar depedencias para construir hooks. Por ejemplo cosas que dependen de
dónde vivo (calendario, impuestos), de dónde trabajo, de la tarjeta de
crédito…
- Las dependencias son backlinks
Es mucho más fácil listar las dependencias en un drawer y luego ver los
backlinks que hacerlo al revés
Añadir un drawer DEPENDS
Si los contextos son cambiantes, entonces son una nota + link en vez de tags, un inventario donde pones qué hay en cada sitio y un plan de dónde esperas que esté tal o cual objeto, idealmente guardando toda esta info con (es posible que no compense hacer algo tan complicado aunque la idea está bien)
Everything is a hook
- Mirar si org mode tiene algo ya integrado para calendarios con fiestas y demás project idea research someday_20230330
https://elblogdelazaro.gitlab.io/2019-12-16-org-mode-mi-fichero-de-configuracion/#festivos → festivos de Madrid
Para gestionar irregularidades de calendarios, fiestás y demás.
Como esto depende de dónde vivo, me puedo bajar una lista de fiestas para los próximos X años y ponerme un recordatorio un día antes para que revise si algo depende de esto (por ejemplo si es fiesta el lunes entonces no interesa hacer XYZ)
1.3.24.7. How to track my fitness workouts simply
1.3.24.8. In detail: my workflows for programming, note taking, journaling, time and task tracking, and staying organized with emacs : emacs
También tiene un poco de programación, no está mal
1.3.24.9. Directory Structure for my Org Instance // Take on Rules
A little bit strange, fleeting, permanent and projects are all folders
https://takeonrules.com/2020/12/18/directory-structure-for-my-org-instance/
1.3.24.10. Fighting procastination with org mode
1.3.24.11. My org mode setup
1.3.25. Woof! Watch Over Our Folders
1.3.26. https://karl-voit.at/2017/09/23/orgmode-as-markup-only/
virtues of org-mode as a markup language, compared to markdown
1.3.27. TICKLER [ANN] Experimental org-mode branch improving performance on large files track
1.3.28. alphapapa
1.3.28.1. alphapapa/org-clones: Prototype for method of cloning orgmore headers
1.3.28.2. alphapapa/org-timed-alerts: Orgmode notification warnings of upcoming events
1.3.28.3. alphapapa/org-worklog: A template for maintaining a work-log, via org-mode.
1.3.28.4. zellerin/dynamic-graphs
1.3.29. A search engine like command line tool for org-mode and markdown
https://www.reddit.com/r/orgmode/comments/kdxq9m/a_search_engine_like_command_line_tool_for/
FYI, it’s relatively trivial to use org-ql from the command line: https://www.reddit.com/r/orgmode/comments/kdc4o2/getting_org_data_agendas_searchetc_from_the/gfwleec/
Anyway, this looks very interesting. A few years ago I looked for a command line tool, like grep or ripgrep, that could be used as a backend for org-rifle, but none of them supported multi-line matching, or not in a way that would work (you can see some of the notes I made at the time). Since then, ripgrep has gained multi-line match support, so it might work now, but I haven’t tried it again yet.
In the long term, I’d like org-ql to have additional backends, like a SQL-indexed one, and/or an external search tool for files that aren’t yet loaded into Emacs. Hopefully ripgrep can be used for this, but if not, your new tool might be a good candidate as well.
1.3.30. CANCELLED Queries estándar de org-agenda
Cancelado en favor de org-ql
https://orgmode.org/manual/Matching-tags-and-properties.html#Match-syntax
1.3.31. Random scattering across calendar in org-agenda
https://orgmode.org/manual/Agenda-Commands.html → Reschedule randomly, en emacs27 no me ha funcionado
:idea: → lytex/org-agenda-deadline-scatter → poner fecha random entre ahora y scheduled y seguirla a rajatabla
1.3.32. org sparse tree escondiendo todo lo que no sea negrita, o resaltado project someday_20230330
Por contenido en vez de por jerarquía
org-emphasis-regexp-components para pillar bien la expresión regular, utilizando overlays porque con text-properties parece que no funciona
Haces una lista de texto que no es negrita (o una lista de texto que sí que lo es alternativamente) por ejemplo dentro de los párrafos y p(porque por ejemplo un headline, propiedades y demás lo sigues queriendo ver)
1.3.33. Colores arbitrarios en org-mode project someday_20230330
Utilizar para los colores más comunes los colores de una letra de Matplotlib (quizás con algún añadido que ellos no pueden hacer como o para orange)
Incluso estaría chulo que sea
Luego todo eso tiene que ser compatible de algunar manera con exportación html
Puedes ponerle color html para cosas más custom
1.3.34. Poner por defecto que org mode muestre hasta el segundo nivel project someday_20230330
O que limite hasta el segundo nivel
Como tengo todos los org mode con nivel mínimo 2
1.3.35. Distinta exportación basado en el color del resaltado del pdf project someday_20230330
Exportación normal, resaltado, en negrita, citas textuales, código, … que se corresponden con propiedades de org mode
1.3.36. Gamificación de Hábitos y tareas project someday_20230330
1.3.36.1. Echa un vistazo a Habitica: Gamify your Tasks
1.3.36.2. Emacs y OrgMode + Habitica
- https://github.com/abrochard/emacs-habitica (te crea un buffer estilo org mode pero no te lo sincroniza)
- https://github.com/LewWadoo/org-habitica (este sí que te lo sincroniza, probar)
1.3.37. Atajos de teclado items project someday_20230330
Configurar los atajos de teclado para que cicle las listas de objetos
advice con org-shiftright a M-→ y a >> (esto último sólo si es un item de org-mode)
1.3.38. Poner un lint de archivos de org mode project someday_20230330
https://emacs.stackexchange.com/questions/42196/how-to-call-org-lint-against-org-mode-file-from-command-line
Para pillar ejemplos de que por ejemplo no me funciona org-caldav
find . -iname "*.org" | xargs emacs --batch -f package-initialize --eval "(add-hook 'org-mode-hook (lambda () (let* ((file-name (current-buffer)) (Col1 'Line) (Col2 'Trust) (Col3 'Warning) (lint-report (org-lint)) ) (princ (format \"file: %s\n%6s%6s%8s\n\" file-name Col1 Col2 Col3)) (dolist (element lint-report) (setq report (car (cdr element))) (princ (format \"%6s%6s %7s\n\" (seq-elt report 0) (seq-elt report 1) (seq-elt report 2))) ) )))"
1.3.39. music and org-mode
- Music in Plain Text → lilypond, also latex, can also reproduce midi files
Appart from Lilypond, there is ABC, FOMUS
1.3.39.1. Jazz zettelkasten
- Linkar a archivos .mid siempre (funciona desde móvil y desde ordenador), que sean las unidades mínimas de significado musical a partir de las cuales puedo construir ideas, links a segundos específicos de canciones…
- Luego hay elementos musicales que tienen significado propio como blues menor, blues mayor, hit the road jack bass, licks específicos que conozca…
- Tendría un Inbox de ideas musicales (notas de voz, partituras, canciones) que paso luego a un .mid
- Esto no es tanto para improvisar como para crear canciones
- Necesito notas de voz para incluirlas en orgzly (captura rápida)
- Juntar cachos de ideas melódicas (ideas para intros, outros, … de otros demas) armónicas y rítmicas para ver cómo suena. Cada nodo tiene un link a un .mid o a un .mp3 (o canción de spotify) con el sonido correspondiente
- Moods para tocar, frameworks, ejercicios, ideas clave que llenan un solo… También mezclar con extractos
- Mejor representación para las frases
Tablet → para poder llevarlo a todos los sitios, en Lecture Notes
Si hago una imagen = un patrón los puedo reordenar como quiera (son nodos de org mode), me da máxima flexibilidad
Es un poco extraño de usar, sobre todo si quieres juntar patrones entre sí (quizás se podría añadir algún tipo de texto acompañando el patrón y hacer una query agrupando de determinada manera, en base a tags de la página o bloques de texto o lo que sea, o que los acordes sean bloques de texto y así se identifica la tonalidad o algo)
1.3.39.2. Convertir notas de voz en archivos midi
1.3.39.3. Basic WYSIWYG printing in GNU Emacs (Sheet music)
1.3.39.4. Live Note-making + Jazz Improv (Note-maker’s Commentary) - YouTube youtube process
1.3.40. Notas de clase en org mode
1.3.40.1. Best way to insert drawings in org-mode for school notes?
https://www.reddit.com/r/orgmode/comments/kqol6j/best_way_to_insert_drawings_in_orgmode_for_school/
Hay paquetes mencionados de grafos y de notas a mano
1.3.40.2. Does anyone use org-mode for class notes?
1.3.40.3. Long-Time Emacs User Looking to Level-Up (note-taking for classes)
1.3.40.4. Taking notes in org mode has made me popular with my classmates
1.3.40.5. https://github.com/misohena/el-easydraw
1.3.41. chess and org-mode
1.3.42. Working with org-mode trees in elisp
1.3.43. org-mode (viene de emacs.org)
1.3.43.1. New Package: Zetteldesk.el - A tool for revision and outlining built on top of Org-Roam project someday_20230330
https://www.reddit.com/r/emacs/comments/t2prfo/new_package_zetteldeskel_a_tool_for_revision_and/
Poder reorganizar tus notas
1.3.43.2. Exportar contactos a vcf personales project someday_20230330
Se pueden tener todos en un org mode, existe CarDAV (como caldav, en nextloud lo soportan)
Cada mes o cada X tiempo, actualizar la base de datos haciendo un diff y actualizándolo manualmente, tanto en trabajo como en personal
Apuntar en qué compañía están como tag
1.3.43.3. org-contacts
1.3.43.4. org-expiry
https://stackoverflow.com/questions/12262220/add-created-date-property-to-todos-in-org-mode
org-expiry, archiva tareas que sean más antiguas que X y añade un CREATED
- Integrar org-recent-headings con org-expiry
https://github.com/alphapapa/org-recent-headings Llevar control de cuándo se modifica un heading (ya lo lleva org-recent-headings)
https://emacs.stackexchange.com/questions/39348/org-auto-add-update-date-of-last-modification-of-heading-and-or-its-body-to
También valdría para org-expiry
(porque por defecto lo guarda org-recent-headings)
1.3.43.5. Productividad/GTD
1.3.43.6. Presentaciones
- Emacs Tips - How to Give Presentations with Org Mode
- org-tree-slide → org-tree-slide-mode
- C-S-> para navegar (next-tree, previous-tree)
- C-S-> para navegar (next-tree, previous-tree)
- Las presentaciones tienen un modo para ocultar
- Las presentaciones tienen un modo para esconder las slides que no tienen un TODO por si estás trabajando en ellas
- Se puede poner código en las presentaciones y se puede ejecutar
- Si pones la etiqueta commentary entonces se salta esa página
- Si pones org-comment-string delante de un headline, se lo salta (C-c ;)
- Puedes poner TODO para centrarte sólo en las diapositivas que te quedan por hacer
- También tiene efectos de transición
- Text scaling mode
- Face remapping alist para hacer una correspondencia entre fuentes y tamaños
- Se puede se puede exportar a beamer
- org-tree-slide → org-tree-slide-mode
- https://github.com/yjwen/org-reveal/
- Es compatible con los COMMENT como estado de TODO (org-tree-slide) sólo cuando te bajas el js en local
- No parsea tags sino que las incluye como parte del título de la slide
Utiliza org-export-exclude-tags, y también añade la suya propia “noexport_reveal”, y además incluye también esto para filtrar a nivel de headline:
Esto no se exporta en reveal
- Reveal.js supports a multiplexing plugin, which allows your audience to view the slides of the presentation you are controlling
- Reveal también tiene una interfaz web
- https://revealjs.azurewebsites.net/#/
- https://github.com/hakimel/reveal.js/wiki/Plugins,-Tools-and-Hardware
- Es compatible con los COMMENT como estado de TODO (org-tree-slide) sólo cuando te bajas el js en local
- Show presentation using Org Mode
1.3.43.7. Recopilación de plugins org mode
- https://www.reddit.com/r/orgmode/comments/6t7ufq/what_are_the_best_packages_plugins_for_org_mode/
alphapapa dice paquetes por aquí
https://github.com/alphapapa/org-super-agenda
https://github.com/alphapapa/helm-org-rifle
https://github.com/alphapapa/org-recent-headings
https://github.com/alphapapa/org-sticky-header
https://github.com/alphapapa/org-web-tools
https://github.com/alphapapa/org-bookmark-heading
https://github.com/alphapapa/org-protocol-capture-html
- https://www.reddit.com/r/emacs/comments/8nvnlu/extending_orgmode/
alphapapa dice paquetes por aquí (algunos más)
- https://github.com/alphapapa/helm-org-rifle
- https://github.com/alphapapa/org-super-agenda
- https://github.com/alphapapa/org-protocol-capture-html
- https://github.com/alphapapa/org-bookmark-heading
- https://github.com/alphapapa/org-web-tools
- https://github.com/alphapapa/org-make-toc
- https://github.com/alphapapa/org-sidebar
- https://github.com/alphapapa/org-recent-headings
- https://github.com/alphapapa/org-quick-peek
- https://github.com/alphapapa/org-sticky-header
- https://github.com/alphapapa/helm-org-rifle
- https://www.reddit.com/r/emacs/comments/8jy7p1/orgmode_extensions_workflows/
Un poco más disperso, no tan interesante
- https://www.reddit.com/r/emacs/comments/k9040b/improving_org_mode_with_extentions/
- org-mru-clock for clocking in to tasks
- org-upcoming-modeline for not missing my meetings
- org-rich-yank for getting some context and highlighting on what I paste into org files
I also use:
- org-super-agenda to make my agenda more readable and informative
- calfw-org for those few times I want a calendar layout
- org-download if I ever need to include an image, which is not so often but it’s super handy when I need that
- org-mru-clock for clocking in to tasks
- Advanced org-mode resources
1.3.43.8. org-rich-yank
https://github.com/unhammer/org-rich-yank/
Mismo concepto que Rich copy
Copiar y añadir un link de donde viene (si viene de correo, o de código fuente le añade el #+begin_src)
1.3.43.9. org-inline-anim - MELPA
Inline playback of animated GIF/PNG for Org
1.3.43.10. Parser alternativos de org mode
1.3.43.11. Sistema global para gestión de información (Linux/Android, pdfs, anotaciones etc)
1.3.43.12. NΛNO agenda is on ELPA (https://elpa.gnu.org/packages/nano-agenda.html)
1.3.43.13. sacha chua org mode
1.3.43.14. Org Visibility
https://www.reddit.com/r/emacs/comments/t2q4xf/org_visibility/
It persists your visibility state (i.e. which sections are visibly cycled on and off) of your org file buffers and restores that state when you next load them
1.3.44. Caracteres extraños/especiales en org-mode
es el valor, subraya las cosas en azul, pero sólo cuando tienes un wrap. Es un non-breaking space.
https://www.fileformat.info/info/unicode/char/00a0/index.htm
https://www.fileformat.info/info/unicode/char/200b/index.htm → esto lo tengo cuando inserto con M-SPC M-SPC, viene de tecosaur
1.4. org-babel / org tangle
1.4.1. Org Babel reference card
- * means value by default
- evaluation command and input
- :cache [yes|no]
- Avoids re-evaluating unchanged code blocks.
- :cmdline <str>
- Pass some command line arguments
- :dir <str>
- Directory to execute the code
- :epilogue <str>
- Appends text to code block body.
- :eval [query|query-export|no|no-export]
- Specifies permissions for every execution of code blocks. Also never is an alias for no
- :mkdirp
- Whether to use mkdir -p to create directories if they don’t exist
- :prologue <str>
- Preppends text to code block body.
- :session <str>
- Shares data and persists state between (evaluation of) different code blocks. It is always evaluated regardless of :export settings
- evaluation results
- :file <str>
- Which file to write the results (:results graphics for graphics)
- :wrap <block type>
- the name of the block (#+begin/end_<block type>) with which to wrap the results.
- tangling
- :comments: [no|link|noweb|org|both]
- In tangled file, do not insert comments, or insert “tangled from X” with links to org file, or also treat noweb as comments “tangled from X” and link, or include org mode text as comment, or do both link and org
- :no-expand
- Turns off the code blocks expansion during tangling.
- :padline [yes*|no]
- inserts padline when tangling, or not, at the top of the file. It is always inserted between blocks
- :shebang <str>
- Preamble for tangled files
- :tangle [no*|yes|<str>]
- Do not tangle, tangle with automatic filename.ext, or provide a name
- :tangle-mode (identity #o775)
- export
- :exports [none|code|results|both]
- What to export
- noweb
- :noweb [no*|yes|no-export|strip-export|tangle|eval]
- Do not expand, or expand when evaluating, tangling and exporting, or do not expand when exporting (left literally
{{ reference }}
), or strip from exporting (disappears altogether), or expands only during tangling, or expands only during evaluation
Then insert literal code:{{ code-block-name }}
, Insert results of code (optional args),{{ code-block-name([arg=value,...]) }}
Name all child unmamed src blocks using this name
* org-mode-header :PROPERTIES: :header-args: :noweb-ref <str> :END:
Separator between consecutive noweb-ref concatenations
* org-mode-header :PROPERTIES: :header-args: :noweb-str <str> :END:
- tables
- :colnames [no*|yes|’(a b c …)|’()]
- hlines [yes|no]
- Handles horizontal lines in input tables.
- :rownames[no*|yes]
- interpret first column as row names
- :sep <str>
- delimiter for reading or writing tabular results
- Multiple options
- Collection
- :results [value|output]
- wraps your code as a function call or executes in script mode
- Type (mutually exclusive)
- table|vector
- list
- scalar|verbatim
- file
- table|vector
- Format
code
drawer
html|latex: wrap in a begin_export {either}
link|graphics
org: wrap in a begin_src org
pp: pretty print source code
raw: insert literally in the buffer - Handling
- replace*|silent|none|append|prepend
- replace*|silent|none|append|prepend
- post
- :post
- Post-processes the results of a code block using a call to another code-block
pass comma separated variables to code blocks
Compressed quote:
- a literal value: string between double quotes, or number
- a reference to named data, such as:
- literal example block
- (part of) a #+name:’d table
- (level-1) list «I’m not sure…»
- the results of a named code block
When a reference is made to another code block, the referenced block will be evaluated whenever needed. If the referenced block is cached, its value will be reused if possible, instead of being re-calculated. If the referring code block is cached, its hash value will depend on the value of all the code blocks it references.
- literal example block
- Emacs Lisp code
Look in the manual at the description of what causes header arguments to be interpreted as Emacs Lisp.
Note -- Eric means about ’(…) or (…)
Arbitrary Emacs Lisp can be placed inside of header arguments, and theorg-sbe
take the name of a code block and returns its results. - a subset of a table, given a
[row,column]
index (python-like syntaxis) - a variable in an external file, use the syntax
:var data=<FILE>:<VAR>
.
Note that, in order to work, the files must be in the same directory.
- a literal value: string between double quotes, or number
1.4.2. Reference
1.4.3. Literate Devops
http://www.howardism.org/Technical/Emacs/literate-devops.html
https://github.com/aryabhatiya/devopsorg
How I Keep Track of My Servers
1.4.3.1. Literate DevOps | Hacker News → En contra
1.4.3.2. Ver “Literate Devops with Emacs” en YouTube
1.4.5. https://medium.com/@rtotheohan/emac-s-org-mode-will-improve-your-software-engineering-d7bc2f30a0
1.4.6. Self-modifying org
Automatizar/editar los archivos/directorios con org-babel
BEGIN_SRC para que ejecute cosas que afectan a la estructura de directorios o incluso los propios archivos org
https://twitter.com/junkw/status/932541194130808833
http://eschulte.github.io/org-scraps/ -> Ejemplos de scripts Lo único es que no es dinámico (no sucede mientras cambias los archivos, sino sólo mientras le das a un botón)
Poder ejecutar código en org mode https://orgmode.org/worg/org-contrib/babel/
https://github.com/dfeich/org-babel-examples ejemplos de uso en varios lenguajes
1.4.7. Evaluate elisp code at startup in an org-mode file
https://emacs.stackexchange.com/questions/12938/how-can-i-evaluate-elisp-in-an-orgmode-file-when-it-is-opened
Add a src-block somewhere in your file:
\#+NAME: startup \#+BEGIN_SRC emacs-lisp \(your-code-here) \#+END_SRC
Then, put this at the end of your orgmode-file:
\# Local Variables: \# org-confirm-babel-evaluate: nil \# eval: (progn (org-babel-goto-named-src-block "startup") (org-babel-execute-src-block) (outline-hide-sublevels 1)) \# End:
org-confirm-babel-evaluate: nil
→ emacs will prompt only once for permission to execute all src-blocks in that file
1.4.8. Control de espacio en blanco (whitespace)
Si tienes una línea en blanco se la salta!
https://emacs.stackexchange.com/questions/31738/org-mode-babel-ensure-more-than-one-empty-line-between-tangled-code-blocks-fo
1.4.8.1. Local Variables
Replace all ocurrences of “;; blank” with blank space
There is no way to control blank space AFAIK:
https://emacs.stackexchange.com/questions/31738/org-mode-babel-ensure-more-than-one-empty-line-between-tangled-code-blocks-fo
1.4.9. How to change Org-mode babel tangle write to file way as append instead of override by default? - Emacs Stack Exchange
Si lo exportas todo desde un mismo archivo, te lo hace automáticamente
Así puedo ir ejecutando cosas de distintos sitios y lo junto todo en uno. Lo mismo no me merece la pena? Ver comentarios
Transcluir no me ha funcionado
https://www.reddit.com/r/emacs/comments/azjqdz/way_to_append_the_output_of_multiple_tangled/
https://www.reddit.com/r/orgmode/comments/kmpfpf/adding_tangle_results_to_tangle_file/
1.4.10. Ejemplo de queries org mode
1.4.11. May 2021 emacs async src blocks org babel
1.4.12. Literate programming in a productive environment and team
1.5. org-roam
1.6. org-journal
1.6.1. DONE integrate org-journal-carryover
The TODO states have to be the same in that the org-todo-keywords
1.6.2. Meter en los atajos de teclado un cambio a org-journal-mode en doom.d project someday_20230330
SPC js (journal surround)
Para todos los atajos que uso:
- org-journal-mode
- ejecutar el comando que me interesa
- org-mode
1.6.3. Establecer un flujo de archivar las entradas antiguas de org-journal project someday_20230330
# Archivar todas las notas de cada día en uno: ls . | rg "\d{4}-\d{2}-\d{2}W?" | xargs -I _ /bin/bash -c 'echo -e "\n\n* _" && cat _' >> archive.org # Esto sólo vale para el comando global de emacs: :g/#\+title/delete :g/caldav :work:private/delete :g/#\+filetags/delete :g/#\+setupfile/delete
Se puden configurar en org-journal distintos tipos de archivos en función del nivel de detalle que quiero tener?
Menos nivel de detalle para los más antiguos (por ejemplo todos los más antiguos que el último año juntos)
1.7. org-ql
1.7.1. aprender org-ql learn
1.7.1.1. org-ql y derivados
- org-ql -> Queries on .org files
- mappings
https://github.com/alphapapa/org-ql/blob/88151b7f0022e08b400013eee33a2aba56e333e7/org-ql-view.el#L71-L81
org-ql-view-dispatch, org-ql-view-save → interesantes
- Combinar prioridad y deadline
En task warrior lo hacen, de manera que tareas con deadline más alto pueden aparecer antes que tareas más prioritarias
sort = Prioridad / horas hasta deadline (por ejemplo, ni idea de cómo lo hacen)
- How do you get feedback from your systems? (Queries, org-ql performance, sqlite)
https://www.reddit.com/r/orgmode/comments/oun5ai/how_do_you_get_feedback_from_your_systems/
Queries sobre org mode, comenta alphapapa
- mappings
- org-super-agenda -> Group agenda items with org-ql
- org-sidebar org-ql/org-super-agenda window setups
Poner una query en una distintas ventanas con un split
- org-now sidebar tracking current TODO items
- origami.el fold org-super-agenda groups
- Hacer un org-mode con origami project learn maybe_20230330
Hacer unas agrupaciones estilo origami y pasarlo a un org-mode,para que se puedan abrir desde orgzly
- DONE Configurar origami con org-super-agenda
1.7.1.2. alphapapa/org-ql-config
1.7.2. Hacer Plantillas de las propias queries project someday_20230330
Lo puedo poner con org-capture con la letra “q”, para separar de t
Por ejemplo queries que pertenecen a un mismo proyecto, hacer una plantilla genérica de lo que tengo ahora
También cuando tienes muchos proyectos que son parecidos como cuando empiezas a estudiar una canción
1.7.3. Hacer funciones parciales con lytex/insert-query-links/transclusion project someday_20230330
Hacer una función que acepte los parámetros que org-ql-query fijando el :select, que es más complicado, y poniendo valores por defecto a :where (por ejemplo si ya conoces los archivos porque pertenecen todos a un mismo proyecto)
https://github.com/magnars/dash.el#-cut-rest-params
1.7.4. Utilizar tags del sistema de archivos para agrupar archivos de org project someday_20230330
Crear un grupo de org-super-agenda para que agrupe por esta tag
- Tenerlo todo declarado en un script de bash para poder regenerar las tags cuando sea necesario (sobre todo en otro nuevo ordenador, porque las tags no se sincronizan)
- Idealmente incluso hacer un script que genere un script de bash que genera esas tags (que coja la información del sistema de archivos y la vuelque en un propio script de bash)
(split-string (shell-command-to-string "getfattr --absolute-names -n user.xdg.tags \"/home/julian/org\" | grep 'user.xdg.tags' | sed -E 's/user.xdg.tags=\"([^\"]+)\"/\\1/' | tr -d '\\n'") ",") (split-string (shell-command-to-string (concat "getfattr --absolute-names -n user.xdg.tags 2&>/dev/null \"" (buffer-file-name) "\" | grep 'user.xdg.tags' | sed -E 's/user.xdg.tags=\"([^\"]+)\"/\\1/' | tr -d '\\n'")) ",")
- Quizás para más adelante para proyectos y demás se podría hacer que fuese subiendo de directorio hasta que encuentre la carpeta que tiene .git y aplique al archivo la tag del repo
1.7.5. Hacer Custom predicates de Scheduled/Deadline vs event project maybe_20230330
Por defecto oculta los event, así que no es ya tan prioritario
[ ]
Si no es dinámico, que parece muy complicado, se pueden duplicar las queries y ya está, o definir una variable de org-babel
https://github.com/alphapapa/org-ql/blob/master/examples/defpred.org
Está muy interesante, se puede utilizar para definir un predicado con los TODOs salvo MAYBE,SOMEDAY y similar
Es mejor si es dinámico completamente, de manera que te puedes poner en modo “Trabajo” y que las queries sean sólo de trabajo y viceversa
Como GTD trata el , hacer versiones igual que se hace work/resto con scheduled/deadline
1.7.6. TICKLER Ver si org-ql dynamic blocks ya soporta múltiples archivos track
1.7.7. org-ql y tags, dividir entre las que están en el repo doom.d y las privadas project someday_20230330
Hacer una lista básica de tags genéricas y queries org-ql en .doom.d (try, research, idea, actionable, more-actionable, …)
Estas son las cosas propias del método
Añadir a esa lista con cosas concretas mías en un .org personal en ~/org
Transcluir las cosas de la config en las personales para tener todo en un mismo sitio
1.7.7.1. Mover Meta.org al repo de doom.d project someday_20230330 someday_20230330
1.7.7.2. Autocompletar etiquetas locales y etiquetas globales project someday_20230330 someday_20230330
Esto parece que todavía no lo tiene doom
1.7.8. Hacer un PARA Manual project hold_20230330
1.7.9. Hacer un PARA Automático project hold_20230330
Habrá que cambiar las capturas para que me añadan a el archivo relevante
1.7.10. Diseñar un dashboard project someday_20230330
Inicialmente lo pensé para el trabajo
https://www.reddit.com/r/emacs/comments/jtydiy/who_needs_github_to_manage_a_project_when_you/
Diseñar un dashboard (se lanzará en un src_block de elisp) y ponerlo en Trabajo.org, diviendo en proyectos la pantalla.
También es posible que me haga falta en 0rganización.org, o en 0PARA Index.org
- Asimétrico, configurable
- Un archivo por proyecto, linkado en Trabajo.org
- También hay que tener más visibilidad temporal de qué voy a hacer (Time Blocking) y empezar a meter estimaciones y trackeo de tiempo
Pensar el flujo (utilizar VERFIFY mucho más) y ordenarlos de algún modo
con links - :idea: MAYBE SOMEDAY TICKLER TODO ONGOING ↳BLOCK NEXT↲ VERIFY DONE CANCELLED
- GTD con sus 6 niveles, capítulo 7 para saber cómo organizarlo, capítulo 8 para saber qué tengo que ver
- Mirar cosas de Agustin Bradley + PARA para el diseño
1.7.10.1. A Dashboard for your Life - a minimal goal tracker using org-mode, go and git · The Helpful Hacker
1.7.10.2. Show HN: Flow Dashboard – open-source habit tracker and personal analytics app | Hacker News
1.7.10.3. Links org-mode a búsquedas por tags con Dolphin/baloo project someday_20230330 someday_20230330
1.7.10.4. Links a proyectos y libros project someday_20230330 someday_20230330
- Que te abra con un link .desktop el proyecto en el que estás trabajando
- Que te abra con un link .desktop el pdf en la página en la que estás actualmente, idealmente
1.7.10.5. Org Agenda on your phone project someday_20230330 someday_20230330
- Org Agenda As My New Tab Page (export org-agenda to html) → Exportar org-agenda a html para verlo en el móvil
https://www.reddit.com/r/orgmode/comments/kxj2vp/org_agenda_as_my_new_tab_page/
Estaría bien exportar la agenda para que me saque todas las cosas del trabajo
The heart of this system is a small set of scripts I wrote called agenda-html, which let you export a fully fontified view of the org agenda to HTML without having to open Emacs in a terminal. This means it can be easily scripted.
Los resultados podrían tener dos links: uno a la propia página web y otro a un intent (con el servidor ejecutándose, busca la nota en orgzly)
- Getting org data (agendas, search,etc) from the command line
function org-search -d "send a search string to org-mode" set -l output (/usr/bin/emacsclient -a "" -e "(message \"%s\" (mapconcat #'substring-no-properties \ (mapcar #'org-link-display-format \ (org-ql-query \ :select #'org-get-heading \ :from (org-agenda-files) \ :where (org-ql--query-string-to-sexp \"$argv\"))) \ \" \"))") printf $output end
- Getting org data (agendas, search,etc) from the command line
- Agenda with customized org-habit graph, on my phone : emacs
1.7.10.6. Hacer un dashboard
- Grafana and Org mode : orgmode
- ag91/moldable-emacs: Adapting Emacs for moldable development
- Reportes de tiempo
- Porcentaje de tiempo agrupando por tarea/tags (diagrama de barras y de tarta) desde fecha inicio hasta fecha final
- Bloques de tiempo exacto que le has dedicado a algo (fecha inicio, fecha fin) con toda la cronología
- Diagrama de tiempo por día dedicado a cada tarea/tags
- En todas las agrupaciones por tags que haya un filtro de tags. Así puedes filtrar por tags de un tipo (pej personas) y ver tiempo dedicado a cada persona
- En todas las agrupaciones por tag tiene que haber una jerarquía de tags para que si agrupamos y tenemos dos tags dentro de una misma rama, se puedan ordenar. Así definimos los tipos de cada tag
- Esto es por ejemplo cuando tenemos una tarea que corresponde a trabajo y a un proyecto personal. A la hora de contarlo, aunque valga para las dos cosas por ejemplo prevalece la de trabajo
- En todas las agrupaciones por tags habrá 2 maneras de hacerlo:
- Siguiendo la jerarquía, no se repiten tags de cada tipo. Sólo se considera la de mayor importancia. Los porcentajes suman 100%
- Se repiten tags, de tal manera que hay tareas que se cuentan varias veces, una por cada tag de cada tipo. Los porcentajes puede que sumen más de 100%
- Tiempo dedicado a una tarea dividido por el tiempo que lleva abierta ⇒ nos da un ranking empírico de la prioridad/urgencia que le damos a las tareas.
Es un nuevo campo (agrupable como el resto). Para medir el tiempo en el trabajo habría que tener en cuenta los días laborables
- Que sea el tiempo que le dedicas a una tarea la que te dé la prioridad en vez de apuntar la prioridad que crees que le das, o la que deberías/te gustaría darle.
- Porcentaje de tiempo agrupando por tarea/tags (diagrama de barras y de tarta) desde fecha inicio hasta fecha final
- Grafos de hábitos
Como en Habit Graph Habit Graph Habit Graph, diseñar un grafo de tus hábitos que sea vivo.
Para sacar los pesos, quizás hacer alguna correlación de las series del tiempo que le dedicas a cada hábito a lo largo del tiempo (con más matices que simplemente hacer/no hacer)
Los hábitos conectados suelen ir y venir de la mano
1.7.10.7. Añadir tiempo meteorológico por terminal
curl wttr.in/Collado+Villalba
1.7.11. Configurar la agenda de trabajo para que sólo saque cosas de trabajo project hold_20230330
Sobre todo cosas de Mantenimiento por ejemplo
Esto sólo tiene sentido cuando esté lo de org-ql
Lo ideal es que utiliza WORK_ENV para no tener que hacer dos veces la misma query (y así puedes cambiar de una a otra al vuelo)
Algo así se puede hacer con xor, porque es como darle la vuelta a la condición en función de si está puesto WORK_ENV o no
Funciona si reinicio emacs, cómo hacerlo sin reiniciar??
1.7.11.1. Hacer custom predicate para cosas de trabajo
(org-ql-defpred maybe-work () "Search for properties with tag work if and only if WORK_ENV is activated" :body (xor (not WORK_ENV) (tags "work")))
Cómo recargar un módulo?
https://github.com/hlissner/doom-emacs/issues/1743
(progn (load-library "org-ql") (load-library "org-ql.elc") (load-library "org-ql-view") (load-library "org-ql-view.elc") (load-library "org-ql-autoloads") (load-library "org-ql-search") (load-library "org-ql-search.elc") (load-library "org-ql.info"))
He conseguido que funcione alguna vez, pero no es estable
1.7.12. Coming soonish: taxy-org-ql-search (sort of like an org-super-agenda 2.0) track
1.7.13. Alternatives to org-ql, tradeoffs and such
1.8. org-transclusion
transclusion
https://github.com/nobiot/org-transclusion
https://orgmode.org/manual/Include-Files.html (esto es lo que ya existía en org mode)
1.8.1. Errores antiguos project someday_20230330
1.8.1.1. Arreglar guardar con transclusion
- Si está desactivada la transclusion, para que me haga bien el transclude cuando tengo un link a un archivo como en , entonces guardar, desactivar transclusión y revertir con SPC bo. Así no me rompe la transclusión los links
- Hacer esto sólo si no está activada la transclusión cuando se empieza
- Puedo hacer un match exacto contra el buffer actual de
#+transcludee
[folder/loquesea.html] [loquesea.html]
para decidir si hacer SPC bo o no
1.8.1.2. Probar en una VM las transclusiones sin salto de línea
Si no hay un salto de línea después de la transclusión se une a la línea de después
1.8.1.3. Arreglar colores de transclusión
No se diferencia una cosa de otra, es muy confuso
En la terminal funciona bien curiosamente → Parece que sólo funciona cuando guardo, y funciona de vez en cuando
Lo que sí que funciona siempre es la franja que indica que un elemento está transcluido en otra parte
1.8.1.4. Arreglar indentación (2) de transclusión
Esto puede ser la doble indentación que tengo?
1.8.1.5. Probar en una VM los duplicados
Genera duplicados, así que corro una regex antes de guardar para que me lo quite
Probar si en la VM con sólo doom instalado hace lo mismo
1.8.1.6. Arreglar org mode no exporta a html con transclusión
Me pasa sólo en el ordenador personal, en emacs únicamente
1.8.1.7. Arreglar mapeado en transclusion
No funciona <TAB> cuando estoy en una transclusión, pero sí funciona si me salgo fuera de ella
Hacer que funcione también dentro
1.8.2. Proponer transclusion recursiva project someday_20230330
Puedo hacerlo encima de org-transclusion
Hacer la transclusión recursiva, para exportar cosas como emacs.org.
Pillar los transclude (por regex debería de valer) y resolver el link (asumir que es por id, ahora que org roam va por id) y activar transclusión recursivamente en cada archivo
Esto se podría hacer con un TTL como el de los paquetes IP
Una opción interesante es ir hasta el nivel X como opción de usuario (es lo mismo)
También está interesante detectar los ciclos con un algoritmo
1.8.3. Transitividad
Es transitivo, pero no por defecto. Si C ← B ← A, entonces tienes que activar la transclusión en B primero para que la transclusión en A tenga los contenidos de C
Si no, por defecto A sólo transclude literalmente lo que hay en B
1.8.4. Link para refile con transclusion project someday_20230330
Si lo empiezo a usar también puede estar interesante implementar
pero con transclusión en vez de con links
https://github.com/nobiot/org-transclusion/issues/14
1.8.5. Transcluir bloques de código con treesitter project someday_20230330
Ahora creo que lo puedes hacer por rango de líneas, pero lo ideal sería por query de tree sitter
https://sr.ht/~wintershadows/tsquery/
1.8.6. Transformar un archivo en transclusión para poder editarlo
from orgparse import load # El archivo tiene que tener antes el árbol completo copiado que quieres transcluir file = "mlops_reasonable_scale.org" root = load(file) result = str(root[0]) + "\n" + "\n".join([ f"{'*'*a.level} {a.heading}\n#+transclude: [[id:{a.properties.get('ID')}]] :exclude-elements \"headline\" :only-contents :level {a.level}" for a in root[1:]]) with open(file, "w") as f: print(result, file=f)
También tengo el mismo problema de sincronización que en otros casos
1.8.7. Quitar el contenido del primer link
- Hay una opción para hacer:
\****** [ [ idd:sdfasdf][Heading ] ]
[ [ idd:sdfasdf][Heading ] ]
No funciona porque filtrar el heading con org-transclusion-exclude-elements
filtra todos los headings hijos.
De todas maneras es una buena estructura y se puede usar (más adelante tocar el código de org-transclusion)
Incluso para índices donde no hay ningún headline real viene bien para colapsar en orgzly
con :exclude-elements “headline” :only-contents :level 1 parece que funciona pero sólo para el primero
1.8.8. Rendimiento
1.8.9. [New Package] roam-block: An all-purpose block-ref and block-embed implement in emacs.: emacs
https://www.reddit.com/r/emacs/comments/kltc3y/new_package_roamblock_an_allpurpose_blockref_and/
Parece que usa ids que no serían compatibles con orgzly estilo (asdfas-asdf-asdfasdf)
1.8.10. Se puede hacer un column view de una query transcluida? idea
1.9. org-remark
1.9.1. CANCELLED Hacer un fork de org-remark para que se integre mejor con org-roam v1
Parece más simple el workaround y de todas maneras sólo afecta a org-roam v1
La función org-remark-highlight-save
se llama siempre con argumento (buffer-file-name)
, pero eso hace que con org-roam v1 si tienes una nota fff y creas un xxx-notes, se confunde entre las dos
Se puede hacer algo de manera similar a lo que hace con los archivos, que pueda ser una función y una string, para que llame a ese heading fff-notes
También tiene otra cosa rara que es que pilla el nombre del archivo del heading, hay una asociación rara
1.9.2. Workarounds org-remark con org-roam
Por defecto para un archivo de roam fff te crea un archivo fff-notes.org con un headline fff. Hay que editarle el título para que los distinga org-roam → el título tiene que ser fff notes por ejemplo
1.10. Jupyter notebook con org mode
1.10.1. Replacing Jupyter Notebook with Org Mode
1.10.2. Replacing Jupyter with Orgmode :: Rohit Goswami — Reflections
1.10.3. Utilizar Jupytext
Exportarlos a un markdown, y luego sincronizar de alguna manera esos markdown con org mode (paso extra) con un pre-commit hook con pandoc o algo similar
1.11. org-reveal (Presentaciones)
1.11.1. Configurar bien org-reveal
1.11.1.1. Plugins
tiene la tira. Algunos necesitan lanzarlo desde node lo que explica por qué no me funcionan
https://github.com/christer79/reveal_countdown → este no me ha funcionado
https://github.com/stanleynguyen/reveal-run-in-terminal → este no lo he probado. Se puede editar código en la propia presentación?
En teoría ya está añadido en org-reveal: https://github.com/yjwen/org-reveal#executable-source-blocks
Estoy hay que quitarlo para que no interfiera con el css/js de reveal: #+SETUPFILE: home/julian.doom.d/org-html-themes/org/theme-readtheorg-local.setup
Esto se puede hacer así o por emacs nativo, probablemente soprte más cosas: #+REVEAL_PLUGINS: (highlight)
Esto se lo he tenido que poner para que me quepan muchas cosas por slide: #+REVEAL_INIT_OPTIONS: margin: 0.1, minScale:0.0, maxScale:2.5
Lo que puedes hacer es Ctrl+- en slides en las que tienes muchas cosas y funciona
(setq org-reveal-root "https://cdn.jsdelivr.net/npm/reveal.js") ;; Funciona infinitamente mejor con archivo local, le tienes que pasar la carpeta donde lo clones: #+REVEAL_ROOT: file:///home/julian/.local/share/reveal.js/ ;; git clone https://github.com/hakimel/reveal.js ~/.local/share/reveal.js (add-to-list 'org-structure-template-alist '("n" . "notes" )) ;; → esto no he conseguido que tire, en teoría es así?? En teoría expande <n[TAB] a un #+begin_notes #+end_notes, pero no sé si está utilizando yasnippet, pero ahí no sé meter nuevos snippets
1.11.1.2. Links
- org-reveal
Los links externos funcionan (a otros archivos org-mode)
Los links internos hay que editarlos un poco y ya funcionan:
20230811131106-data_science_standard.html#/slide-ID-7318483c-3eeb-4beb-a969-00f41f8b5c30 → este no funciona
20230811131106-data_science_standard.html#ID-7318483c-3eeb-4beb-a969-00f41f8b5c30 → este ya sí - org-re-reveal
Los links externos me dan error
(wrong-type-argument number-or-marker-p nil) porque lo intenta interpretar como interno
1.12. Diagramas
1.12.1. org-excalidraw: manage excalidraw drawings from org-mode
1.13. pdf con js como medio dinámico? org mode y latex
https://github.com/cornerpirate/JS2PDFInjector
Por ejemplo se me ocurre para hacer diagramas en vez de hacerlos en python, que creo que latex tiene algo de eso
Puedes por ejemplo editar imágenes para recortarlas que viene bien, pero no puedes ejecutar código como sí que puedes con org mode
https://tug.ctan.org/macros/latex/contrib/animate/animate.pdf
https://gitlab.com/agrahn/animate
1.14. Should Notion Be Your Second Brain? | Notetaking App Ratings (ft. Thomas Frank) - YouTube
https://www.youtube.com/watch?v=50hWDN21ZC0
- Search
- Duplicate
DRY applied to notes (transclusion, queries, templates)
Org mode transclusion is lacking in speed and depth (nested transclusion doesn’t work) - Access
Access anywhere (mobile) - Share
Read only sharing (export to HTML)
Permisions, see only a certain subtree per user - Edit
Creating your own text layouts (split vertically, horizontally) is hard in org, maybe with tables? - Upgrade
Scaling from first usage to advanced stuff, Notion is pretty generic so that it scales well - Transfer
No vendor lock-in, good way to export to share also - Link
- Media
Images, videos, handwriting - Metadata
When it was created, who created it, search - Automation
Sync highlights
1.14.1. https://fortelabs.co/blog/the-essential-requirements-for-choosing-a-notes-app-as-your-second-brain/
- Searchability: type in a few characters and see everything that matches, regardless of where it’s located
- Duplication: duplicate your files, either to back them up, or create a new version while retaining the original
- Access anywhere: keep files synchronized across devices, so you can access your files anywhere
- Shareability: share a file with a friend or collaborator without losing your own copy
- Editable: edit or change the content of your files, including the text, the formatting, the structure, and other elements
- Upgradability: add or enhance functionality to your notes over time, as new features come out
- Transferable: content can be moved from one place to another, through copy-and-paste for example
- Linking: you can add clickable links, either to other files, or to external websites
- Multimedia: save a wide variety of kinds of media, including text, images, videos, links, PDFs, and others
- Meta-data: many pieces of data about your notes, such as location, date, device, and size, can be recorded automatically by software
- Automation: certain kinds of content can be captured automatically, such as social media posts, emails, and web bookmarks
1.16. Anyone knows of an emacs package that provides the functionality of codetour?
Extensión en VSCode → puede servir para hacer cosas de organización en vez de código??
https://www.reddit.com/r/emacs/comments/m8q0r7/anyone_knows_of_an_emacs_package_that_provides/
- https://github.com/howardabrams/demo-it → es el de literate devops (se podría utilizar este paquete para hacer cosas de estas)
Guardar una serie de pasos en emacs y luego reproducirlos (parecido a screencast de terminales) - https://github.com/casouri/collab-mode
- https://code.librehq.com/qhong/crdt.el (no tan mantenido)
1.16.1. DONE Gestión de contraseñas con pass
Tiene app de android pass (f-droid) y está pensado para meterte en sistemas remotos
https://www.passwordstore.org/
https://github.com/android-password-store/Android-Password-Store#readme
https://wiki.archlinux.org/index.php/Pass
1.16.1.1. Tutorial pass
gpg --list-secret-keys --keyid-format=long # sec algorithm_or_number/61690A4ABCDFE59C pass init <id de pgp> pass insert secret_name pass secret_name # decrypt with pass gpg -d ~/.password_store/secret_name.gpg # decrypt with gpg