-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdev_mkdocs.sh
More file actions
73 lines (60 loc) · 1.81 KB
/
dev_mkdocs.sh
File metadata and controls
73 lines (60 loc) · 1.81 KB
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
#!/bin/bash
#
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root: sudo bash dev_mkdocs.sh"
exit 1
fi
VENDOR="vendor/plinker"
declare -A components
components['core']='plinker/core'
components['base91']='plinker/base91'
components['asterisk']='plinker/asterisk'
components['cron']='plinker/cron'
components['lxc']='plinker/lxc'
components['redbean']='plinker/redbean'
components['system']='plinker/system'
components['tasks']='plinker/tasks'
components['test']='plinker/test'
components['nginx']='plinker/nginx'
components['iptables']='plinker/iptables'
components['files']='plinker/files'
components['lxd']='plinker/lxd'
function block {
inotifywait -q -r -e modify,move,create,delete $VENDOR
}
function stop_mkdocs_serve {
for pid in $(ps -ef | awk '/mkdocs serve -a 0.0.0.0/{print $2}'); do
echo "Killing mkdocs process: $pid"
sudo kill -9 $pid &> /dev/null
done
}
function start_mkdocs_serve {
sudo mkdocs serve -a 0.0.0.0:8000 >nohup.out 2>&1 &
}
function move_component_docs {
# loop over project components
for key in "${!components[@]}"
do
# check project folder exists
if [ -d "$PWD/vendor/${components[$key]}" ]; then
if [ -f "$PWD/vendor/${components[$key]}/docs/index.md" ]; then
\cp -r $PWD/vendor/${components[$key]}/docs/index.md $PWD/docs/$key.md
else
echo "- Skipping component, docs index does not exist: $PWD/vendor/${components[$key]}/docs/index.md"
fi
else
echo "- Skipping component, directory does not exist: $PWD/vendor/${components[$key]}"
fi
done
}
function main {
move_component_docs
echo "Stopping mkdocs server"
stop_mkdocs_serve
echo "Starting mkdocs server"
start_mkdocs_serve
}
main
while block; do
main
done