'rebuild' now keeps original author. Fixes #99
This commit is contained in:
parent
93d6877a38
commit
b22d968278
2 changed files with 20 additions and 9 deletions
|
@ -128,6 +128,7 @@ As a guideline, pull requests should:
|
||||||
Changelog
|
Changelog
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
- 2.6 Support for multiple authors, use a different `.config` for each one
|
||||||
- 2.5 Massive code cleanup by Martijn Dekker<br/>
|
- 2.5 Massive code cleanup by Martijn Dekker<br/>
|
||||||
'tags' command<br/>
|
'tags' command<br/>
|
||||||
The word 'posts' in the tag list (both website and command) now has a singular form, check out `template_tags_posts_singular`
|
The word 'posts' in the tag list (both website and command) now has a singular form, check out `template_tags_posts_singular`
|
||||||
|
|
28
bb.sh
28
bb.sh
|
@ -17,7 +17,7 @@ global_config=".config"
|
||||||
# by the 'global_config' file contents
|
# by the 'global_config' file contents
|
||||||
global_variables() {
|
global_variables() {
|
||||||
global_software_name="BashBlog"
|
global_software_name="BashBlog"
|
||||||
global_software_version="2.5"
|
global_software_version="2.6"
|
||||||
|
|
||||||
# Blog title
|
# Blog title
|
||||||
global_title="My fancy blog"
|
global_title="My fancy blog"
|
||||||
|
@ -396,12 +396,14 @@ is_boilerplate_file() {
|
||||||
# "no" to insert new blog posts
|
# "no" to insert new blog posts
|
||||||
# $4 title for the html header
|
# $4 title for the html header
|
||||||
# $5 original blog timestamp
|
# $5 original blog timestamp
|
||||||
|
# $6 post author
|
||||||
create_html_page() {
|
create_html_page() {
|
||||||
content=$1
|
content=$1
|
||||||
filename=$2
|
filename=$2
|
||||||
index=$3
|
index=$3
|
||||||
title=$4
|
title=$4
|
||||||
timestamp=$5
|
timestamp=$5
|
||||||
|
author=$6
|
||||||
|
|
||||||
# Create the actual blog post
|
# Create the actual blog post
|
||||||
# html, head
|
# html, head
|
||||||
|
@ -438,7 +440,7 @@ create_html_page() {
|
||||||
else
|
else
|
||||||
echo "<div class=\"subtitle\">$(LC_ALL=$date_locale date +"$date_format" --date="$timestamp") — "
|
echo "<div class=\"subtitle\">$(LC_ALL=$date_locale date +"$date_format" --date="$timestamp") — "
|
||||||
fi
|
fi
|
||||||
echo "$global_author</div>"
|
echo "$author</div>"
|
||||||
echo '<!-- text begin -->' # This marks the text body, after the title, date...
|
echo '<!-- text begin -->' # This marks the text body, after the title, date...
|
||||||
fi
|
fi
|
||||||
cat "$content" # Actual content
|
cat "$content" # Actual content
|
||||||
|
@ -511,7 +513,7 @@ parse_file() {
|
||||||
done < "$1"
|
done < "$1"
|
||||||
|
|
||||||
# Create the actual html page
|
# Create the actual html page
|
||||||
create_html_page "$content" "$filename" no "$title" "$2"
|
create_html_page "$content" "$filename" no "$title" "$2" "$global_author"
|
||||||
rm "$content"
|
rm "$content"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -646,7 +648,7 @@ all_posts() {
|
||||||
echo "<div id=\"all_posts\"><a href=\"./$index_file\">$template_archive_index_page</a></div>"
|
echo "<div id=\"all_posts\"><a href=\"./$index_file\">$template_archive_index_page</a></div>"
|
||||||
} 3>&1 >"$contentfile"
|
} 3>&1 >"$contentfile"
|
||||||
|
|
||||||
create_html_page "$contentfile" "$archive_index.tmp" yes "$global_title — $template_archive_title"
|
create_html_page "$contentfile" "$archive_index.tmp" yes "$global_title — $template_archive_title" "$global_author"
|
||||||
mv "$archive_index.tmp" "$archive_index"
|
mv "$archive_index.tmp" "$archive_index"
|
||||||
chmod 644 "$archive_index"
|
chmod 644 "$archive_index"
|
||||||
rm "$contentfile"
|
rm "$contentfile"
|
||||||
|
@ -677,7 +679,7 @@ all_tags() {
|
||||||
echo "<div id=\"all_posts\"><a href=\"./$index_file\">$template_archive_index_page</a></div>"
|
echo "<div id=\"all_posts\"><a href=\"./$index_file\">$template_archive_index_page</a></div>"
|
||||||
} 3>&1 > "$contentfile"
|
} 3>&1 > "$contentfile"
|
||||||
|
|
||||||
create_html_page "$contentfile" "$tags_index.tmp" yes "$global_title — $template_tags_title"
|
create_html_page "$contentfile" "$tags_index.tmp" yes "$global_title — $template_tags_title" "$global_author"
|
||||||
mv "$tags_index.tmp" "$tags_index"
|
mv "$tags_index.tmp" "$tags_index"
|
||||||
chmod 644 "$tags_index"
|
chmod 644 "$tags_index"
|
||||||
rm "$contentfile"
|
rm "$contentfile"
|
||||||
|
@ -715,7 +717,7 @@ rebuild_index() {
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
create_html_page "$contentfile" "$newindexfile" yes "$global_title"
|
create_html_page "$contentfile" "$newindexfile" yes "$global_title" "$global_author"
|
||||||
rm "$contentfile"
|
rm "$contentfile"
|
||||||
mv "$newindexfile" "$index_file"
|
mv "$newindexfile" "$index_file"
|
||||||
chmod 644 "$index_file"
|
chmod 644 "$index_file"
|
||||||
|
@ -790,7 +792,7 @@ rebuild_tags() {
|
||||||
while IFS='' read -r i; do
|
while IFS='' read -r i; do
|
||||||
tagname=${i#./"$prefix_tags"}
|
tagname=${i#./"$prefix_tags"}
|
||||||
tagname=${tagname%.tmp.html}
|
tagname=${tagname%.tmp.html}
|
||||||
create_html_page "$i" "$prefix_tags$tagname.html" yes "$global_title — $template_tag_title \"$tagname\""
|
create_html_page "$i" "$prefix_tags$tagname.html" yes "$global_title — $template_tag_title \"$tagname\"" "$global_author"
|
||||||
rm "$i"
|
rm "$i"
|
||||||
done < <(ls -t ./"$prefix_tags"*.tmp.html 2>/dev/null)
|
done < <(ls -t ./"$prefix_tags"*.tmp.html 2>/dev/null)
|
||||||
echo
|
echo
|
||||||
|
@ -803,6 +805,13 @@ get_post_title() {
|
||||||
awk '/<h3><a class="ablack" href=".+">/, /<\/a><\/h3>/{if (!/<h3><a class="ablack" href=".+">/ && !/<\/a><\/h3>/) print}' "$1"
|
awk '/<h3><a class="ablack" href=".+">/, /<\/a><\/h3>/{if (!/<h3><a class="ablack" href=".+">/ && !/<\/a><\/h3>/) print}' "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Return the post author
|
||||||
|
#
|
||||||
|
# $1 the html file
|
||||||
|
get_post_author() {
|
||||||
|
awk '/<div class="subtitle">.+/, /<!-- text begin -->/{if (!/<div class="subtitle">.+/ && !/<!-- text begin -->/) print}' "$1" | sed 's/<\/div>//g'
|
||||||
|
}
|
||||||
|
|
||||||
# Displays a list of the tags
|
# Displays a list of the tags
|
||||||
#
|
#
|
||||||
# $2 if "-n", tags will be sorted by number of posts
|
# $2 if "-n", tags will be sorted by number of posts
|
||||||
|
@ -875,7 +884,7 @@ make_rss() {
|
||||||
get_html_file_content 'text' 'entry' $cut_do <"$i"
|
get_html_file_content 'text' 'entry' $cut_do <"$i"
|
||||||
echo "]]></description><link>$global_url/${i#./}</link>"
|
echo "]]></description><link>$global_url/${i#./}</link>"
|
||||||
echo "<guid>$global_url/$i</guid>"
|
echo "<guid>$global_url/$i</guid>"
|
||||||
echo "<dc:creator>$global_author</dc:creator>"
|
echo "<dc:creator>$(get_post_author "$i")</dc:creator>"
|
||||||
echo "<pubDate>$(LC_ALL=C date -r "$i" +"%a, %d %b %Y %H:%M:%S %z")</pubDate></item>"
|
echo "<pubDate>$(LC_ALL=C date -r "$i" +"%a, %d %b %Y %H:%M:%S %z")</pubDate></item>"
|
||||||
|
|
||||||
n=$(( n + 1 ))
|
n=$(( n + 1 ))
|
||||||
|
@ -985,12 +994,13 @@ rebuild_all_entries() {
|
||||||
echo -n "."
|
echo -n "."
|
||||||
# Get the title and entry, and rebuild the html structure from scratch (divs, title, description...)
|
# Get the title and entry, and rebuild the html structure from scratch (divs, title, description...)
|
||||||
title=$(get_post_title "$i")
|
title=$(get_post_title "$i")
|
||||||
|
|
||||||
get_html_file_content 'text' 'text' <"$i" >> "$contentfile"
|
get_html_file_content 'text' 'text' <"$i" >> "$contentfile"
|
||||||
|
|
||||||
# Original post timestamp
|
# Original post timestamp
|
||||||
timestamp=$(LC_ALL=C date -r "$i" +"%a, %d %b %Y %H:%M:%S %z" )
|
timestamp=$(LC_ALL=C date -r "$i" +"%a, %d %b %Y %H:%M:%S %z" )
|
||||||
|
|
||||||
create_html_page "$contentfile" "$i.rebuilt" no "$title" "$timestamp"
|
create_html_page "$contentfile" "$i.rebuilt" no "$title" "$timestamp" "$(get_post_author "$i")"
|
||||||
# keep the original timestamp!
|
# keep the original timestamp!
|
||||||
timestamp=$(LC_ALL=C date -r "$i" +'%Y%m%d%H%M')
|
timestamp=$(LC_ALL=C date -r "$i" +'%Y%m%d%H%M')
|
||||||
mv "$i.rebuilt" "$i"
|
mv "$i.rebuilt" "$i"
|
||||||
|
|
Loading…
Reference in a new issue