Commit graph

77 commits

Author SHA1 Message Date
Filip Noetzel
1218efd3aa Add support for full-only rating symbols like 🎥
- Added fullOnly flag to SymbolSet interface
- Added 10 new full-only symbols (🎥, 🏆, , 💎, 🔥, , 🎯, 🚀, 💰, 🎖️)
- Visual: rated symbols full color, unrated grey 50% opacity
- Disk: only rated symbols saved (e.g., 🎥🎥🎥 (3/5))
- No 0 ratings, no half ratings for full-only symbols
- Updated CSS, tests, and documentation

Refactor full-only symbols: auto-detect, show denominator count, require rating text

- Remove fullOnly flag, auto-detect with isFullOnlySymbol()
- Visual: show denominator count (numerator color, rest grey)  
- Require rating text for denominator info
- Disk: save only rated symbols
- Updated docs and tests

Clarify and verify full-only symbol visual behavior

- Added debug test files to verify expected behavior
- Confirmed visual display always shows denominator count symbols
- Rated symbols in full color, unrated in grey 50% opacity
- Implementation already correct: displaySymbolCount uses denominator
- Added debug logging capability for troubleshooting
2025-06-09 22:54:41 +02:00
Filip Noetzel
014446d672 Add support for colored hearts
- Add red hearts (❤️/🤍)
- Add orange, yellow, green, blue, purple, black, and brown hearts
- All heart patterns use white heart (🤍) as empty symbol
- No half-heart support (half: null) for all heart patterns

Add heart rating examples to README
2025-06-09 21:28:59 +02:00
Filip Noetzel
a792713e3c Add moon phase emoji symbol set (🌕🌑🌗) with Unicode-aware parsing support
Fix multibyte emoji handling: replace pattern.length with Unicode-aware length calculation and fix regex generation for emojis

Fix emoji rating text parsing by converting UTF-16 positions to Unicode positions
2025-06-09 21:04:54 +02:00
Filip Noetzel
22b4fbd9d4 Add missing Star Symbols (✦/✧) to README documentation table 2025-06-09 14:03:45 +02:00
Filip Noetzel
b86ba20f2d Bump version: 1.0.3 → 1.0.4 2025-06-09 09:41:24 +02:00
Filip Noetzel
c3abe0f9ee Update rating widget to use symbol count as denominator
- Modified previewRating() to show updated denominator during hover
- Modified updateRating() to save the symbol count as the new denominator
- When clicking on ●●●●●●●◐ (7.5/23), it now updates to (7.5/8) instead of keeping 23
- Enhanced logging to track old vs new denominators
2025-06-09 09:38:06 +02:00
Filip Noetzel
4b4cef482c Remove all visual indicators, margins, borders while keeping CSS classes and cursor pointer functionality 2025-06-09 09:38:06 +02:00
Filip Noetzel
0a65dbba48 Implement cursor-based widget toggle for editable ratings
- Add cursor position tracking to ViewPlugin update method
- Skip widget creation when cursor is within 1 character of rating
- Allows normal text editing when cursor is near ratings
- Automatically restores widgets when cursor moves away
- Enhanced debug logging for cursor proximity detection
2025-06-09 08:37:27 +02:00
Filip Noetzel
1c929aff48 Add support for ✦✧✧ symbols
Fixes #2.
2025-06-08 10:45:54 +02:00
Filip Noetzel
4a5e7d65f8 Remove support for editing ratings in reading mode - make widgets display-only while keeping edit mode interactive
Remove all reading mode support - edit mode only plugin

