feat: add Obsidian-style graph visualization
Implement force-directed graph view for visualizing note connections:
- Add graph data model parsing [[wiki-style links]]
- Implement Fruchterman-Reingold layout algorithm
- Create character-based canvas renderer with highlights
- Add interactive filtering by tag/folder
- Support navigation (h/j/k/l), zoom (+/-), and node selection
- New commands: :IdeaGraph, :IdeaGraphFilter
New files:
- lua/ideaDrop/ui/graph/{init,types,data,layout,renderer}.lua
Updated documentation in README.md, CHANGELOG.md, and llms.txt
This commit is contained in:
@@ -9,9 +9,12 @@ function M.setup()
|
||||
|
||||
-- Example: Quick access to ideaDrop commands
|
||||
-- vim.keymap.set("n", "<leader>id", ":IdeaRight<CR>", { desc = "Open today's idea" })
|
||||
-- vim.keymap.set("n", "<leader>in", ":IdeaRight ", { desc = "Open named idea" })
|
||||
-- vim.keymap.set("n", "<leader>it", ":IdeaTree<CR>", { desc = "Open idea tree" })
|
||||
-- vim.keymap.set("n", "<leader>is", ":IdeaSearch ", { desc = "Search ideas" })
|
||||
-- vim.keymap.set("n", "<leader>it", ":IdeaTags<CR>", { desc = "Browse tags" })
|
||||
-- vim.keymap.set("n", "<leader>ig", ":IdeaTags<CR>", { desc = "Browse tags" })
|
||||
-- vim.keymap.set("n", "<leader>if", ":Idea<CR>", { desc = "Open today's idea in float" })
|
||||
-- vim.keymap.set("n", "<leader>iG", ":IdeaGraph<CR>", { desc = "Open graph visualization" })
|
||||
|
||||
-- Note: Keymaps are commented out by default to avoid conflicts
|
||||
-- Users can uncomment and customize these in their config
|
||||
|
||||
Reference in New Issue
Block a user