nix: set up project-wide formatter

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4806c58aa0a17f504c9312723ad770166a6a6964
This commit is contained in:
raf 2026-03-22 23:42:02 +03:00
commit 9e5eb41d39
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
78 changed files with 7406 additions and 2504 deletions

View file

@ -1,35 +1,35 @@
-- V19: Markdown Links (Obsidian-style bidirectional links)
-- Adds support for wikilinks, markdown links, embeds, and backlink tracking
-- Table for storing extracted markdown links
CREATE TABLE IF NOT EXISTS markdown_links (
id TEXT PRIMARY KEY NOT NULL,
source_media_id TEXT NOT NULL,
target_path TEXT NOT NULL, -- raw link target (wikilink or path)
target_media_id TEXT, -- resolved media_id (nullable if unresolved)
link_type TEXT NOT NULL, -- 'wikilink', 'markdown_link', 'embed'
link_text TEXT, -- display text for the link
line_number INTEGER, -- line number in source file
context TEXT, -- surrounding text for preview
created_at TEXT NOT NULL,
FOREIGN KEY (source_media_id) REFERENCES media_items(id) ON DELETE CASCADE,
FOREIGN KEY (target_media_id) REFERENCES media_items(id) ON DELETE SET NULL
id TEXT PRIMARY KEY NOT NULL,
source_media_id TEXT NOT NULL,
target_path TEXT NOT NULL, -- raw link target (wikilink or path)
target_media_id TEXT, -- resolved media_id (nullable if unresolved)
link_type TEXT NOT NULL, -- 'wikilink', 'markdown_link', 'embed'
link_text TEXT, -- display text for the link
line_number INTEGER, -- line number in source file
context TEXT, -- surrounding text for preview
created_at TEXT NOT NULL,
FOREIGN KEY (source_media_id) REFERENCES media_items (id) ON DELETE CASCADE,
FOREIGN KEY (target_media_id) REFERENCES media_items (id) ON DELETE SET NULL
);
-- Index for efficient outgoing link queries (what does this note link to?)
CREATE INDEX idx_links_source ON markdown_links(source_media_id);
CREATE INDEX idx_links_source ON markdown_links (source_media_id);
-- Index for efficient backlink queries (what links to this note?)
CREATE INDEX idx_links_target ON markdown_links(target_media_id);
CREATE INDEX idx_links_target ON markdown_links (target_media_id);
-- Index for path-based resolution (finding unresolved links)
CREATE INDEX idx_links_target_path ON markdown_links(target_path);
CREATE INDEX idx_links_target_path ON markdown_links (target_path);
-- Index for link type filtering
CREATE INDEX idx_links_type ON markdown_links(link_type);
CREATE INDEX idx_links_type ON markdown_links (link_type);
-- Track when links were last extracted from a media item
ALTER TABLE media_items ADD COLUMN links_extracted_at TEXT;
ALTER TABLE media_items
ADD COLUMN links_extracted_at TEXT;
-- Index for finding media items that need link extraction
CREATE INDEX idx_media_links_extracted ON media_items(links_extracted_at);
CREATE INDEX idx_media_links_extracted ON media_items (links_extracted_at);