diff --git a/README.md b/README.md
index 29cd1fa..3b66115 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
# Wallpapers Collection
+
## Table of Contents
- [Cat Latte](#cat-latte)
@@ -15,6 +16,8 @@
## Cat Latte
+**[⇧ back to top](#top)**
+
### akira — _14M_
@@ -126,6 +129,8 @@
## Catppuccin Macchiato
+**[⇧ back to top](#top)**
+
### 20_lakeside_sunset — _2.9M_
@@ -181,6 +186,8 @@
## Code Garden
+**[⇧ back to top](#top)**
+
### art — _13M_
@@ -332,6 +339,8 @@
## Cosmic Blue
+**[⇧ back to top](#top)**
+
### 1 — _6.6M_
@@ -351,6 +360,8 @@
## Dracula
+**[⇧ back to top](#top)**
+
### cat — _308K_
@@ -386,6 +397,8 @@
## Grukai
+**[⇧ back to top](#top)**
+
### Boxes — _40K_
@@ -449,6 +462,8 @@
## Monterey Frost
+**[⇧ back to top](#top)**
+
### Mojave-nord-dark — _144K_
@@ -532,6 +547,8 @@
## Nightbrew
+**[⇧ back to top](#top)**
+
### abstract — _196K_
@@ -571,6 +588,8 @@
## Tundra
+**[⇧ back to top](#top)**
+
### tundra2 — _15M_
diff --git a/generate_readme.sh b/generate_readme.sh
index 27465c8..30a1445 100755
--- a/generate_readme.sh
+++ b/generate_readme.sh
@@ -3,9 +3,10 @@ set -euo pipefail
OUT="README.md"
-# Header & TOC
+# Header + hidden anchor + TOC
cat > "$OUT" <
## Table of Contents
EOF
@@ -20,7 +21,7 @@ done
echo -e "\n---\n" >> "$OUT"
-# Folders with image entries
+# Sections for each folder and images
for dir in */; do
dir_name="${dir%/}"
anchor=$(printf '%s' "$dir_name" \
@@ -30,11 +31,13 @@ for dir in */; do
echo "## ${dir_name}" >> "$OUT"
echo "" >> "$OUT"
+ echo "**[⇧ back to top](#top)**" >> "$OUT"
+ echo "" >> "$OUT"
+
for img in "${dir}"*.{png,jpg,jpeg,gif}; do
[ -f "$img" ] || continue
fn="$(basename "${img%.*}")"
rel="$(echo "$img" | sed 's|^\./||')"
- # Get filesize in human-readable format
size=$(du -h "$img" | cut -f1)
echo "### ${fn} — _${size}_ " >> "$OUT"