summaryrefslogtreecommitdiff
path: root/Makefile
blob: afa9a7ee93f41fe30af2e6e15a90f1a44ef33f8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Written for FreeBSD make(1), or pmake. Not tested with GNU make.

POST_T = templates/template.html
INDEX_HEAD_T = templates/index_foot.html
INDEX_FOOT_T = templates/index_head.html

.PHONY: serve post clean

all: index.html

serve: 
	python3.7 -m http.server 3000

post: 
	@read -p "Title: " TITLE; \
	read -p "Category: " CATEGORY; \
	SHORT_DATE=`date +"%Y-%m-%d"`; \
	LONG_DATE=`date +"%a, %d %b %Y"`; \
	mkdir -p posts/$$CATEGORY; \
	FILENAME=posts/$$CATEGORY/$$SHORT_DATE-`printf "$$TITLE" | tr -Cs "[:alnum:]" '-' | tr "[:upper:]" "[:lower:]"`.html; \
	cp $(POST_T) $$FILENAME; \
	sed -i '' "s/{{ title }}/$$TITLE/g" $$FILENAME; \
	$$EDITOR $$FILENAME; \
	sed -i '' "s#</channel>#<item> <title>$$TITLE</title> <pubDate>$$LONG_DATE</pubDate> <link>https://www.53hor.net/$$FILENAME</link> <guid>https://www.53hor.net/$$FILENAME</guid> </item>\n</channel>#" rss.xml; \
	sed -i '' "s#<ul id=\"index\">#<ul id=\"index\">\n<li> <a href=\"/$$FILENAME\">$$TITLE <code>$$LONG_DATE</code> </a> </li>#" index.html

index.html: posts/*.html
	@grep h1 $> | sort -r | sed 's#^\(posts/\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\)[^:]*\):[ \t]*<h1>\(.*\)</h1>#<li><a href="/\1">\3 <code>\2</code></a></li>#' | cat $(INDEX_FOOT_T) - $(INDEX_HEAD_T) > index.html

clean:
	rm index.html