pdssg

Pandoc static site generator
git clone https://git.torresjrjr.com/pdssg.git
Log | Files | Refs | README | LICENSE

commit 8d51e5884d2af3f3a733b048fb04da0f7df29e74
parent 436bd0dddf7f76fbe68b52ff6fa34e3af18ba68a
Author: Byron Torres <b@torresjrjr.com>
Date:   Fri, 26 Nov 2021 06:11:48 +0000

Use new feeds and articles scheme

Diffstat:
Mpdssg | 36+++++++++++++++++++-----------------
1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/pdssg b/pdssg @@ -73,11 +73,6 @@ prepare_dst() { ) rm ${IGNORE_MD_FILE} - echo "Finding feeds home directory" - FEEDS_DIR="$(cat ./_feeds)" - FEEDS_DIR=${FEEDSDIR:-./feeds} - echo "Dir: ${FEEDS_DIR}" - ASSETS_DIR="./ast" # No ending slash! echo "Finding CSS files in assets directory ${ASSETS_DIR}" stylesheets=$( @@ -105,8 +100,9 @@ find_feeds() { echo echo "# Finding feed gen directories" - ATOM_SEEDS=$(find ${FEEDS_DIR} -type f -path '*.md') - POSTS_DIRS=$(echo "${ATOM_SEEDS}" | sed -e "s|^${FEEDS_DIR}|.|" -e 's|\.md$||') + #ATOM_SEEDS=$(find -type f -path '*.feed.md' | sed 's|index\.feed\.md$||') + #POSTS_DIRS=$(echo "${ATOM_SEEDS}" | sed -e "s|^${FEEDS_DIR}|.|" -e 's|\.md$||') + POSTS_DIRS=$(find -type f -path '*.feed.md' | sed 's|index\.feed\.md$||') echo ${ATOM_SEEDS} @@ -135,13 +131,13 @@ cache_posts_metadata() { mkdir -p $(dirname ${cache_file}) echo "log:" > ${cache_file} - for post in ${posts_dir}/*.md + for post in ${posts_dir}/*/index.md do env printf 'Caching: %s\n' "${post}" post_yaml="$(_get_yaml_block ${post})" - filename=$(basename ${post}) - slug_attr="slug: ${filename%.md}" + slug=$(basename $(dirname ${post})) + slug_attr="slug: ${slug}" yaml_block="$( env printf '%s\n' "${post_yaml}" "${slug_attr}" \ | sed 's/^/ /' @@ -173,13 +169,17 @@ process_files() { [ -n "${bool_toc}" ] && flag_toc="--toc" ### feed gen directory test ### - cache_file="${TMP_DIR}/${md_file%.md}/meta.yaml" + cache_file="${TMP_DIR}/${md_file%index.md}meta.yaml" [ -f "${cache_file}" ] && { flag_metadata_file="--metadata-file=${cache_file}" } + [ "$md_file" = ./index.md ] && { + flag_metadata_file="--metadata-file=$TMP_DIR/archive/meta.yaml" + } + ### article test ### - cache_file="${TMP_DIR}/$(dirname ${md_file})/meta.yaml" + cache_file="${TMP_DIR}/$(dirname $(dirname ${md_file}))/meta.yaml" [ -f "${cache_file}" ] && { flag_is_article="-M is_article:true" } @@ -216,8 +216,8 @@ make_atom_feed() { posts_dir="$1" cache_file="${TMP_DIR}/${posts_dir}/meta.yaml" - atom_seed="${FEEDS_DIR}/${posts_dir}.md" - atom_out="${FEEDS_DIR}/${posts_dir}.xml" + atom_seed="${posts_dir}/index.feed.md" + atom_out="${posts_dir}/index.xml" pandoc \ -f markdown -t html \ @@ -233,15 +233,17 @@ make_atom_feed() { echo "Inserting contents" - posts_reverse=$(echo ${posts_dir}/*.html | sed 's/ /\n/g' | sort -r) + posts_reverse=$(echo ${posts_dir}/*/index.html | sed 's/ /\n/g' | sort -r) for post in ${posts_reverse} do env printf 'Inserting: %s\n' "${post}" sed -n '/<!--CONTENT-->/,$!p' ${TMP_DIR}/atom.xml > ${TMP_DIR}/before.xml - cat "${post}" | sed -n '/<article>/,/<\/article>/p' > ${TMP_DIR}/content.xml + sed -n '/<article>/,/<\/article>/p' "${post}" > ${TMP_DIR}/content.xml sed -n '1,/<!--CONTENT-->/!p' ${TMP_DIR}/atom.xml > ${TMP_DIR}/after.xml - cat ${TMP_DIR}/{before,content,after}.xml > ${TMP_DIR}/atom.xml + + cat ${TMP_DIR}/before.xml ${TMP_DIR}/content.xml ${TMP_DIR}/after.xml \ + > ${TMP_DIR}/atom.xml done echo "Finishing feed"