ChessKit

History & Roadmap

History

The first version of my script was forked from Paolo Casaschi's impressive pgn4web project, but has since evolved with a feature set entirely its own. In trying to better understand the script Paolo wrote, I learned a lot by refactoring and modularizing the code base.

Most notably I had two specific goals: this re-write allows for the display of multiple game boards and source files in the same page without requiring iFrames or other programmatic workarounds. Auto-generated tournament crosstables with game links are also new.

The remaining changes are more cosmetic in nature: an overhaul of the HTML and CSS used for styling the appearance of the game board and move text, and the addition of many new piece and symbol fonts meant to more easily integrate the look and feel of an existing site with the appearance of the chess components. The default image format for the game board chess pieces is now SVG.

Please do note that two prominent features from Paolo's pgn4web project did not make the cut. In my re-write I parsed out Live Broadcast functionality and also the separate Analysis Board. The former was simply of no interest to me while the latter feature had two problems: the analysis engine isn't really strong enough for serious analysis work, and the web worker implementation in the original script suffers from a large memory leak that I wasn't able to resolve.

Roadmap

Some projects are never finished. Depending on your specific needs, maybe pgn4web remains the optimal solution. That would be the case if you need Live Broadcast functionality for example. On the other hand, maybe multiple boards on the same page, plus auto-generated tournament crosstables and nearly infinite design options are your thing?

Moving forward I plan to further modularize and simplify the code base. An ES6 re-write might happen after that. I expect to release the project on GitHub and NPM in the near future, together with adequate documentation and a full-featured demo site...

Example
Tournament Crosstable with Game Board

ChessKit Feature Summary

Features
display multiple independently configurable game boards and PGN source files on the same page
replayable nested variations and annotations
auto-sliding game board positions itself alongside the game's move text as you scroll the page
auto-generated tournament crosstable with game links if your source file contains a complete round-robin event or match
auto-generated game selection drop-box
auto-generated link to downloadable game archive
Standards
built on PGN, FEN, SAN and NAG standards
handles all valid PGN input data as per the PGN Specification, and is additionally configurable to work with custom PGN header data
Design
fully integrates into the overall look and feel of any site by utilizing your default configured font stack and adding a special chess symbol font to display Informant style annotation glyphs in the move text of the game
includes 60+ piece sets and matching figurine piece symbol fonts that similarly integrate into your existing font stack and follow variations on the standard Staunton design pattern
includes 12+ board styles with infinitely adjustable colour, hue and opacity settings
visually and dynamically display captured pieces, last/next moves, and side to move below the game board
Setup
default setup is as simple as linking the script plus style sheet in the header of your page and adding a single HTML tag with the name of your PGN source file
most options are fully configurable globally and/or separately for each game board instance
100% JavaScript and CSS; no Flash or Java plugins and no iFrames etc
zero dependencies on external libraries and frameworks

Example
Recursive Annotated Variations