Files
memex/system/skills/OrgMode.org

42 lines
2.1 KiB
Org Mode

#+TITLE: SKILL: Org-Mode & Org-Roam (Technical Implementation)
#+author: Amero Garcia
#+created: [2026-03-16 Mon 14:28]
#+ID: skill-org-mode
#+DATE: 2026-03-11
#+STARTUP: content
* Philosophy
Plain text is forever. Structure is metadata. Everything is a node.
* Technical Implementation
** 1. Document Structure
- *Headlines:* Use `*` for top-level, `**` for second-level, etc.
- *Properties:* Every node (headline) that is intended to be an atomic note must have a `:PROPERTIES:` drawer.
- *Unique IDs:* Use `:ID:` for Org-roam style linking (e.g., `:ID: 550e8400-e29b-41d4-a716-446655440000`).
- *Dates:* Use `[YYYY-MM-DD Day HH:MM]` for inactive timestamps and `<YYYY-MM-DD Day HH:MM>` for active/scheduled ones.
** 2. Task Management (GTD)
- *Hub:* Use `memex/gtd.org` for all TODOs, Projects, and Habits.
- *Statuses:* `TODO`, `DOING`, `DONE` (with `CLOSED:`), `WAITING`, `SOMEDAY`.
** 3. File Naming
- *Daily & Fleeting:* `memex/1_daily/YYYY-MM-DD.org`
- *Atomic Notes:* `memex/2_notes/slug-of-the-concept.org`
- *Projects:* `memex/5_projects/ProjectName/SPEC.org`
** 4. Code Blocks
- Use `#+BEGIN_SRC <language>` and `#+END_SRC` for all code snippets.
- Use `#+RESULTS:` to capture output when running code within Org-mode (Babel).
** 6. Binary Management (org-attach)
- **Philosophy:** Treat binaries (PDFs, images, data) as first-class citizens linked to symbolic nodes. Never use fragile local file paths.
- **The Protocol (System 2):**
1. **Identify the Host Node:** Every attachment must be linked to a specific Org headline (e.g., in `memex/gtd.org` or a Literature Note).
2. **Generate Native ID:** Use `(org-id-get-create)` via Emacs to ensure the node has a globally unique, persistent identifier.
3. **Perform the Attachment:** Use `(org-attach-attach "/path/to/file" nil 'mv)` to move the file into the ID-based storage.
4. **Linking:** Use `[[attachment:filename.ext]]` for all internal references. This ensures the link survives if the file or node is moved.
- **Storage Root:** The system-wide attachment directory is `$MEMEX_ATTACHMENTS` (typically `memex/7_resources/` or `memex/attachments/`).
** 7. Learning Rituals (Closing the Loop)