1 function fenToDiag(vname
) {
2 import(`/variants/${vname}/class.js`).then(module
=> {
3 window
.V
= module
.default;
4 for (const [k
, v
] of Object
.entries(V
.Aliases
))
10 // TODO: heuristic to improve for ratio != 1 (how?)
11 function getDiagSize(elt
) {
12 const baseWidth
= Math
.min(window
.innerWidth
, 800);
14 if (elt
.classList
.contains("left") || elt
.classList
.contains("right")) {
20 else if (baseWidth
> 630)
24 return multFact
* baseWidth
;
28 function re_drawDiagrams() {
29 const diagrams
= document
.getElementsByClassName("diag");
30 if (diagrams
.length
== 0)
32 const redrawing
= !!vr
;
34 vr
= new Array(diagrams
.length
);
35 for (let i
=0; i
<diagrams
.length
; i
++) {
37 let chessboard
= document
.createElement("div");
38 chessboard
.classList
.add("chessboard");
39 diagrams
[i
].appendChild(chessboard
);
40 diagrams
[i
].id
= "diag_" + i
;
42 const diagSize
= getDiagSize(diagrams
[i
]);
43 diagrams
[i
].style
.width
= diagSize
+ "px";
44 diagrams
[i
].style
.height
= diagSize
+ "px";
48 fen: diagrams
[i
].dataset
.fen
,
49 marks: diagrams
[i
].dataset
.mks
50 ? diagrams
[i
].dataset
.mks
.split(',')
52 color: diagrams
[i
].dataset
.col
|| 'w',
60 window
.onresize
= re_drawDiagrams
;