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