-
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathrebuild_docs
More file actions
executable file
·72 lines (63 loc) · 2.05 KB
/
rebuild_docs
File metadata and controls
executable file
·72 lines (63 loc) · 2.05 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
#!/bin/bash
# Reformats our documentation into geminidoc
HAIKU_SOURCES=$HOME/Code/haiku
HAIKU_WEBSITE=$HOME/Code/website
go install github.com/n0x1m/hugoext@latest
go install github.com/n0x1m/md2gmi@latest
go install github.com/n0x1m/gmifs@latest
cd content
for i in develop user api; do
WORKPATH=$HAIKU_SOURCES/docs/$i
echo "Scanning $WORKPATH..."
if [ -f "$WORKPATH/Doxyfile" ]; then
# XXX: Working.. but looks horrible
echo "Detected Doxygen at $WORKPATH"
## Install moxygen (doxygen to markdown)
#npm install -g --prefix $HOME/.node moxygen
#cd $WORKPATH
#( cat Doxyfile ; \
# echo "GENERATE_HTML=NO" ; \
# echo "GENERATE_XML=YES" ; \
# echo "OUTPUT_DIRECTORY=output" ) | doxygen -
#cd - && rm -rf $i && mkdir -p $i && cd $i
#echo "Doxygen to markdown..."
#$HOME/.node/bin/moxygen -g $WORKPATH/output/xml/
#echo "Markdown to gemini..."
#for i in *.md*; do echo "Processing $i..."; md2gmn -f "$i" > "$i.gmi"; rm -f "$i"; done
elif [ -f "$WORKPATH/conf.py" ]; then
# XXX: Working, looks okish with errors
echo "Detected Sphinx at $WORKPATH"
pip install --upgrade --break-system-packages sphinx_gemini_builder
echo "Cleaning up old docs..."
rm -rf docs/$i
cd $WORKPATH
make gemini
cd -
mkdir -p docs/$i
mv $WORKPATH/generated/gemini/* docs/$i
fi
done
# And now the blog articles
rm -rf docs/blog
mkdir -p docs/blog
for i in $(find $HAIKU_WEBSITE/content/blog -name "*.md" -not -name "_index.md"); do
AUTHOR=$(basename $(dirname $i))
BASE=$(basename -s.md $i)
echo "building docs/blog/$AUTHOR/$BASE.gmi..."
mkdir -p "docs/blog/$AUTHOR"
~/go/bin/md2gmi -i $i > docs/blog/$AUTHOR/$BASE.gmi
done
echo "# Blog Articles" > docs/blog/index.gmi
echo "Automatically collected from the Haiku hypertext website." >> docs/blog/index.gmi
for a in $(find docs/blog/ -maxdepth 1); do
if [[ $a == "docs/blog/" ]]; then
continue;
fi
AUTHOR=$(basename $a)
echo "## $AUTHOR" >> docs/blog/index.gmi
for i in $(find $a -name "*.gmi"); do
echo "indexing $i..."
GMIDOC=$(basename $i)
echo "=> $AUTHOR/$GMIDOC" >> docs/blog/index.gmi
done
done