1+ #! /bin/bash
2+
3+ # Generate a new index.html for Firebase App Hosting.
4+
5+ SCRIPT_DIR=" $( cd " $( dirname " $0 " ) " && pwd) " # Script directory (/samples)
6+ PROJECT_ROOT=$( dirname " $SCRIPT_DIR " ) # Get the parent directory (js-api-samples)
7+ DIST_DIR=" $PROJECT_ROOT /dist"
8+
9+ # Create the output file.
10+ OUTPUT_FILE=" index.html"
11+
12+ # Generate the HTML document.
13+ echo " <!DOCTYPE html>" > " ${OUTPUT_FILE} "
14+ echo " <html>" >> " ${OUTPUT_FILE} "
15+ echo " <head>" >> " ${OUTPUT_FILE} "
16+ echo " <title>Maps JSAPI Samples</title>" >> " ${OUTPUT_FILE} "
17+ echo " </head>" >> " ${OUTPUT_FILE} "
18+ echo " <body>" >> " ${OUTPUT_FILE} "
19+ echo " <!-- Default top-level index for Firebase Hosting -->" >> " ${OUTPUT_FILE} "
20+ echo " <h1>Maps JSAPI Samples</h1>" >> " ${OUTPUT_FILE} "
21+ echo " <ul>" >> " ${OUTPUT_FILE} "
22+
23+ # Iterate through sample directories.
24+ find " ${SCRIPT_DIR} " -maxdepth 1 -mindepth 1 -type d | while read -r subdir; do
25+
26+ # Extract the directory name.
27+ DIR_NAME=$( basename " ${subdir} " )
28+
29+ # Construct the link.
30+ LINK_URL=" ${DIR_NAME} /app/dist/"
31+ LINK_TEXT=" ${DIR_NAME} "
32+
33+ # Create the list item.
34+ echo " <li><a href='${LINK_URL} '>${LINK_TEXT} </a></li>" >> " ${OUTPUT_FILE} "
35+ done
36+
37+ echo " </ul>" >> " ${OUTPUT_FILE} "
38+ echo " </body>" >> " ${OUTPUT_FILE} "
39+ echo " </html>" >> " ${OUTPUT_FILE} "
40+
41+ echo " HTML file generated: ${OUTPUT_FILE} "
42+
43+ echo " from ${SCRIPT_DIR} /${OUTPUT_FILE} "
44+ echo " to ${DIST_DIR} /${OUTPUT_FILE} "
45+
46+ cp " ${PROJECT_ROOT} /${OUTPUT_FILE} " " ${DIST_DIR} /${OUTPUT_FILE} "
0 commit comments