summaryrefslogtreecommitdiff
path: root/posts.sh
diff options
context:
space:
mode:
Diffstat (limited to 'posts.sh')
-rwxr-xr-xposts.sh41
1 files changed, 0 insertions, 41 deletions
diff --git a/posts.sh b/posts.sh
deleted file mode 100755
index 464def8..0000000
--- a/posts.sh
+++ /dev/null
@@ -1,41 +0,0 @@
1#!/usr/bin/env bash
2
3shopt -s extglob nullglob
4
5add_to_list() {
6 list=$(basename "$1")
7 file=$(basename "$2")
8 last_link=$(find ./lists/"$list" -regex '.*/[0-9]*$' -printf '%f\n' | sort | tail -n1)
9 new_link=$(printf '%03d\n' $(($last_link + 1)))
10 ln -s ../../posts/"$file" ./lists/"$list"/"$new_link"
11}
12
13new_post() {
14 filename="$1"
15 shift 1
16 cat >posts/$filename <<EOF
17% $@
18EOF
19 add_to_list zz_all "$filename"
20}
21
22
23. ./getopts_long.sh
24
25while getopts_long ":n:a:" opt \
26 "" "$@"
27do
28 case $opt in
29 n)
30 shift "$(($OPTLIND - 1))"
31 new_post "$OPTLARG" "$@"
32 exit 0;;
33 a)
34 shift "$(($OPTLIND - 1))"
35 for f in $@; do add_to_list "$OPTLARG" $f; done
36 exit 0;;
37 :)
38 printf >&2 '%s: %s\n' "${0##*/}" "$OPTLERR"
39 exit 1;;
40 esac
41done