feat(editor): add note linking and backlinks #31
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Adds bi-directional note linking with
[[note]]syntax and backlinks panel to the editor.Problem
Users couldn't connect notes together to build a knowledge graph. Unlike tools like Obsidian or Roam, there was no way to:
Solution
Note Linking
[[trigger - Type[[to open note search popup[[trigger with unique plugin key to avoid conflicts with slash commandsBacklinks Panel
UI Integration
/Link to Noteinserts[[to trigger searchTechnical Details
NoteLink.ts: TipTap Node extension withdata-type="noteLink"anddata-note-idattributesNoteLinkSuggestion.ts: Extension with customPluginKeyto coexist with SlashCommandsnoteLinkUtils.ts: Separated helper function to satisfy ESLint fast-refresh ruleuseBacklinks.ts: Parses HTML content to extract note IDs via regex, computes incoming/outgoing linksBacklinksPanel.tsx: Collapsible panel with navigation buttonsuseNotes.ts: AddedallNotesexport for unfiltered note accesslayout.ts: ExtendedEditorPropswithnotesandonSelectNoteTesting
[[triggers note search popup/Link to Noteworks