cm-chessboard
Version:
A JavaScript chessboard which is lightweight, ES6 module based, responsive, SVG rendered and without dependencies.
46 lines (44 loc) • 1.5 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>cm-chessboard</title>
<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0"/>
<link rel="stylesheet" href="styles/examples.css"/>
<link rel="stylesheet" href="../assets/chessboard.css"/>
</head>
<body>
<h1><a href="../">cm-chessboard</a></h1>
<h2>Example: Responsive chessboard with an aspect ratio of 0.9</h2>
<div id="board"></div>
<pre>
new Chessboard(document.getElementById("board"), {
position: FEN.start,
assetsUrl: "../assets/",
style: {
aspectRatio: 0.9,
pieces: {file: "pieces/staunty.svg"},
borderType: BORDER_TYPE.frame
},
extensions: [{class: AutoBorderNone}]
})
</pre>
<p>This example also uses the "AutoBorderNone" extension, which switches off the frame border on smaller boards.</p>
<script type="module">
import {BORDER_TYPE, Chessboard} from "../src/Chessboard.js"
import {FEN} from "../src/model/Position.js"
import {AutoBorderNone} from "../src/extensions/auto-border-none/AutoBorderNone.js"
new Chessboard(document.getElementById("board"), {
position: FEN.start,
assetsUrl: "../assets/",
debug: true,
style: {
aspectRatio: 0.9,
pieces: {file: "pieces/staunty.svg"},
borderType: BORDER_TYPE.frame
},
extensions: [{class: AutoBorderNone}]
})
</script>
</body>
</html>