Chessboard.js: универсальная шахматная доска
Для своего проекта мне приходилось использовать сторонний виджет шахматной доски. Это ускоряет разработку на старте, но вызывает сложности при поддержке проекта. Так я решил создать универсальный модуль шахматной доски на чистом JavaScript + Canvas, лёгкий, без зависимостей и с открытым кодом.
Основные возможности модуля
- 🆓 JavaScript без использования сторонних библиотек.
- 🚀 Рендеринг через HTML Canvas.
- 📜 Установка позиции на доске через FEN-нотацию.
- 🎨 Три встроенных темы (синяя, коричневая, зеленая) и возможность кастомизации шахматной доски.
- 🔄 Возможность перевернуть доску.
- 🧩 Возможно установить нестандартный размер доски, например: 5x5, 10x20
- 🏷 Настроить доску можно в HTML через атрибут data-chessboard.
Установка модуля
1. Подключите скрипт в <head> или <body>:
2. В любой HTML элемент добавьте data-chessboard атрибут:
Шахматная доска отобразиться при загрузке страницы:
Примеры использования
1. С помощью установки FEN можно анимировать ходы:
2. Создаем доску размером 6x6, переворачиваем и изменяем тему: