Skip to content

Commit 51fe1b6

Browse files
committed
Handle URL encoded filenames
1 parent 417b5ef commit 51fe1b6

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

.github/scripts/generate-index.sh

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,16 +214,21 @@ EOF
214214
else
215215
for file in $html_files; do
216216
filename=$(basename "$file")
217+
# URL encode the filename for use in href attributes
218+
# This handles special characters like spaces, %, etc.
219+
encoded_filename=$(printf '%s' "$filename" | jq -sRr @uri)
217220
# Convert filename to readable title (remove .html, replace hyphens/underscores with spaces, capitalize)
218-
title=$(echo "$filename" | sed 's/.html$//' | sed 's/[-_]/ /g' | awk '{for(i=1;i<=NF;i++)sub(/./,toupper(substr($i,1,1)),$i)}1')
221+
# Also decode any URL-encoded characters for the display title
222+
decoded_filename=$(printf '%s' "$filename" | sed 's/%20/ /g' | sed 's/%/ /g')
223+
title=$(echo "$decoded_filename" | sed 's/.html$//' | sed 's/[-_]/ /g' | awk '{for(i=1;i<=NF;i++)sub(/./,toupper(substr($i,1,1)),$i)}1')
219224

220225
cat >> index.html << EOF
221226
<div class="chart-card">
222-
<a href="$filename">$title</a>
227+
<a href="$encoded_filename">$title</a>
223228
<div class="chart-name">$filename</div>
224229
<div class="button-group">
225-
<a href="$filename" class="btn btn-primary">View Chart</a>
226-
<button class="btn btn-secondary" onclick="copyEmbedCode('$filename')">Copy Embed Code</button>
230+
<a href="$encoded_filename" class="btn btn-primary">View Chart</a>
231+
<button class="btn btn-secondary" onclick="copyEmbedCode('$encoded_filename')">Copy Embed Code</button>
227232
</div>
228233
</div>
229234
EOF

0 commit comments

Comments
 (0)