-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathget_pages.sh
executable file
·64 lines (52 loc) · 1.5 KB
/
get_pages.sh
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
#!/usr/bin/env bash
set -e
pushd ddox
dub upgrade
dub build
popd
root=`pwd`
for pageName in content/main $(ls content/repos/); do
printf "****************\nbuilding: $pageName\n****************\n"
if [ $pageName != content/main ]
then
rm -rf ${pageName}
mkdir ${pageName}
pushd content/repos/${pageName}
if [ -f gen_docs ]
then
./gen_docs
else
PATH=$root/ddox:$PATH dub build --build=DSddox
fi
popd
if [ -f content/repos/${pageName}/site/readme_as_index ]
then
cat content/repos/${pageName}/README.md | tr -d '\r' > ${pageName}/index.md
fi
cp -r content/repos/${pageName}/site/* ${pageName}/
if [ -d ${pageName}/api ]
then
pushd ${pageName}/api
ln -s ../../ddox/public/* .
popd
fi
mdFiles=$(find ${pageName} -name \*.md)
else
cp -r content/main/* .
mdFiles=$(find content/main -name \*.md | sed "s|^content/main/||")
fi
for page in $mdFiles; do
if [ "$(head -n1 $page | tr -d '\n')" = --- ]
then
sed -n '/^---/,/^---/p' $page > header
sed '/^---/,/^---/d' $page > body
else
cp $page body
printf -- "---\nlayout: default\n---\n" > header
fi
page_html=${page%.*}.html
python3 md_to_html.py body > processed
cat header processed > $page_html
rm $page body header processed
done
done