delete function and docs
authorDaniel Liu <mr.picklepinosaur@gmail.com>
Sun, 22 Nov 2020 04:36:31 +0000 (23:36 -0500)
committerDaniel Liu <mr.picklepinosaur@gmail.com>
Sun, 22 Nov 2020 04:36:31 +0000 (23:36 -0500)
README.md
blog/templates/index_entry.html [deleted file]
blogindex.html
pb

index 1de04b0..455cc74 100644 (file)
--- 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:
+```
+<!-- BLOG START -->
+<!-- BLOG END -->
+
+```
+
+# 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 (file)
index 428e697..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<p id="{{TITLE}}">{{TITLE}}</p>
index a8881cb..95cea42 100644 (file)
@@ -9,10 +9,9 @@
         <h1>Blog index page</h1>
 
         <!-- BLOG START -->
-<p id="p">p</p>
-<p id="p">p</p>
-<p id="p">p</p>
-<p id="p">p</p>
+<!-- ID:lol START -->
+<p id="lol">lol</p>
+<!-- ID:lol END -->
         <!-- BLOG END -->
 
     </body>
diff --git a/pb b/pb
index 7754f03..0f87d74 100755 (executable)
--- 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="<!-- BLOG START -->"
+end_token="<!-- BLOG END -->"
+
+[ ! -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 '<p id="{{TITLE}}">{{TITLE}}</p>' >> "$data_dir/templates/$index_entry_template"
+    echo '<p id="{{TITLE}}">{{TITLE}}</p>' >> "$data_dir/templates/$index_template"
+    echo -e '<div id="{{TITLE}}">\n<h2>{{TITLE}}</h2>\n<p>{{DATE}}</p></div>' >> "$data_dir/templates/$rolling_template"
+    echo -e '<item>\n<title>{{TITLE}}</title>\n<link></link>\n<description><\description>\n<\item>' \
+        >> "$data_dir/templates/$rss_template"
 
     echo "Created blog files"
 }
 
 refresh() {
-    start_token="<!-- BLOG START -->"
-    end_token="<!-- BLOG END -->"
 
     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 "/<!-- BLOG START -->/ 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\
+        <!-- ID:$to_publish START -->\n`cat "$data_dir/templates/$index_template" | sub "$to_publish"`\n<!-- ID:$to_publish END -->" "$blog_index_file"
+
+    sed -i "/$start_token/ a\
+        <!-- ID:$to_publish START -->\n`cat "$data_dir/templates/$rolling_template" | sub "$to_publish"`\n<!-- ID:$to_publish END -->" "$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 "/<!-- ID:$to_delete START -->/,/<!-- ID:$to_delete END -->/ d" "$blog_index_file"
+    sed -i "/<!-- ID:$to_delete START -->/,/<!-- ID:$to_delete END -->/ 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