aboutsummaryrefslogtreecommitdiff
path: root/modules/org-roam-config.el
Commit message (Collapse)AuthorAgeFilesLines
* fix(org-roam): bind dailies keys after keymap existsCraig Jennings2026-01-241-9/+5
|
* feat(calendar-sync): Add automatic timezone detection and chronological sortingCraig Jennings2025-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implemented calendar-sync.el as a complete replacement for org-gcal, featuring: **Core Functionality:** - One-way sync from Google Calendar to Org (via .ics URL) - UTC to local timezone conversion for all event timestamps - Chronological event sorting (past → present → future) - Non-blocking sync using curl (works reliably in daemon mode) **Automatic Timezone Detection:** - Detects timezone changes when traveling between timezones - Tracks timezone offset in seconds (-21600 for CST, -28800 for PST, etc.) - Triggers automatic re-sync when timezone changes detected - Shows informative messages: "Timezone change detected (UTC-6 → UTC-8)" **State Persistence:** - Saves sync state to ~/.emacs.d/data/calendar-sync-state.el - Persists timezone and last sync time across Emacs sessions - Enables detection even after closing Emacs before traveling **User Features:** - Interactive commands: calendar-sync-now, calendar-sync-start/stop - Keybindings: C-; g s (sync), C-; g a (start auto-sync), C-; g x (stop) - Optional auto-sync every 15 minutes (disabled by default) - Clear status messages for all operations **Code Quality:** - Comprehensive test coverage: 51 ERT tests (100% passing) - Refactored UTC conversion into separate function - Clean separation of concerns (parsing, conversion, formatting, sorting) - Well-documented with timezone behavior guide and changelog **Migration:** - Removed org-gcal-config.el (archived in modules/archived/) - Updated init.el to use calendar-sync - Moved gcal.org to .emacs.d/data/ for machine-independent syncing - Removed org-gcal appointment capture template Files modified: modules/calendar-sync.el:442, tests/test-calendar-sync.el:577 Files created: data/calendar-sync-state.el, tests/testutil-calendar-sync.el Documentation: docs/calendar-sync-timezones.md, docs/calendar-sync-changelog.md
* wip:org-roam: first pass at consult-org-roam, but disabledCraig Jennings2025-11-011-0/+30
|
* chore:org-roam: Defer org-roam package loading by 1 secondCraig Jennings2025-10-281-0/+1
| | | | | | | This change defers the loading of the org-roam package by 1 second. This is a workaround to org-roam not loading soon enough after launch to have created the necessary capture templates. I'll fix that in an upcoming org-roam refactor session.
* feat:which-key: Add descriptive labels for custom keymapsCraig Jennings2025-10-271-1/+17
| | | | | | | | | | | | Enhance which-key integration by providing detailed descriptions for new key bindings across multiple modules. This improves the usability of custom keymaps by clarifying the purpose of each keybinding, making it easier for users to navigate and understand different menus and options available within the configuration. This update ensures that all custom keymaps now display a descriptive label in the which-key popup to explain their functionality, aiding users in identifying keymap purposes promptly.
* feat:org-roam-config: Add new utilities and testsCraig Jennings2025-10-261-31/+57
| | | | | | | | | | Introduce several utility functions for org-roam configuration, including `cj/--generate-roam-slug`, `cj/--demote-org-subtree`, and `cj/--format-roam-node`. These enhance title-to-slug conversion, subtree demotion, and node file formatting. Additionally, include comprehensive test cases for these functions to ensure correctness and reliability in various scenarios.
* fix:org-roam: copy completed tasks to dailies on state transitionsCraig Jennings2025-10-261-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | Fixed and enhanced the org-roam hook that copies completed tasks to daily notes: - Fixed hook not triggering immediately after Emacs launch by moving it outside the lazy-loaded use-package org-roam :config block and into with-eval-after-load 'org - Changed hook to trigger for ANY org-done-keyword (DONE, CANCELLED, etc.) instead of just "DONE" - Updated hook to only trigger on non-done → done transitions using org-last-state, preventing duplicate copies when changing between done states (e.g., DONE → CANCELLED) - Added docstrings to org-roam helper functions to fix checkdoc linter warnings - Created comprehensive ERT test suite with 10 tests covering: * Hook registration before org-roam loads (lazy-loading fix) * Transitions to done states (nil→DONE, TODO→DONE, IN-PROGRESS→DONE, WAITING→CANCELLED) * Non-triggering cases (done→done, transitions to non-done states)
* refactor:org-modules: Improve org-mode configurationCraig Jennings2025-10-231-5/+5
| | | | | | | | Remove redundant declarations and reorganize settings for clarity. Centralize org-mode customizations and use `use-package` for streamlined loading and configuration. Remove backward-compatible safeguards and reduce inline comments for cleaner code. Optimize key mappings and simplify the setup of org-related packages.
* maint: org-roam: moved org-branch-to-org-roam-node from webclipperCraig Jennings2025-10-181-7/+95
|
* changing repositoriesCraig Jennings2025-10-121-0/+178