blob: 3f6f68c2e6a065346626eedb2b5cf2589bc2d138 (
plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
#!/bin/bash
WIKIROOT=/home/hugo/wiki/
WIKI_LIST=$(ls $WIKIROOT | grep -v html)
# A simple script for managing a vimwiki git repo.
# Allows slightly simpler edits and commits.
wiki_list=""
function wiki_do {
wiki=$1
command=$2
pushd $WIKIROOT/$wiki
shift
case $command in
commit)
shift
if [ $# -eq 1 ]; then
msg="$(date --rfc-email)"
else
msg="$@"
fi
git add -A
git commit -m "$msg"
;;
ammend)
shift
if [ $# -eq 1 ]; then
git commit --amend
else
msg="$@"
git commit --amend -m "$msg"
fi
;;
g|go)
wiki commit
wiki push
;;
echo)
echo "-- $wiki --"
;;
*)
eval "git $@"
;;
esac
}
# == MAIN ==
while [ $# -ne 0 ]; do
case $1 in
-w|--wiki)
shift
wiki_list="$1 $wiki_list"
shift
;;
-l|--list)
shift
echo "Available Wikis:"
echo "================"
for w in $WIKI_LIST; do
echo " - $w"
done
exit
;;
-h|--help|-?)
shift
cat - <<- EOF
Wiki helper. Usage:
--help | -h :: Display this help
--list | -l :: Show available wikis
--wiki | -w <wiki> :: specify a specific wiki for operation
Default acts on all wikis.
wi commit [msg] :: Create a git commit on specified wikis
wi ammend [msg] :: Change last commit
wi g [msg] :: wi commit [msg]; wi push
wi [git-command] :: run git commands on wikis
EOF
exit
;;
*)
break
;;
esac
done
if [ $# -eq 0 ]; then
set -- ${wiki_list:-$WIKI_LIST}
vim $WIKIROOT/$1/index.*
exit
fi
for wiki in ${wiki_list:-$WIKI_LIST}; do
echo "== $wiki =="
wiki_do $wiki $@ &
done
wait
|