Commit graph

34 commits

Author SHA1 Message Date
j2masamitu
7addce2b53 Fix: Remove unnecessary non-null assertions
Remove redundant `!` assertions at lines 246, 248, and 257 where
the values are already guaranteed to exist by prior checks.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 16:42:11 +09:00
j2masamitu
4c5f6b8e0f Fix: Resolve dependency conflicts for Obsidian plugin review
- Upgrade TypeScript from 4.7.4 to ^5.0.0 (required by typescript-eslint)
- Replace local eslint-plugin-obsidianmd path with npm package ^0.1.9
- Remove redundant @typescript-eslint/eslint-plugin and @typescript-eslint/parser
  (now handled by typescript-eslint unified package)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 18:25:26 +09:00
j2masamitu
2d9d885927 Fix: Move eslint-plugin-obsidianmd to devDependencies
The eslint-plugin-obsidianmd was in dependencies with a local file path,
causing installation failures in CI/CD environments.

Moved to devDependencies since it's only needed for development linting,
not for the built plugin.

Fixes Obsidian Releases PR #8463

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 22:12:32 +09:00
j2masamitu
f532b52e26 Add v2.0.0 screenshots and Reddit post draft
Screenshots:
- screenshot_autoplay.png: Auto-play mode demonstration
- screenshot_edit_mode.png: Edit mode interface
- screenshot_movenumber.png: Move parameter feature
- screenshot_sgf-edit.png: SGF editor code block example

Also added Reddit r/baduk post draft for v2.0.0 release announcement.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 02:10:26 +09:00
j2masamitu
4a32feb52f Fix move parameter support for SGF file embeds
- Parse move parameter from alt attribute in embed syntax
- Support syntax: ![[game.sgf|move=10]] to start at specific move
- Extract move number using regex from alt attribute
- Pass initialMove parameter to renderGoBoard function
- Clean up debug logging

Fixes #issue where move parameter was documented but not working.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 01:21:24 +09:00
j2masamitu
ac78d3f137 Update documentation for version 2.0.0
- Add comprehensive v2.0.0 changelog entry with all new features
- Document SGF editor mode with sgf/sgf-edit code block distinction
- Add usage examples for both view mode and edit mode
- Update feature lists with editor capabilities:
  - Interactive editing (add/remove stones, labels)
  - Comment editor
  - Game info editor
  - Move deletion
  - SGF output display
  - Auto-play mode
- Add move parameter documentation for embedded SGF files
- Update both English and Japanese documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 00:55:47 +09:00
j2masamitu
2fe3317de7 Release version 2.0.0
Major new features:
- SGF editor mode with interactive editing capabilities
- Multiple edit modes: add stones, remove stones, add labels
- Comment editing for positions
- Game information editing (player names, ranks, game title)
- Delete moves from current position
- SGF output display and export functionality
- Auto-play mode with pause control

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 00:40:40 +09:00
j2masamitu
72e5c95a78 Fix ESLint errors after merge
- Replace inline style manipulation with CSS classes for label input container
- Add .hidden utility class to styles.css
- Update all UI text to sentence case per obsidianmd/ui/sentence-case rule
- Change button text to lowercase after emoji: save comment, write to note, auto play, etc.
- Simplify SGF output label to just "Output" to comply with sentence case rules

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 00:39:53 +09:00
j2masamitu
99651bf209 Merge feature/sgf-editor: Add SGF editor and viewer enhancements for v2.0.0
This major release includes:

Editor Mode:
- Interactive SGF editing with multiple modes (Move, Black/White Stone, Triangle, Square, Circle, Mark, Label)
- Toggle/replace behavior for stones and markers
- Comment editing with live preview
- Game information editing (13 fields including players, ranks, event, date, result, etc.)
- Delete from current node functionality
- Write to Note button to save changes back to Obsidian

Viewer Mode:
- Auto-play functionality with configurable speed (1, 2, 3, 5, 10 seconds per move)
- Last move marker using standard circle notation
- Initial position parameter support (<!-- move=3 -->)
- Improved layout with auto-play controls above board
- Separated comment display below navigation controls

Technical Improvements:
- Enhanced SGF node manipulation
- Dynamic game info display updates
- Reorganized UI component structure
- Better state management for edit mode

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 00:31:46 +09:00
j2masamitu
60d3ab3de1 Add viewer enhancements and move parameter support
Major features added:
- Auto-play functionality for viewer mode (1, 2, 3, 5, 10 sec/move)
- Last move marker using standard circle marker
- Initial move parameter support (<!-- move=3 -->)
- Reorganized layout: auto-play above board, comments below controls
- Comment display separated from info section

