From 2f0e9afba4a06406c93e7b26fef4daf81bdff40e Mon Sep 17 00:00:00 2001 From: Andrew Stryker Date: Thu, 14 Sep 2023 11:29:45 -0700 Subject: [PATCH] Recover lost edits --- index.mk | 100 +++++++++++++++++++++++++------------------------------ 1 file changed, 46 insertions(+), 54 deletions(-) diff --git a/index.mk b/index.mk index 7051778..3e42032 100644 --- a/index.mk +++ b/index.mk @@ -52,7 +52,7 @@ endif # Use the current directory as the content section name content_section ::= $(shell basename ${CURDIR}) -working_dir ::= ${WORKING}/${content_section} +work_dir ::= ${WORKING}/${content_section} staging_dir ::= ${STAGING}/${content_section} # Define using the same definition as in the main Makefile @@ -63,43 +63,29 @@ index_template ::= index.gmi.m4 index ::= ${staging_dir}/index.gmi header_template ::= header.gmi.m4 -header ::= ${working_dir}/header.gmi +header ::= ${work_dir}/header.gmi footer_template ::= footer.gmi.m4 -footer ::= ${working_dir}/footer.gmi +footer ::= ${work_dir}/footer.gmi + +# Capture all posts as Gemtext files that begin with an ISO formatted date +posts_gmi ::= $(shell ls *.gmi | grep "[[:digit:]]\{4\}\(-[[:digit:]]\{2\}\)\{2\}") +posts ::= $(addprefix ${staging_dir}/,${posts_gmi}) +entries ::= $(addprefix ${work_dir}/,${posts_gmi:.gmi=.lnk}) + +tag_list ::= ${work_dir}/tag-list # Capture potential dependencies all ::= $(notdir $(filter-out _%,%~,.%,$(wildcard *))) -# all good above this line -#-----------------------------------------------------------------------------# -# -# Configuration -# -#-----------------------------------------------------------------------------# - - - -tagged_index_template ?= tagged-index.gmi.m4 - -posts ::= $(wildcard *.gmi) -targets ::= $(addprefix ${STAGING}/, ${posts}) +#tagged_index_template ?= tagged-index.gmi.m4 # support indexing -entries ::= $(addprefix ${WORKSPACE}/, $(patsubst %.gmi, %.lnk, ${posts})) -tag_list ::= ${WORKSPACE}/tag-list #tags = $(shell cut --delimiter ' ' --fields 3 ${tag_list} | sort) #tagged_indicies = $(addprefix ${STAGING}/, $(addsuffix .gmi, ${tags})) - - -# TODO: is there a name for elements header and footer? How can this work with -# templates? -# header and footer - - #-----------------------------------------------------------------------------# # # User interface @@ -149,16 +135,41 @@ help: #> Display this help message # #-----------------------------------------------------------------------------# -${working_dir} ${staging_dir}: %: +${work_dir} ${staging_dir}: %: @mkdir -p $@ @echo "\t✓ Created space: $@" -${header} ${footer}: ${working_dir}/%: % ${working_dir} ${all} - @mkdir -p $@ +${header} ${footer}: ${work_dir}/%: % ${work_dir} ${all} + @m4 --include=${MAKO_DIR} $< > $@ @echo "\t✓ Created: $@" +${posts}: ${staging_dir}/%: ${posts_gmi} ${header} ${footer} ${staging_dir} + @m4 --include=${MAKO_DIR} $< > $@ + @echo "${build_date_msg}" >> $@ + @echo "\t✓ Created $@" + +${entries}: ${work_dir}/%.lnk: ${MAKO_DIR}/create-index-entry.awk %.gmi ${work_dir} + @awk -f $(notdir $^) > $@ + @echo "\t✓ Created: $@" + +# build the tag list +${tag_list}: ${entries} + @cat $^ | sort --unique | \ + sed -e '/^---/ d; s/^\([a-zA-Z0-09]\+\).*/=> \1.gmi \1/' > $@ + @echo "\t✓ Created the tags list" + ${index}: ${index_template} ${header} ${footer} ${posts} +${index}: ${posts} ${tag_list} +${index}: content-index.gmi.m4 ${STAGING} ${tag_list} ${header} ${footer} ${post_entry} + @m4 --include=.. \ + --define=TAGS=${tags_list} \ + --define=POSTS=${post_entry} \ + --define=HEADER=${header} \ + --define=FOOTER=${footer} \ + $< > $@ + @echo ✓ Created $@ + # # Build posts # # 1. Expand header and footer macros @@ -178,25 +189,15 @@ ${targets}: ${STAGING}/%: % ${header} ${footer} # # 1. Extract indexing data from each post # 2. Combine into one list of tags -${entries}: ${WORKSPACE}/%.lnk: ${MAKO_DIR}/create-index-entry.awk %.gmi - @awk -f $^ > $@ - @echo "\t✓ Created $@" - -# build the tag list -${tag_list}: ${entries} - @cat $^ | sort --unique | \ - sed -e '/^---/ d; s/^\([a-zA-Z0-09]\+\).*/=> \1.gmi \1/' > $@ - @echo "\t✓ Created the tags list" - # # Build the index files # # -${index}: ${index_template} ${tag_list} - # build the index files - # recurse into another Makefile? - @m4 --include=${MAKO_DIR} $< > $@ +#${index}: ${index_template} ${tag_list} +# # build the index files +# # recurse into another Makefile? +# @m4 --include=${MAKO_DIR} $< > $@ #${tagged_indicies}: ${STAGING}/%.gmi: tag-index-template.gmi.m4 ${tag_list} @@ -209,17 +210,8 @@ ${index}: ${index_template} ${tag_list} # @echo ✓ Created index $@ # generate the index entries across all posts -${index_entries}: ${tag_list} - @grep "^---" $^ | cut --delimiter=' ' --fields=2 | sort --reverse --key=3 > $@ - @echo ✓ Created $@ - -${index}: content-index.gmi.m4 ${STAGING} ${tag_list} ${header} ${footer} ${post_entry} - @m4 --include=.. \ - --define=TAGS=${tags_list} \ - --define=POSTS=${post_entry} \ - --define=HEADER=${header} \ - --define=FOOTER=${footer} \ - $< > $@ - @echo ✓ Created $@ +#${index_entries}: ${tag_list} +# @grep "^---" $^ | cut --delimiter=' ' --fields=2 | sort --reverse --key=3 > $@ +# @echo ✓ Created $@ #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#