mliebelt / pgn-viewer

Simple PGN viewer with the necessary features to display chess games
GNU General Public License v3.0
165 stars 44 forks source link

GitHub Workflow Status GitHub [Languages]() open issues closed issues

pgn-viewer

pgn-viewer is a simple JavaScript implementation to show PGN files (Portable Game Notation == Chess) in a web page. pgn-viewer does not write everything anew, but it uses the following libraries:

See the section Acknowledgments for more supporting libraries.

See the working examples on my new GitHub Pages site pgn-viewer, especially the Configuration Builder that demonstrates all parameters in a running example.

Getting Started

The easiest way to use it is to install it by using NPM: npm install @mliebelt/pgn-viewer. You will find there the diretory lib that contains everything. Copy that onto your webserver.

Example Screenshots

The following are example screenshots with the configuration set below, to show the rich possibilities of pgn-viewer.

Theme Sportverlag Edit with variations Viewer

The screenshots show from left to right:

Go to the github.io pages (documentation), where the viewer is documented and shown.

Features

This implementation has the following features:

UI modes

There are five different kind of usages:

There is at the moment no way to save a game that was edited in pgnEdit mode. But you may at least copy the whole notation, and insert it again in the HTML code of your web page.

Running the tests

Running the examples

Deployment

From Release

From Clone

Using the viewer

Standalone script

To use the viewer in an HTML page, you have to do the following steps:

So a rough template will look like:

<!DOCTYPE html>
    <head>
        <script src="https://github.com/mliebelt/pgn-viewer/raw/main/lib/dist.js" type="text/javascript" ></script>
    </head>
    <body>
        <div id="board"></div>
        <script>
        PGNV.pgnView('board',{ pgn: '1. e4 e5 2. Nf3 Nc6 3. Bb5', pieceStyle: 'merida' });
        </script>
    </body>
</html>

See the example in react.md how to run the viewer in a react application.

Built With

Contributing

If you find something strange (bug), expect some feature (feature) or just want to comment on anything, please file first a ticket in Github.

If you want to help in implementing something, clone the repository, change whatever you want to, and provide a pull request that I can look at.

Versioning and Roadmap

We use SemVer for versioning. For the versions available, see the tags on this repository.

From the version 1.0.0 on, the whole package can be downloaded / installed by using NPM:

The roadmap is publicly documented in file roadmap.md, and will be updated from time to time.

Authors

License

pgn-viewer is distributed under the GPL-3.0 license (or any later version, at your option), due to its use of Chessground. When you use pgn-viewer for your website, your combined work may be distributed only under the GPL. You must release your source code to the users of your website.

Please read more about GPL for JavaScript on greendrake.info/#nfy0.

Acknowledgments

We use the following libraries in the implementation:

Thank you a lot to all contributors of issues.

Known Usage