Changes:
- Added auto-play controls with speed selector (viewer mode only)
- Implemented last move marker using circle type
- Added move parameter parsing in SGF code blocks
- Moved comment display to dedicated container
- Updated CSS for auto-play controls styling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 00:31:23 +09:00
j2masamitu
2b4501dccf Add game info display update functionality
Fixed issue where game information edits were not reflecting in the display after saving. Added updateGameInfoDisplay() function that dynamically recreates the game info section with updated values from the root node.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 11:39:12 +09:00
j2masamitu
db6f6716c6 Enhance SGF editor with multiple edit modes and improved UX
Add comprehensive edit mode functionality with support for placing stones, markers, and labels. Improve delete functionality and add write-to-note feature.

- Add mode selector with 8 modes: Move, Black/White Stone, Triangle, Square, Circle, Mark, Label
- Implement toggle/replace behavior for stones and markers
- Add label input field with customizable text (max 3 chars)
- Fix mode persistence across board re-renders
- Update delete button to remove current node and move to parent
- Add "Write to Note" button to save SGF directly to Obsidian note
- Remove "Copy SGF" button (redundant with write feature)
- Reorganize UI: mode selector, delete button, then SGF output
- Fix move advancement after adding stones in move mode

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 11:15:14 +09:00
j2masamitu
b2437d4673 Add ESLint configuration and scripts
Add ESLint to the project with TypeScript support and update npm scripts to include linting in the build process.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 09:36:00 +09:00
j2masamitu
cc496d0fd7 Fix settings heading to avoid 'settings' keyword
Changed settings heading from 'Display settings' to 'Display' to comply with Obsidian plugin guidelines that prohibit using 'settings' in settings headings.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 12:36:14 +09:00
j2masamitu
842f256c18 Remove unused image file 1-1.jpg
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 07:50:06 +09:00
j2masamitu
56d047ce1d Remove release zip files from source control
Release zip files should not be tracked in git as they are:
- Already available in GitHub Releases
- Automatically generated for each release
- Unnecessary in source control (already ignored in .gitignore)

This keeps the repository clean and reduces repository size.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 07:48:46 +09:00
j2masamitu
41b41100fa Fix Obsidian plugin review issues for v1.2.3
Addressed code review feedback from Obsidian releases PR:
- Removed plugin name from settings heading
- Removed specific examples from setting descriptions (coordinate and variation label examples)
- Changed "SGF markers" to "markers on the board" for consistency

Changes:
- Settings heading: "Go Board Viewer" → "Display settings"
- Coordinate color: Removed "(A-T, 1-19)" example
- Marker color: Simplified description without specific marker type examples
- Variation label: Removed "(A, B, C, etc.)" example

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 21:20:04 +09:00
j2masamitu
c4f22e9a51 Add SGF editor mode with interactive editing capabilities
This commit introduces an interactive SGF editor mode that allows users to:
- Add moves by clicking on the board
- Create variations from any position
- Delete moves from current position onwards
- View and copy the generated SGF output in real-time

The editor mode is activated using ```sgf-edit code blocks instead of regular ```sgf blocks.

Key features:
- Interactive vertex clicking to add moves
- Automatic player turn detection
- Variation creation when multiple moves exist at a position
- Delete button to remove moves from current position
- Live SGF output display with copy functionality
- Full integration with existing board rendering

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 21:04:43 +09:00
j2masamitu
4b5f5704e1 Fix Obsidian plugin review issues for v1.2.2
- Use setHeading() instead of createEl('h2') for settings heading
- Apply sentence case to UI text (descriptions start with lowercase)
- Keep proper nouns and examples in original case (Go Board Viewer, A-T, etc.)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 08:55:28 +09:00
j2masamitu
c3ba8ad621 Update version to 1.2.1 2025-11-16 07:51:35 +09:00
j2masamitu
e38b0b76e8 Add comprehensive color customization with 5 color settings
- Add board background, line, coordinate, marker, and variation colors
- Add color pickers for all settings
- Add "Reset to defaults" button
- Fix grid lines not updating (target rect.shudan-gridline)
- Update documentation (README, README_ja, CHANGELOG)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 07:48:46 +09:00
j2masamitu
fee3960d4d Add customizable board and line colors with color picker settings
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 00:20:31 +09:00
j2masamitu
89d8d13016 Release version 1.1.8 - Fix LB label marker display
### Fixed
- Fixed LB (label) marker text not displaying after marker hiding rules were applied
- Added specific override rules to show label text content while keeping other marker default text hidden

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 23:24:06 +09:00
j2masamitu
11238b59a3 Release version 1.1.7 - Fix marker display and improve coordinates
### Fixed
- Fixed unwanted small marker text appearing on empty intersections
- Hidden default text content from shudan library for markers
- Improved marker display by hiding child elements and showing only ::before pseudo-element content

