diff --git a/README.md b/README.md
index 0c22047..ab28c63 100644
--- a/README.md
+++ b/README.md
@@ -128,6 +128,8 @@ As a guideline, pull requests should:
Changelog
---------
+- 2.7 Store post date on a comment in the html file (#96).
+ On rebuild, the post date will be synchronised between comment date and file date, with precedence for comment date.
- 2.6 Support for multiple authors, use a different `.config` for each one
- 2.5 Massive code cleanup by Martijn Dekker
'tags' command
diff --git a/bb.sh b/bb.sh
index de9d659..ce07dcf 100755
--- a/bb.sh
+++ b/bb.sh
@@ -17,7 +17,7 @@ global_config=".config"
# by the 'global_config' file contents
global_variables() {
global_software_name="BashBlog"
- global_software_version="2.6"
+ global_software_version="2.7"
# Blog title
global_title="My fancy blog"
@@ -124,10 +124,14 @@ global_variables() {
template_twitter_button="Tweet"
template_twitter_comment="<Type your comment here but please leave the URL so that other people can follow the comments>"
- # The locale to use for the dates displayed on screen (not for the timestamps)
+ # The locale to use for the dates displayed on screen
date_format="%B %d, %Y"
- date_allposts_header="%B %Y"
date_locale="C"
+ date_inpost="bashblog_timestamp"
+ # Don't change these dates
+ date_format_full="%a, %d %b %Y %H:%M:%S %z"
+ date_format_timestamp="%Y%m%d%H%M.%S"
+ date_allposts_header="%B %Y"
# Perform the post title -> filename conversion
# Experts only. You may need to tune the locales too
@@ -265,10 +269,10 @@ get_html_file_content() {
# "full" to edit full HTML, and not only text part (keeps old filename)
# leave empty for default behavior (edit only text part and change name)
edit() {
- # Original post timestamp
[[ ! -f "${1%%.*}.html" ]] && echo "Can't edit post "${1%%.*}.html", did you mean to use \"bb.sh post \"?" && exit -1
- edit_timestamp=$(LC_ALL=C date -r "${1%%.*}.html" +"%a, %d %b %Y %H:%M:%S %z" )
- touch_timestamp=$(LC_ALL=C date -r "${1%%.*}.html" +'%Y%m%d%H%M')
+ # Original post timestamp
+ edit_timestamp=$(LC_ALL=C date -r "${1%%.*}.html" +"$date_format_full" )
+ touch_timestamp=$(LC_ALL=C date -r "${1%%.*}.html" +"$date_format_timestamp")
tags_before=$(tags_in_post "${1%%.*}.html")
if [[ $2 == full ]]; then
$EDITOR "$1"
@@ -304,6 +308,7 @@ edit() {
rm "$TMPFILE"
fi
touch -t "$touch_timestamp" "$filename"
+ touch -t "$touch_timestamp" "$1"
chmod 644 "$filename"
echo "Posted $filename"
tags_after=$(tags_in_post "$filename")
@@ -435,11 +440,16 @@ create_html_page() {
echo "$title"
echo ''
if [[ -z $timestamp ]]; then
- echo "