Made all variables inside functions local
This commit is contained in:
		
							
								
								
									
										19
									
								
								build.sh
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								build.sh
									
									
									
									
									
								
							| @@ -53,6 +53,9 @@ read_metadata() { | ||||
| } | ||||
|  | ||||
| convert_to_array() { | ||||
| 	local meta_key | ||||
| 	local meta_value | ||||
|  | ||||
| #	Converts the metadata into two arrays: one with the key, and the other with the value. | ||||
| 	readarray -t meta_key < <(echo -e "$1" | awk -F: '{print $1}') | ||||
| 	readarray -t meta_value < <(echo -e "$1" | awk -F: '{st = index($0,":"); values = substr($0,st+1); print values}' | cut -c 2-) | ||||
| @@ -118,7 +121,7 @@ replace_vars() { | ||||
| md_to_html() { | ||||
| #	Convert .md files from 'source' and place them into the correct locations into 'output' | ||||
|  | ||||
| 	files=$(find "$BASE_PATH/source" -name "*.md") | ||||
| 	local files=$(find "$BASE_PATH/source" -name "*.md") | ||||
|  | ||||
| 	for file in $files; do | ||||
| 		read_metadata "$file" # Sets the 'metadata' variable | ||||
| @@ -132,7 +135,7 @@ md_to_html() { | ||||
| 		sed -i "1,${num_lines}d" "$BASE_PATH/temp/$(basename "$file")" | ||||
|  | ||||
| #		Construct path for output file | ||||
| 		path_for_output=$(realpath --relative-to="${BASE_PATH}/source" "$file") | ||||
| 		local path_for_output=$(realpath --relative-to="${BASE_PATH}/source" "$file") | ||||
| 		path_for_output="${BASE_PATH}/output/${path_for_output}" | ||||
| 		path_for_output="$(dirname $path_for_output)/$(basename $path_for_output .md).html" | ||||
|  | ||||
| @@ -149,7 +152,7 @@ md_to_html() { | ||||
|  | ||||
|  | ||||
| gen_sorted_file_list() { # Generate a list of the HTMl files, sorted by when they were last modified (read from the contents of the HTML file) | ||||
| 	files=$(find "$BASE_PATH/output" -name "*.html") | ||||
| 	local files=$(find "$BASE_PATH/output" -name "*.html") | ||||
| 	local date_mod | ||||
|  | ||||
| 	for file in $files; do | ||||
| @@ -179,19 +182,19 @@ gen_sorted_file_list() { # Generate a list of the HTMl files, sorted by when the | ||||
|  | ||||
| gen_index_page() { # Generate an index page (site map) that includes links to the other pages | ||||
|  | ||||
| 	index_file_html="<nav class=\"toc\">"$'\n' # Variable to store the body HTML of the index page; enclose the list in a nav | ||||
| 	local index_file_html="<nav class=\"toc\">"$'\n' # Variable to store the body HTML of the index page; enclose the list in a nav | ||||
|  | ||||
| 	for file in $1; do | ||||
| 		title=$(cat "$file" | grep "<title>" | head -n 1 | awk -F'[<>]' '{print $3}') # Find the title of the web page | ||||
| 		suffix=" - Two More Cents" | ||||
| 		local title=$(cat "$file" | grep "<title>" | head -n 1 | awk -F'[<>]' '{print $3}') # Find the title of the web page | ||||
| 		local suffix=" - Two More Cents" | ||||
| 		title="${title%"$suffix"}" # Remove the website name from it | ||||
|  | ||||
| 		pub_date=$(cat "$file" | grep "date-published" | head -n 1 | awk -F'[<>]' '{print $3}') # Find the date published | ||||
| 		local pub_date=$(cat "$file" | grep "date-published" | head -n 1 | awk -F'[<>]' '{print $3}') # Find the date published | ||||
| 		prefix="Published on " # Find date published of webpage | ||||
| 		pub_date="${pub_date#"$prefix"}" # Remove the prefix from it | ||||
| 		pub_date=$(echo "$pub_date" | tr -d "," | awk '{print $2" "$1" "$3}' | date -f - +"%m/%d/%Y") # Re-arrange the date and convert to mm/dd/yy | ||||
|  | ||||
| 		file_path=$(realpath --relative-to="${BASE_PATH}/output" "$file") | ||||
| 		local file_path=$(realpath --relative-to="${BASE_PATH}/output" "$file") | ||||
|  | ||||
| 		index_file_html+="<li><time>${pub_date}</time> - <a href=\"$file_path\">$title</a></li>" # Add a line of HTML containing the date and title of the article | ||||
| 		index_file_html+=$'\n' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user