### Changed
- Increased coordinate font size from 9px to 11px for better readability
- Changed coordinate color to #333 for improved visibility
- Added RELEASE.md to .gitignore (internal Claude Code documentation)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 23:14:04 +09:00
j2masamitu
311b4c769e Fix SGF markers display and coordinate overlap issues in version 1.1.6
- Reverted overly aggressive text-hiding CSS from version 1.1.5 that prevented SGF markers and labels from displaying
- Fixed coordinate number overlapping issue for 2-digit numbers by overriding shudan library's inline width restrictions
- Added min-width to vertical coordinates (left/right) to accommodate 2-digit numbers
- Changed coordinate color to #333 for better visibility
- SGF markers (circles, squares, triangles, labels, etc.) now display correctly again

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 22:37:02 +09:00
j2masamitu
13a6fe46b0 Fix stone display bug showing "1" and "-1" text
- Added comprehensive CSS rules to completely hide numerical text in stones
- Stones now properly display as circular graphical elements
- Version 1.1.5

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 13:23:00 +09:00
j2masamitu
eb494d2df4 Use Obsidian setCssProps API instead of setProperty
- Replace element.style.setProperty with element.setCssProps
- Better theming support and maintainability
- Follows Obsidian plugin best practices
- Bump version to 1.1.4
- Update CHANGELOG

Addresses ObsidianReviewBot feedback about avoiding direct style manipulation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 21:45:18 +09:00
j2masamitu
2b597c677e Fix remaining code quality issues for plugin review
- Fix async/await in onUnloadFile (removed async, return Promise.resolve())
- Fix Promise handling in setTimeout callbacks (add .catch)
- Replace any type casting with setProperty for CSS zoom
- Bump version to 1.1.3
- Update CHANGELOG

All ObsidianReviewBot issues now resolved.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 21:22:20 +09:00
j2masamitu
4de6e604a3 Update CHANGELOG for versions 1.1.0, 1.1.1, and 1.1.2 2025-11-10 17:47:36 +09:00
j2masamitu
d97d918683 Fix code quality issues for Obsidian plugin review
- Replace all console.log with console.debug
- Replace innerHTML/outerHTML/insertAdjacentHTML with safe DOM API
- Fix async/await issues (remove unnecessary async, handle Promises properly)
- Replace 'any' types with proper TypeScript types
- Remove unused variables
- Fix expression statements

All required changes from ObsidianReviewBot have been addressed.
Bump version to 1.1.2

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 17:42:13 +09:00
j2masamitu
a30c9b22b7 Update description and bump version to 1.1.1
- Update manifest.json description to match Community Plugins PR
- Bump version to 1.1.1
- Add 1.1.1 to versions.json

This fixes the description mismatch error during Community Plugins submission.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 14:31:55 +09:00
j2masamitu
07d02b04ca Bump version to 1.1.0
- Update manifest.json to version 1.1.0
- Update package.json to version 1.1.0
- Add 1.1.0 entry to versions.json
- Add release notes with migration instructions

This release includes the breaking change from the previous commit
(plugin ID change from obsidian-goboard-viewer to goboard-viewer).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 14:02:08 +09:00
j2masamitu
09a434fd67 Change plugin ID to comply with Obsidian guidelines
BREAKING CHANGE: Plugin ID changed from "obsidian-goboard-viewer" to "goboard-viewer"

- Update manifest.json: id changed to "goboard-viewer"
- Update package.json: name changed to "goboard-viewer"
- Update installation paths in README.md and README_ja.md
- Update setup.sh and CONTRIBUTING.md with new plugin folder name

Reason: Obsidian plugin guidelines state "The id can't contain obsidian."
This change is required for Community Plugins submission.

Existing users will need to reinstall the plugin in the new folder:
  .obsidian/plugins/goboard-viewer/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 13:59:01 +09:00
j2masamitu
2347f9125c Initial commit 2025-11-08 10:56:46 +09:00