-
Notifications
You must be signed in to change notification settings - Fork 0
/
gen_docs.sh
executable file
·57 lines (45 loc) · 1.65 KB
/
gen_docs.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
#!/bin/bash
# The website is built using MkDocs with the Material theme.
# https://squidfunk.github.io/mkdocs-material/
# It requires Python to run.
# Install the packages with the following command:
# pip install mkdocs mkdocs-material
set -ex
REPO="git@github.com:paulovap/pinelang.git"
DIR=temp-clone
# Delete any existing temporary website clone
rm -rf $DIR
# Clone the current repo into temp folder
git clone $REPO $DIR
# Move working directory into temp folder
cd $DIR
# Generate the API docs
./gradlew assemble
./gradlew :core:dokka :lsp:dokka :android:dokka
# Dokka filenames like `-http-url/index.md` don't work well with MkDocs <title> tags.
# Assign metadata to the file's first Markdown heading.
# https://www.mkdocs.org/user-guide/writing-your-docs/#meta-data
title_markdown_file() {
TITLE_PATTERN="s/^[#]+ *(.*)/title: \1 - Pinelang/"
echo "---" > "$1.fixed"
cat $1 | sed -E "$TITLE_PATTERN" | grep "title: " | head -n 1 >> "$1.fixed"
echo "---" >> "$1.fixed"
echo >> "$1.fixed"
cat $1 >> "$1.fixed"
mv "$1.fixed" "$1"
}
set +x
for MARKDOWN_FILE in $(find docs/ -name '*.md'); do
echo $MARKDOWN_FILE
title_markdown_file $MARKDOWN_FILE
done
set -x
# Copy in special files that GitHub wants in the project root.
cp Readme.md docs/index.md
#cp CHANGELOG.md docs/changelog.md
#cp CONTRIBUTING.md docs/contributing.md
# Build the site and push the new files up to GitHub
mkdocs gh-deploy
# Delete our temp folder
cd ..
rm -rf $DIR