Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to @include Obsidian markdown files from Obsidian Vault (location specified in settings) #4

Open
ejfox opened this issue Nov 26, 2024 · 0 comments

Comments

@ejfox
Copy link
Owner

ejfox commented Nov 26, 2024

As a user, when talking to the robot, I want to @-include one of my notes, and have it be embedded into my chat message.

ejfox added a commit that referenced this issue Nov 26, 2024
Fixes #4

Add ability to @include Obsidian markdown files from Obsidian Vault into chat messages.

* **Obsidian File Search and Integration:**
  * Add fuzzy searching to `searchObsidianFiles` function in `electron/ipc/obsidian.ts`.
  * Ensure `searchObsidianFiles` function returns top 10 results sorted by relevance.
  * Set up file watcher to invalidate cache when files change.
  * Ensure all values are strings and serializable.

* **Settings Modal:**
  * Add UI for selecting and displaying the Obsidian Vault path in `src/components/SettingsModal.vue`.
  * Add logic to handle folder selection and update the store.

* **Chat Message Integration:**
  * Integrate `useObsidianFiles` to fetch and embed notes into chat messages in `src/App.vue`.
  * Add inline preview with TailwindCSS for included notes.
  * Implement collapsible section for note preview using TailwindCSS.
  * Add toggle function for preview expansion.

* **Autocomplete List:**
  * Add `searchQuery` ref and `useDebounce` to debounce the search query in `src/composables/useObsidianFiles.ts`.
  * Implement `searchFiles` function to perform the search using `search-obsidian-files` IPC handler.
  * Watch `debouncedQuery` ref to update search results in real-time.
  * Display search results in the autocomplete list in `src/components/ObsidianMentionPopup.vue`.
  * Style the autocomplete list using TailwindCSS classes.

* **Store Schema:**
  * Add `obsidian-vault-path` to store schema in `electron/main/store.ts`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/ejfox/vulpecula-loom/issues/4?shareId=XXXX-XXXX-XXXX-XXXX).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant