Added function to generate RSS file
This commit is contained in:
37
build.sh
37
build.sh
@@ -233,6 +233,42 @@ gen_sorted_file_list() { # Generate a list of the HTMl files, sorted by when the
|
||||
sorted_file_list=$(echo "$sorted_file_list" | awk '{print $1}') # Store only the first column (the file path) in the variable
|
||||
}
|
||||
|
||||
gen_rss_feed() { # Uses the sorted_file_list variable to generate an RSS feed
|
||||
echo "Generating RSS Feed..."
|
||||
local RSS_FEED_PATH="${BASE_PATH}/output/rss.xml"
|
||||
touch "RSS_FEED_PATH" # Create the RSS file
|
||||
local RSS_CONTENT="<rss version=\"2.0\">\n"
|
||||
counter=0
|
||||
RSS_CONTENT+="<channel>\n"
|
||||
RSS_CONTENT+="<title>Two More Cents</title>\n"
|
||||
RSS_CONTENT+="<link>http://twomorecents.org/</link>\n"
|
||||
RSS_CONTENT+="<description>The personal website of Aadhavan Srinivasan.</description>\n"
|
||||
RSS_CONTENT+="<language>en-us</language>\n"
|
||||
RSS_CONTENT+="<lastBuildDate>$(date -R)</lastBuildDate>\n"
|
||||
RSS_CONTENT+="<generator>s4g - Stupid Simple Static Site Generator</generator>\n"
|
||||
|
||||
for file in $1; do
|
||||
if [ $counter -gt 9 ]; then
|
||||
break
|
||||
fi
|
||||
RSS_CONTENT+="<item>\n"
|
||||
RSS_CONTENT+="<title>\n"
|
||||
RSS_CONTENT+=$(cat "$file" | grep "<title>" | head -n 1 | awk -F'[<>]' '{print $3}')$'\n'
|
||||
RSS_CONTENT+="</title>\n"
|
||||
RSS_CONTENT+="<link>\n"
|
||||
RSS_CONTENT+="https://twomorecents.org/"
|
||||
RSS_CONTENT+=$(realpath --relative-to="${BASE_PATH}/output" "$file")
|
||||
RSS_CONTENT+="</link>\n"
|
||||
RSS_CONTENT+="</item>\n"
|
||||
((++counter))
|
||||
done
|
||||
|
||||
RSS_CONTENT+="</channel>\n</rss>"
|
||||
|
||||
echo -e "$RSS_CONTENT" > $RSS_FEED_PATH
|
||||
|
||||
}
|
||||
|
||||
gen_index_page() { # Generate an index page (site map) that includes links to the other pages
|
||||
|
||||
echo "Generating index page..."
|
||||
@@ -285,6 +321,7 @@ setup_output_dir
|
||||
del_files_in_output
|
||||
md_to_html
|
||||
gen_sorted_file_list # Sets the 'sorted_file_list' variable
|
||||
gen_rss_feed "$sorted_file_list" # Uses the 'sorted_file_list' variable
|
||||
gen_index_page "$sorted_file_list" # Uses the 'sorted_file_list' variable
|
||||
copy_things_in
|
||||
clean_up
|
||||
|
Reference in New Issue
Block a user