generate.sh: fix last puzzles, some usability improvements - chess-puzzles - chess puzzle book generator
(HTM) git clone git://git.codemadness.org/chess-puzzles
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 10ce46bdd74256d98eec084142787f40730c582d
(DIR) parent 2046625e2948b915fb5f7b6244e54f79cf2c2a8a
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Thu, 21 Dec 2023 20:27:17 +0100
generate.sh: fix last puzzles, some usability improvements
Diffstat:
M generate.sh | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
---
(DIR) diff --git a/generate.sh b/generate.sh
@@ -56,6 +56,13 @@ body {
margin: 0 auto;
padding: 0 10px;
}
+h2 a {
+ color: #000;
+ text-decoration: none;
+}
+h2 a:hover:after {
+ content: " #";
+}
.puzzle {
float: left;
margin-right: 25px;
@@ -63,6 +70,9 @@ body {
footer {
clear: both;
}
+details {
+ cursor: pointer; /* show hand */
+}
</style>
</head>
<body>
@@ -93,8 +103,8 @@ shuffle "$groupsdir/matein2.csv" 100 | sed 10q | LC_ALL=C awk '{ print $0 ",2 po
shuffle "$groupsdir/matein3.csv" 100 | sed 10q | LC_ALL=C awk '{ print $0 ",3 points" }'
shuffle "$groupsdir/matein4.csv" 100 | sed 10q | LC_ALL=C awk '{ print $0 ",4 points" }'
shuffle "$groupsdir/matein5_lt_2000.csv" 100 | sed 5q | LC_ALL=C awk '{ print $0 ",5 points" }'
-shuffle "$groupsdir/matein5_ge_2000.csv" | sed 3q | LC_ALL=C awk '{ print $0 ",7 points" }'
-shuffle "$groupsdir/matein5_ge_2700.csv" | sed 2q | LC_ALL=C awk '{ print $0 ",10 points" }'
+shuffle "$groupsdir/matein5_ge_2000.csv" 100 | sed 3q | LC_ALL=C awk '{ print $0 ",7 points" }'
+shuffle "$groupsdir/matein5_ge_2700.csv" 100 | sed 2q | LC_ALL=C awk '{ print $0 ",10 points" }'
rm -rf "$groupsdir"
) | \
while read -r line; do
@@ -132,8 +142,8 @@ while read -r line; do
"$fenbin" $flip -o ascii "$fen" "$firstmove" > "$desttxt"
"$fenbin" $flip -o tty "$fen" "$firstmove" > "$destvt"
- printf '<div class="puzzle">\n' >> "$index"
- printf '<h2>Puzzle %s</h2>\n' "$i" >> "$index"
+ printf '<div class="puzzle" id="puzzle-%s">\n' "$i" >> "$index"
+ printf '<h2><a href="#puzzle-%s">Puzzle %s</a></h2>\n' "$i" "$i" >> "$index"
test "$lichess" != "" && printf '<a href="%s">' "$lichess" >> "$index"
title=""
@@ -164,12 +174,17 @@ while read -r line; do
# solutions per puzzle.
printf '<div class="puzzle-solution">\n' >> "$solutions"
- printf '<h2>Puzzle %s</h2>\n' "$i" >> "$solutions"
+ printf '<h2><a href="#puzzle-%s">Puzzle %s</a></h2>\n' "$i" "$i" >> "$solutions"
m="${allmoves}"
movecount=0
# create a move list, removing one move each step, for generating
# the solution images.
+
+ # add initial puzzle aswell for context.
+ printf '<img src="%s" width="180" height="180" loading="lazy" />\n' \
+ "${i}.svg" >> "$solutions"
+
while [ "$m" != "" ]; do
prevmoves="$m"