blog/utils/libs/generate.sh

68 lines
1.4 KiB
Bash
Raw Normal View History

2023-09-01 04:40:43 +00:00
#!/usr/bin/bash
function generate_blog_post () {
2023-09-03 01:22:34 +00:00
include blog-page
2023-09-01 04:40:43 +00:00
## Loading in required functions
[[ -f $BLOG_PAGE ]] && . $BLOG_PAGE
local PAGE_TITLE="${1:?"generate_blog_post : Page Title was not provided"}"
local POST_FILENAME="${2:?"generate_blog_post : Filename not provided"}"
local POST_FILE=$BLOG_DIR/$POST_FILENAME
if [[ -f $POST_FILE ]]; then
echo "This file ($POST_FILE) already exists. Faling program"
return 1
fi
local -a last_few_posts
get_last_5_pages last_few_posts
cat > $POST_FILE <<EOF
%title $PAGE_TITLE
---------------------------
`
2023-09-03 01:22:34 +00:00
TITLES="[[index.wiki|Index]]"
2023-09-01 04:40:43 +00:00
for page in ${last_few_posts[@]}; do
read JUNK TITLE <<< "$( grep '%title' $page )"
TITLES="${TITLES} [[$page|$TITLE]]"
done
echo $TITLES
`
---------------------------
*Date:* `date +'%Y/%m/%d'`
*Author:* Tristan Ancelet
EOF
return 0
}
2023-09-03 01:22:34 +00:00
function generate_index () {
local -a blog_files
local OUTPUT=$BLOG_DIR/index.wiki
local TITLE DATE JUNK FILENAME
include blog-page
get_blog_pages blog_files
cat >$OUTPUT <<EOF
%title Blog Index
`
for file in ${blog_files[@]}; do
read JUNK TITLE <<< "$( grep '%title' $file )"
FILENAME="$(basename $file)"
DATE="$(grep -i 'date:' $file | grep -Eo '[0-9]{4}/[0-9]{2}/[0-9]{2}')"
echo "[[$FILENAME|$TITLE ($DATE)]]"
done
`
EOF
}