You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.9 KiB
Bash

#!/bin/sh
# Script for new posts
FILE=/tmp/sufyaan-website-post$(date +%d).md
ROOT=~/docs/sys/gits/sufyaan-website
echo '- [ ] Linux\n- [ ] Software\n- [ ] Technology\n- [ ] Design\n- [ ] Guides\n- [ ] Literary\n- [ ] Other' > $FILE
nvim $FILE
CATPG="$(grep 'X' $FILE | cut -d' ' -f3)"
CATPGL="$(echo $CATPG | tr ' ' '\n' | sed 's/[A-Z]/\L&/g')"
CATSTR="$(echo $CATPG | tr -d \\n | sed 's/[A-Z]/ \&\& &/g')"
CATFIN="$(echo $CATSTR | cut --complement -d' ' -f1 | sed 's/\(Linux\|Software\|Technology\|Design\|Guides\|Literary\|Other\)/<a style="color:#ff79c6" href="..\/blog\/&\/"><strong>&<\/strong><\/a>/g' | sed 's/\/blog\/\(Linux\|Software\|Technology\|Design\|Guides\|Literary\|Other\)/\L&/g' | sed 's/\//\\\//g' | sed 's/\&\&/\\\&\\\&/g')"
POSTED=$(date +'%d %B %Y')
read -p "Enter post title: " TITLE
read -p "Enter post relative URL: " URL
read -p "Enter reading time: " READ
read -p "Enter previous post: " PREVPOST
EMAIL=$(echo $TITLE | sed 's/ /%20/g')
cd $ROOT
mkdir -p $URL
cp template.html $URL/index.html
# Replacing placeholders with values in new post
sed -i "s/POST TITLE/$TITLE/g" $URL/index.html
sed -i "s/POST DATE/$POSTED/g" $URL/index.html
sed -i "s/READING/$READ/g" $URL/index.html
sed -i "s/MAILSUBJECT/$EMAIL/g" $URL/index.html
sed -i "s/URL/$URL/g" $URL/index.html
sed -i "s/PREVIOUSPOST/$PREVPOST/g" $URL/index.html
sed -i "s/POSTCATEGORIES/$CATFIN/g" $URL/index.html
ORIGINALFOOTER=" - <a.*terminal.*First Post.*><\/svg>"
NEWFOOTER=" - <a style='color:#bd93f9' href=\"..\/$URL\/\">Next Post<\/a> <svg class='footer-posts' xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 48 48'><mask id='ipSRightOne0'><path fill='#fff' stroke='#fff' stroke-linejoin='round' stroke-width='4' d='m20 12l12 12l-12 12V12Z'\/><\/mask><path fill='#bd93f9' d='M0 0h48v48H0z' mask='url\(\#ipSRightOne0\)'\/><\/svg><\/p>"
sed -i "s/$ORIGINALFOOTER/$NEWFOOTER/g" $PREVPOST/index.html
# Adding to categories
DATE=$(date +%d/%m/%y)
CATREP="\t\t<li><code class='code-posts'>$DATE<\/code> - <a style='color:#bd93f9' href='\.\.\/\.\.\/$URL\/'>$TITLE<\/a><\/li>"
CATREPBLOG="\t\t<li><code class='code-posts'>$DATE<\/code> - <a style='color:#bd93f9' href='\.\.\/$URL\/'>$TITLE<\/a><\/li>"
CATREPSITEMAP="\t\t<li><a style='color:#bd93f9' href='../$URL/'>$TITLE</a></li>"
for LINE in $CATPGL
do
FILE=$ROOT/blog/$LINE/index.html
sed -i '/<ul class="posts">/{G;}' $FILE
sed -i 's/^\s*$/EMPTYEMPTYEMPTY/g' $FILE
sed -i "s,EMPTYEMPTYEMPTY,$CATREP,g" $FILE
done
sed -i '/<ul class="posts">/{G;}' blog/index.html
sed -i 's/^\s*$/EMPTYEMPTYEMPTY/g' blog/index.html
sed -i "s,EMPTYEMPTYEMPTY,$CATREPBLOG,g" blog/index.html
sed -i '/<ul class="posts">/{G;}' sitemap/index.html
sed -i 's/^\s*$/EMPTYEMPTYEMPTY/g' sitemap/index.html
sed -i "s,EMPTYEMPTYEMPTY,$CATREPSITEMAP,g" sitemap/index.html
sed -i '/<ul class="pane">/{G;}' sitemap/index.html
sed -i 's/^\s*$/EMPTYEMPTYEMPTY/g' sitemap/index.html
sed -i "s,EMPTYEMPTYEMPTY,$CATREPSITEMAP,g" sitemap/index.html
# Removing temporary file
rm $FILE