- Deleted markdown-postprocessor.ts (reading mode widgets)
- Deleted inline-rating-widget.ts (reading mode custom elements)  
- Updated plugin to only register editor extension
- Cleaned CSS to only include editor widget styles
- Updated README to clarify edit-mode-only functionality
- Bundle size reduced from 24.1kb to 16.1kb
2025-06-08 10:45:54 +02:00
Filip Noetzel
f7aa86a5bb Add half-symbol support to CodeMirror implementation
- Enhanced editor widget with click position detection for half vs full symbols
- Added hover preview with proper half-symbol rendering  
- Expanded symbol patterns with more half-symbol definitions
- Improved CSS styling with visual feedback for half-symbol interactions
- Added comprehensive test file with examples
2025-06-08 10:45:54 +02:00
Filip Noetzel
a8b30bea88 Add CodeMirror editor extension to make ratings interactive in editing mode 2025-06-08 10:45:54 +02:00
Filip Noetzel
cedf7c01da Add build-time LOGGING_ENABLED environment variable support
- Modified esbuild.config.js to read LOGGING_ENABLED from environment and pass as define option
- Updated src/constants.ts to use process.env.LOGGING_ENABLED instead of hardcoded value
- Added 'npm run build-debug' script to package.json for debug builds
- Logging is now controlled at build time via environment variable, simplifying the debug workflow
2025-06-08 10:45:54 +02:00
Filip Noetzel
68ed60976c setup codemcp.toml 2025-06-08 10:45:54 +02:00
Filip Noetzel
45883a0d13 Bump version: 1.0.2 → 1.0.3 2025-04-02 17:40:47 +02:00
Filip Noetzel
bc8ea924b8 refactor: move static CSS to styles.css file
move all the static css (not the one calculated at runtime) to the styles.css file

```git-revs
77478de  (Base revision)
5b3d66e  Remove static CSS from ratings-overlay.ts and only keep dynamic styles
142a142  Remove static CSS from symbol span elements
c72fd23  Update the overlay CSS with static styles that were previously in JS
HEAD     Update symbol styles with static styles that were previously in JS
```

