SShortSingh.
Back to feed

New Node.js package renders chess diagrams from FEN strings without a browser

0
·1 views

A developer has released @chessvision-org/chess-vision, a zero-dependency open-source package that converts FEN chess position strings into SVG diagrams entirely in server-side JavaScript. The package works across Node.js, Deno, Bun, and browser environments without requiring a DOM, canvas polyfill, or headless Chromium instance. Chess pieces are rendered using inline SVG paths in the CBurnett style popularized by Lichess, eliminating the need for any external resources or image hosting. The library includes built-in FEN validation, support for board flipping and coordinate display, and 20 preset board themes such as ocean, marble, and wood. It is designed for use cases like static site generation, PDF reports, Express API endpoints, and frameworks such as Astro or Next.js.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Stylish Usernames Are Unicode Characters, Not Custom Fonts

The decorative text seen in usernames on platforms like Instagram, Discord, and gaming sites is not produced by custom fonts but by substituting standard letters with visually similar Unicode characters. Tools commonly called 'font generators' work by mapping each input character to a corresponding Unicode equivalent using predefined lookup tables stored as JSON or arrays. Because the output consists of valid Unicode characters, the styled text can be freely copied and pasted across most applications. However, not all platforms fully support every Unicode character, and unsupported symbols may display as blank squares or question marks. Users are advised to test stylized text on their intended platform before widespread use.

0
ProgrammingDEV Community ·

Semantic HTML Boosts Accessibility: A Developer's Practical Lessons

A developer participating in the IYF Season 11 program discovered the importance of semantic HTML while building a personal portfolio. Semantic HTML uses meaningful tags such as header, nav, main, and footer, helping browsers and screen readers understand page content rather than just its layout. During an accessibility audit, the developer identified and fixed three key issues: missing image alt attributes, reliance on generic containers instead of structured tags, and incorrect heading hierarchy used for styling rather than logical structure. These changes made the site more navigable for users with visual impairments by giving assistive technologies a clear map of the page. The experience highlighted that writing good code goes beyond visual appearance and must prioritize inclusivity for all users.

0
ProgrammingDEV Community ·

Developer Builds Proxy to Route Claude Code Through Existing Kiro Subscription

A developer created a local proxy tool called kiro-gateway-next to avoid paying for two separate AI subscriptions that use the same underlying Claude models. Both Claude Code and Kiro run on Anthropic's Claude models but use different API formats, making them incompatible by default. The workaround exploits Claude Code's ANTHROPIC_BASE_URL environment variable, redirecting its requests to a locally running translator that reformats them for the Kiro API. The six-step setup involves cloning a GitHub repository, configuring a Python proxy server, and updating a Claude Code settings file — taking roughly five minutes to complete. Users with eligible Kiro plans can also access the claude-opus-4-8 model with a one-million-token context window through this setup.

0
ProgrammingDEV Community ·

How to Avoid Google's 'Purple Potassium' Chrome Extension Rejection for Excess Permissions

Chrome Web Store rejections tagged 'Purple Potassium' occur when a submitted extension declares permissions in its manifest that are unused or overly broad in its actual code. Common causes include leftover API permissions from removed features, excessively wide host access patterns, and a misunderstanding of what the 'tabs' permission actually grants. Developers are advised to audit every entry in their permissions, optional_permissions, and host_permissions fields, removing any that lack a corresponding chrome API call and narrowing broad host patterns to specific domains. Writing plain-language notes for reviewers explaining each sensitive permission can also reduce back-and-forth during the review process. A free, open-source CLI tool called tabsmith-lint has been released to automate this static analysis before submission, flagging unused permissions and broad host access automatically.

New Node.js package renders chess diagrams from FEN strings without a browser · ShortSingh