feat(remark): inline mark highlighting, config system, and UX refinements#89
Open
liyuankui wants to merge 1 commit into
Open
feat(remark): inline mark highlighting, config system, and UX refinements#89liyuankui wants to merge 1 commit into
liyuankui wants to merge 1 commit into
Conversation
ac84d13 to
598b103
Compare
Member
598b103 to
19ed13e
Compare
Contributor
Author
|
Done! Added a Remark Mode settings card to the Settings tab. Config changes sync bi-directionally between the popup card and the sidebar panel via |
…e guards V3 refactor: block-level → precise inline <mark> wrapping Highlights: - Inline <mark> wrap with multi-strategy fallback (extractContents + per-node) - Click-to-annotate: click = annotate sentence, selection = annotate selected text - Table cell guard: selection clamped to single cell via selectionchange listener - Config system: ⚙️ panel with highlight style, default color, font size, auto-delete, close-after-copy - Config persistence: chrome.storage.local with localStorage fallback - Close-after-copy: 1s 'Copied!' then 3-2-1 countdown before closing tab - 4 highlight styles: background, underline, wavy, border (deep saturated line colors) - Smooth auto-delete: 3s double-fade animation for empty remarks - Landing pulse on sidebar item when clicking marks - Exit choreography: fade marks before clearing - Structural whitespace marks hidden (ul/ol/table direct children) - Direct DOM manipulation for remove/color-change (no full sidebar re-render) - i18n: all config keys added to 8 locales (en/de/es/fr/ja/ko/zh_CN/zh_TW) Tests: 56/56 passing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
19ed13e to
a2eb756
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Refactors Remark Mode from block-level highlighting to precise inline
<mark>wrapping, adds a full config system, and improves UX with smooth animations.Inline Mark Highlighting (V3)
<mark>elements instead of block-level highlightingextractContentsfor simple ranges, per-text-node wrap for cross-block selections<li>,<td>, etc.ul > mark,ol > mark, etc.)Click-to-Annotate
selectionchangelistener (prevents layout breakage)<li>itemsConfig System (⚙️)
chrome.storage.localwithlocalStoragefallbackUX Improvements
Code Quality
generateHighlightCSS,findSentenceBounds,locateOffsetInNodes,locateSubstringInNodesinremark-utils.tsnpx tsx --test test/remark-mode.test.ts)i18n
All 15 new config keys added to all 28 locales with proper translations (not English fallback).