codemcp-id: 52-refactor-move-static-css-to-styles-css-file
2025-04-02 17:26:00 +02:00
Filip Noetzel
14d26a8407 Bump version: 1.0.1 → 1.0.2 2025-03-31 23:28:29 +02:00
Filip Noetzel
3bc6716932 fix: prevent cursor movement and document repositioning on iOS 2025-03-31 22:22:55 +02:00
Filip Noetzel
4934b52f18 refactor: use Pointer Events API 2025-03-31 22:22:55 +02:00
Filip Noetzel
692f6604a0 refactor: split InteractiveRatingsPlugin.ts into smaller files 2025-03-31 22:05:59 +02:00
Filip Noetzel
ab2cf72872 move source to src/*.ts 2025-03-31 22:05:59 +02:00
Filip Noetzel
9288489f38 feat: use esbuild for greating a single output file named main.js 2025-03-31 22:05:59 +02:00
Filip Noetzel
667fddb168 move plugin to new file 2025-03-31 22:05:59 +02:00
Filip Noetzel
9f90330a4d add logging
refactor: replace logging function with console equivalent

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
fda9780  (Base revision)
HEAD     Replace info function with direct console.info equivalent
```

codemcp-id: 22-refactor-replace-logging-function-with-console-equ

refactor: inline first non-inlined logging function

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
4d561d9  (Base revision)
HEAD     Replacing debug() call with direct console.debug() wrapped in LOGGING_ENABLED check
```

codemcp-id: 23-refactor-inline-first-non-inlined-logging-function

refactor: replace a logging function with console equivalent

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
8569718  (Base revision)
HEAD     Replace groupStart() call with console.group() wrapped in LOGGING_ENABLED check
```

codemcp-id: 24-refactor-replace-a-logging-function-with-console-e

refactor: inline logging function with console equivalent

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
9629d22  (Base revision)
HEAD     Replace groupStart with direct console.group equivalent
```

codemcp-id: 25-refactor-inline-logging-function-with-console-equi

refactor: inline first logging function in main.ts

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
53e6cf8  (Base revision)
76c08a6  Replace info() call with console.info() wrapped in LOGGING_ENABLED check
HEAD     Remove extra semicolon after the if block
```

codemcp-id: 27-refactor-inline-first-logging-function-in-main-ts

more manual logging refactorings
refactor: replace logging function with console equivalent

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
65d7329  (Base revision)
fc545f8  Replace direct debug() call with console.debug() wrapped in LOGGING_ENABLED check
HEAD     Fix extra semicolon after the closing curly brace
```

codemcp-id: 29-refactor-replace-logging-function-with-console-equ

refactor: replace logging function with console equivalent

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
d4c3874  (Base revision)
HEAD     Replace info() with console.info() wrapped in LOGGING_ENABLED check
```

codemcp-id: 30-refactor-replace-logging-function-with-console-equ

refactor: inline logging functions in main.ts

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
0768506  (Base revision)
HEAD     Replace debug() function call with inlined console.debug() equivalent
```

codemcp-id: 31-refactor-inline-logging-functions-in-main-ts

more console.groupEnd()
refactor: inline first non-inlined logging function in main.ts

In main.ts, find the first usage of a logging function (log, warn, error, debug, info, groupStart, groupEnd) that hasn't already been inlined, and replace it with the direct console equivalent.

```git-revs
02a61c7  (Base revision)
HEAD     Replace debug() call with direct console.debug with proper logging format and conditional
```

codemcp-id: 32-refactor-inline-first-non-inlined-logging-function

remove centralized logging utility
remove unused code
2025-03-31 22:05:37 +02:00
Filip Noetzel
b53e7bc760 First, remove all existing overlays 2025-03-21 08:38:31 +01:00
Filip Noetzel
bf9bd56c78 fix supportsHalf type: boolean 2025-03-21 08:32:52 +01:00
Filip Noetzel
caed29208a add focus to selected overlay 2025-03-21 08:21:56 +01:00
Filip Noetzel
dfffdef3ee touch scrubbing interface should limit at maximum 2025-03-21 08:16:12 +01:00
Filip Noetzel
7194c97abb fix styles on mobile 2025-03-21 08:15:02 +01:00
Filip Noetzel
b156b7cbc0 isDesktopOnly: false 2025-03-21 08:15:02 +01:00
Filip Noetzel
ee27475e1c initial mobile support 2025-03-21 08:15:02 +01:00
Filip Noetzel
09241df5cf Bump version: 1.0.0 → 1.0.1 2025-03-20 07:43:24 +01:00
Filip Noetzel
e6c5a575b9 add bumpversion config 2025-03-20 07:41:30 +01:00
Filip Noetzel
04c365c231 re-enable npm build for github actions 2025-03-20 07:01:23 +01:00
Filip Noetzel
fb397b1da3 remove console.log as per plugin guidelines 2025-03-20 07:00:34 +01:00
Filip Noetzel
182457e7cf fix typescript 2025-03-20 06:59:03 +01:00
Filip Noetzel
804ccd2d10 move to typescript 2025-03-20 06:59:03 +01:00
Filip Noetzel
72b8fa032d add package.json 2025-03-20 06:37:45 +01:00
Filip Noetzel
b9ef87ec2f fix resolution of screencast gif in README 2025-03-20 06:36:31 +01:00
Filip Noetzel
d529d7e99e isDesktopOnly: true (for now) 2025-03-18 16:38:25 +01:00
Filip Noetzel
7b1c6cc29f use styles.css instead 2025-03-18 15:01:31 +01:00
Filip Noetzel
bb6f028b53 don't npm build 2025-03-18 12:58:49 +01:00
Filip Noetzel
a1251b3b5c add github release action 2025-03-17 18:01:39 +01:00
Filip Noetzel
be0827ab97 merge github generated project with local development 2025-03-17 17:50:40 +01:00
Filip Noetzel
a37d80323a
Initial commit 2025-03-17 17:35:08 +01:00
Filip Noetzel
729dcb20b0 add README + screencast 2025-03-17 17:30:05 +01:00
Filip Noetzel
8aff23ec9b more s/star/symbol/ 2025-03-17 17:30:05 +01:00
Filip Noetzel
3ba73759d7 more s/Star/Symbol/ 2025-03-17 17:30:05 +01:00
Filip Noetzel
cb9f9fb81b update manifest to new name 2025-03-17 17:30:05 +01:00
Filip Noetzel
88e5815844 starOverlay → ratingsOverlay 2025-03-17 17:30:05 +01:00