From: Daniel Liu Date: Sun, 22 Nov 2020 04:36:31 +0000 (-0500) Subject: delete function and docs X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=2bd0312dbe43e71cb47b06f851b1168054a325de;p=pb.git delete function and docs --- diff --git a/README.md b/README.md index 1de04b0..455cc74 100644 --- a/README.md +++ b/README.md @@ -1 +1,33 @@ All you really need is just the pb file, the others are there for demonstration purposes, you can just download that file by itself if you don't want the extra garbage. + +# 'Installation' +Before running the script, open it up and change the variables at the top of the file to your liking. + +You need a couple of things to get the script: +- A blog index file (a page with a list of all of your posts) +- A rolling blog file (a feed of posts will be placed here) +- A rss file + +In each of these files, you need to include the comments: +``` + + + +``` + +# Usage +### n / new + +### p / publish + +### d / delete + + +# Configuration +For more fine tuned configuration, navigate to the data\_dir directory that was created (by default it's blog/) and find the templates folder. +These are the html snippets that get included in your index, rolling and rss files. +You can use certain keywords that will be substituted in: +- {{TITLE}} for the title of the blog post +- {{DATE}} +- {{URL}} pointing to that post +- {{BODY}} the html of that post diff --git a/blog/templates/index_entry.html b/blog/templates/index_entry.html deleted file mode 100644 index 428e697..0000000 --- a/blog/templates/index_entry.html +++ /dev/null @@ -1 +0,0 @@ -

{{TITLE}}

diff --git a/blogindex.html b/blogindex.html index a8881cb..95cea42 100644 --- a/blogindex.html +++ b/blogindex.html @@ -9,10 +9,9 @@

Blog index page

-

p

-

p

-

p

-

p

+ +

lol

+ diff --git a/pb b/pb index 7754f03..0f87d74 100755 --- a/pb +++ b/pb @@ -2,15 +2,22 @@ # pinosaur's blog script +data_dir="blog" +website_url="https://www.youtube.com/watch?v=oHg5SJYRHA0/" + blog_index_file="blogindex.html" rolling_file="rolling.html" -template_file="template.html" -index_entry_template="index_entry.html" rss_file="rss.xml" -data_dir="blog" -[ ! -z "$EDITOR" ] && EDITOR="vim" +blog_template="template.html" +index_template="index_entry.html" +rolling_template="rolling_entry.html" +rss_template="rss_entry.html" +start_token="" +end_token="" + +[ ! -z "$EDITOR" ] && EDITOR="vim" init() { read -p "Initialize blog? [y/n] " ask @@ -18,14 +25,15 @@ init() { mkdir -p "$data_dir/drafts" "$data_dir/published" "$data_dir/html" "$data_dir/templates" - echo '

{{TITLE}}

' >> "$data_dir/templates/$index_entry_template" + echo '

{{TITLE}}

' >> "$data_dir/templates/$index_template" + echo -e '
\n

{{TITLE}}

\n

{{DATE}}

' >> "$data_dir/templates/$rolling_template" + echo -e '\n{{TITLE}}\n\n<\description>\n<\item>' \ + >> "$data_dir/templates/$rss_template" echo "Created blog files" } refresh() { - start_token="" - end_token="" read -p "Are you sure you want to refresh? [y/n] " ask [ "$ask" != "y" ] && exit 0 @@ -36,6 +44,7 @@ refresh() { sed -i "/$start_token/,/$end_token/{/$start_token/!{/$end_token/!d}}" "$rss_file" # deletes all html files and republishes all published files + echo "Refreshed." } new() { @@ -50,10 +59,11 @@ new() { sub() { cat - |\ - sed -e "s/{{TITLE}}/$1/g; - s/{{DATE}}/`date +'%a, %b %d %H:%M'`/g" |\ - sed -e "/{{BODY}}/r $data_dir/drafts/$1" |\ - sed -e "/{{BODY}}/d" + sed "s/{{TITLE}}/$1/g; + s/{{DATE}}/`date +'%a, %b %d %H:%M'`/g; + s/{{URL}}/$website_url\\/$1/g" |\ + sed "/{{BODY}}/r $data_dir/drafts/$1" |\ + sed "/{{BODY}}/d" } publish() { @@ -69,13 +79,15 @@ publish() { to_publish=${to_publish%.draft.html} [ -z "$to_publish" ] && echo "Invalid choice" && exit 1 - cat $template_file | sub "$to_publish" \ + cat $blog_template | sub "$to_publish" \ > "$data_dir/html/$to_publish.html" # Add new entry to blog index (do something about indent??) - sed -i "// a\ - `cat "$data_dir/templates/$index_entry_template" | sub "$to_publish"`" "$blog_index_file" - #also clean up this bracket mess ^ + sed -i "/$start_token/ a\ + \n`cat "$data_dir/templates/$index_template" | sub "$to_publish"`\n" "$blog_index_file" + + sed -i "/$start_token/ a\ + \n`cat "$data_dir/templates/$rolling_template" | sub "$to_publish"`\n" "$rolling_file" mv "$data_dir/drafts/$to_publish.draft.html" "$data_dir/published/" @@ -96,13 +108,14 @@ delete() { mv "$data_dir/published/$to_delete.draft.html" "$data_dir/drafts/" &&\ rm "$data_dir/html/$to_delete.html" - # remove entry from blog index (broken rn) - #entry=`cat "$data_dir/templates/$index_entry_template" | sub "$to_publish"` - #sed -i "/$entry/ d" "$blog_index_file" + # remove entry from blog index + sed -i "//,// d" "$blog_index_file" + sed -i "//,// d" "$rolling_file" + } # check to see if all required files are present -[ -f $blog_index_file ] && [ -f $rolling_file ] && [ -f $template_file ] && [ -f $rss_file ] || { echo "You are missing a file, please check that you have $blog_index_file, $template_file, $rolling_file and $rss_file in your home directory" && exit 1; } +[ -f $blog_index_file ] && [ -f $rolling_file ] && [ -f $blog_template ] && [ -f $rss_file ] || { echo "You are missing a file, please check that you have $blog_index_file, $template_file, $rolling_file and $rss_file in your home directory" && exit 1; } # possibly also check to see if index and rolling have the proper headers