mirror of
https://github.com/square/okhttp.git
synced 2025-11-23 06:42:24 +03:00
74 lines
2.2 KiB
Bash
Executable File
74 lines
2.2 KiB
Bash
Executable File
#!/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 mkdocs-redirects
|
|
|
|
set -ex
|
|
|
|
REPO="git@github.com:square/okhttp.git"
|
|
DIR=temp-clone
|
|
|
|
# Delete any existing temporary website clone
|
|
rm -rf $DIR
|
|
|
|
# Clone the current repo into temp folder
|
|
git clone $REPO $DIR
|
|
# Replace `git clone` with these lines to hack on the website locally
|
|
# cp -a . "../okhttp-website"
|
|
# mv "../okhttp-website" "$DIR"
|
|
|
|
# Move working directory into temp folder
|
|
cd $DIR
|
|
|
|
# Generate the API docs
|
|
./gradlew \
|
|
:mockwebserver:dokkaGfm \
|
|
:okhttp-brotli:dokkaGfm \
|
|
:okhttp-dnsoverhttps:dokkaGfm \
|
|
:logging-interceptor:dokkaGfm \
|
|
:okhttp-sse:dokkaGfm \
|
|
:okhttp-tls:dokkaGfm \
|
|
:okhttp-urlconnection:dokkaGfm \
|
|
:okhttp:dokkaGfm
|
|
|
|
# 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 - OkHttp/"
|
|
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/4.x -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.
|
|
cat README.md | grep -v 'project website' > docs/index.md
|
|
cp CHANGELOG.md docs/changelogs/changelog.md
|
|
cp CONTRIBUTING.md docs/contribute/contributing.md
|
|
|
|
# Build the site and push the new files up to GitHub
|
|
mkdocs gh-deploy
|
|
|
|
# Restore Javadocs from 1.x, 2.x, and 3.x.
|
|
git checkout gh-pages
|
|
git cherry-pick bb229b9dcc9a21a73edbf8d936bea88f52e0a3ff
|
|
git cherry-pick c695732f1d4aea103b826876c077fbfea630e244
|
|
git push
|
|
|
|
# Delete our temp folder
|
|
cd ..
|
|
rm -rf $DIR
|