fix: verstak:// links in preview, case-insensitive search, keyboard layout swap
1. Fix verstak:// links rendered as blocked/strikethrough in markdown preview: - Changed href from 'javascript:void(0)' to hash-based '#verstak-type-id' - DOMPurify no longer strips the link; click handler uses data-verstak-href - CSS already handles .md-link--internal with cyan color, no strikethrough 2. Add markdown label escaping for internal link picker: - New escapeMarkdownLabel() in markdown.ts escapes [ ] ( ) - Applied in InternalLinkPicker.selectResult() before inserting markdown 3. Fix case-insensitive search for RU/EN: - Add title_lower column (migration 019) populated by Go strings.ToLower - BackfillTitleLower() runs after migrations to populate existing rows - Search() now queries title_lower with Go-level lowercase (Unicode-aware) - insertNode() and UpdateTitle() populate title_lower automatically - New migration 019 + BackfillTitleLower in storage.go - Tests: TestSearchCaseInsensitive, TestSearchFindsCreatedNode 4. Add keyboard layout swap search support: - New keyboardLayout.ts utility with RU↔EN QWERTY mapping - expandKeyboardVariants() generates original + swapped + lowercased variants - InternalLinkPicker.search() queries all variants in parallel, deduplicates by ID - Examples: dthcnfr → верстак, руддщ → hello Files changed: - markdown.ts: hash href + escapeMarkdownLabel export - InternalLinkPicker.svelte: label escaping + layout swap search - keyboardLayout.ts: new RU/EN layout swap utility - repository.go: title_lower in Search/insertNode/UpdateTitle - storage.go: migration019 + BackfillTitleLower - migrations_019.sql.go: new migration - search_test.go, repository_test.go: new tests
This commit is contained in:
+24
-24
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@
|
||||
background: #13131f;
|
||||
}
|
||||
</style>
|
||||
<script type="module" crossorigin src="/assets/main-C5mYAmha.js"></script>
|
||||
<script type="module" crossorigin src="/assets/main-Dn9NERfF.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/main-bQpH1es2.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user