Compare commits
5 Commits
e10f74c5b6
...
f653f7ba23
| Author | SHA1 | Date | |
|---|---|---|---|
| f653f7ba23 | |||
| be6466c0ff | |||
| c2aef5c998 | |||
| 3094407195 | |||
| 00af1b4b56 |
+35
-7
@@ -1,17 +1,45 @@
|
||||
all: clean out
|
||||
all: microlog blog $(shell find src -type f) $(shell find share -type f) $(shell find bin)
|
||||
./bin/mkws https://joeac.net
|
||||
|
||||
.PHONY: remove_deleted_posts
|
||||
remove_deleted_posts: remove_deleted_microlog_posts remove_deleted_blog_posts
|
||||
|
||||
.PHONY: remove_deleted_microlog_posts
|
||||
remove_deleted_microlog_posts:
|
||||
for post in $$(find src/microlog -name *.microlog.upphtml); do \
|
||||
post_basename="$$(basename "$$post")"; \
|
||||
post_src="blogs/microlog/$${post_basename::$${#post_basename}-17}.gmi"; \
|
||||
if ! [ -f "$$post_src" ]; then \
|
||||
echo "Microlog post source file $${post_src} has been deleted: removing $${post}"; \
|
||||
rm -f "$$post" "$${post}.args"; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
.PHONY: remove_deleted_blog_posts
|
||||
remove_deleted_blog_posts:
|
||||
for post in $$(find src/blog -name *.blog.upphtml); do \
|
||||
post_basename="$$(basename "$$post")"; \
|
||||
post_src="blogs/blog/$${post_basename::$${#post_basename}-13}.gmi"; \
|
||||
if ! [ -f "$$post_src" ]; then \
|
||||
echo "Blog post source file $${post_src} has been deleted: removing $${post}"; \
|
||||
rm -f "$$post" "$${post}.args"; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
out: microlog blog $(shell find src -type f) $(shell find share -type f) $(shell find bin)
|
||||
./bin/mkws https://joeac.net
|
||||
|
||||
microlog: src/microlog
|
||||
.PHONY: microlog
|
||||
microlog: remove_deleted_microlog_posts $(patsubst blogs/microlog/%.gmi,src/microlog/%.microlog.upphtml,$(wildcard blogs/microlog/*.gmi))
|
||||
|
||||
src/microlog: $(shell find -L blogs/microlog -type f) bin/blog
|
||||
./bin/blog -i microlog -l microlog -t -p gmi2upphtml
|
||||
src/microlog/%.microlog.upphtml: blogs/microlog/%.gmi bin/blog bin/gmi2upphtml
|
||||
./bin/blog -i microlog -l microlog -t -p gmi2upphtml -f $*.gmi
|
||||
|
||||
blog: src/blog
|
||||
.PHONY: blog
|
||||
blog: remove_deleted_blog_posts $(patsubst blogs/blog/%.gmi,src/blog/%.blog.upphtml,$(wildcard blogs/blog/*.gmi))
|
||||
|
||||
src/blog: $(shell find -L blogs/blog -type f) bin/blog
|
||||
./bin/blog -i blog -l blog -p 'cut_longlog_meta | gmi2upphtml' -a extract_longlog_meta
|
||||
src/blog/%.blog.upphtml: blogs/blog/%.gmi bin/blog bin/gmi2upphtml bin/cut_longlog_meta
|
||||
./bin/blog -i blog -l blog -p 'cut_longlog_meta | gmi2upphtml' -a extract_longlog_meta -f $*.gmi
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
|
||||
+11
-5
@@ -7,7 +7,7 @@ export LAYOUTS="$(realpath share/layouts)"
|
||||
usage()
|
||||
{
|
||||
>&2 cat << USAGE
|
||||
usage: blog -i LOG [-p POSTPROCESS_CMD] [-a EXTRACT_ARGS_CMD] [-l LAYOUT] [-t]
|
||||
usage: blog -i LOG [-p POSTPROCESS_CMD] [-a EXTRACT_ARGS_CMD] [-l LAYOUT] [-t] [-f FILE_PATTERN]
|
||||
|
||||
options:
|
||||
|
||||
@@ -15,6 +15,9 @@ options:
|
||||
If provided, a shell command to extract arguments to the layout from the
|
||||
source files. The shell will be provided with a variable, POST_TITLE.
|
||||
|
||||
-f FILE
|
||||
If provided, a pattern for the files to process. Default: *.
|
||||
|
||||
-i LOG
|
||||
The name of the source directory under \$BLOGS where log posts live.
|
||||
|
||||
@@ -32,17 +35,21 @@ USAGE
|
||||
}
|
||||
|
||||
extract_args_cmd="head -n 0 | echo \"POST_TITLE=\\\"\${POST_TITLE}\\\"\""
|
||||
file_pattern="*"
|
||||
log_name=""
|
||||
layout="default"
|
||||
postprocess_cmd="echo"
|
||||
use_filenames_for_titles=0
|
||||
|
||||
while getopts "a:i:l:p:t" opt
|
||||
while getopts "a:f:i:l:p:t" opt
|
||||
do
|
||||
case $opt in
|
||||
a)
|
||||
extract_args_cmd="$OPTARG"
|
||||
;;
|
||||
f)
|
||||
file_pattern="$OPTARG"
|
||||
;;
|
||||
i)
|
||||
log_name="$OPTARG"
|
||||
;;
|
||||
@@ -83,13 +90,12 @@ then
|
||||
echo >&2 "Warning: no layout found at $(basename "${LAYOUTS}")/${layout_name}.layout.upphtml"
|
||||
fi
|
||||
|
||||
rm -rf "${SRC}/${log_name}/"
|
||||
mkdir -p "${SRC}/${log_name}"
|
||||
|
||||
for entry in $(find -L "${BLOGS}/${log_name}" -type f)
|
||||
for entry in $(find -L "${BLOGS}/${log_name}" -type f -name "${file_pattern}")
|
||||
do
|
||||
basename="$(basename "$entry")"
|
||||
name="${basename%%\.*}"
|
||||
name="${basename%\.*}"
|
||||
dest="${SRC}/${log_name}/${name}${layout_ext}.upphtml"
|
||||
if [ $use_filenames_for_titles -eq 1 ]
|
||||
then
|
||||
|
||||
Reference in New Issue
Block a user