docs: rename docs scripts and improve template

This commit is contained in:
Thomas Kriechbaumer 2020-04-11 12:25:56 +02:00
parent 5ea75a1a81
commit 55527c00eb
13 changed files with 80 additions and 49 deletions

9
dev.sh
View File

@ -1,6 +1,9 @@
#!/bin/sh #!/usr/bin/env bash
set -e
set -x set -o errexit
set -o pipefail
set -o nounset
set -o xtrace
echo "Creating dev environment in ./venv..." echo "Creating dev environment in ./venv..."

View File

@ -8,7 +8,7 @@ This directory houses the mitmproxy documentation available at <https://docs.mit
2. Windows users: Depending on your git settings, you may need to manually create a symlink from 2. Windows users: Depending on your git settings, you may need to manually create a symlink from
/docs/src/examples to /examples. /docs/src/examples to /examples.
3. Make sure the mitmproxy Python package is installed. 3. Make sure the mitmproxy Python package is installed.
4. Run `./build-current` to generate the documentation source files in `./src/generated`. 4. Run `./build.sh` to generate additional documentation source files.
Now you can run `hugo server -D` in ./src. Now you can run `hugo server -D` in ./src.

View File

@ -1,4 +0,0 @@
#!/bin/sh
set -e
DOCS_ARCHIVE=true ./build-current

View File

@ -1,14 +0,0 @@
#!/usr/bin/env bash
set -e
for script in scripts/* ; do
echo "Generating output for $script ..."
output="${script##*/}"
"$script" > "src/generated/${output%.*}.html"
done
python3 render_examples > src/content/addons-examples.md
cd src
hugo

23
docs/build.sh Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -o errexit
set -o pipefail
set -o nounset
# set -o xtrace
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
pushd ${SCRIPTPATH}
for script in scripts/* ; do
output="${script##*/}"
output="src/generated/${output%.*}.html"
echo "Generating output for ${script} into ${output} ..."
"${script}" > "${output}"
done
output="src/content/addons-examples.md"
echo "Generating examples content page into ${output} ..."
./render_examples.py > "${output}"
cd src
hugo

View File

@ -1,9 +1,13 @@
#!/bin/bash #!/usr/bin/env bash
set -e
# This script gets run from CI to render and upload docs set -o errexit
set -o pipefail
set -o nounset
# set -o xtrace
./build-current # This script gets run from CI to render and upload docs for the master branch.
./build.sh
# Only upload if we have defined credentials - we only have these defined for # Only upload if we have defined credentials - we only have these defined for
# trusted commits (i.e. not PRs). # trusted commits (i.e. not PRs).

View File

@ -14,10 +14,12 @@ menu:
# Examples of Addons and Scripts # Examples of Addons and Scripts
The most recent set of examples is also available [on our GitHub project](https://github.com/mitmproxy/mitmproxy/tree/master/examples).
""") """)
base = os.path.dirname(os.path.realpath(__file__)) base = os.path.dirname(os.path.realpath(__file__))
examples_path = os.path.join(base, '../src/examples/') examples_path = os.path.join(base, 'src/examples/')
pathlist = Path(examples_path).glob('**/*.py') pathlist = Path(examples_path).glob('**/*.py')
examples = [os.path.relpath(str(p), examples_path) for p in sorted(pathlist)] examples = [os.path.relpath(str(p), examples_path) for p in sorted(pathlist)]
@ -33,7 +35,7 @@ for ex in examples:
print(" * [Examples: {}]({{{{< relref \"addons-examples#{}\">}}}})".format(current_dir, sanitized)) print(" * [Examples: {}]({{{{< relref \"addons-examples#{}\">}}}})".format(current_dir, sanitized))
sanitized = ex.replace('/', '').replace('.', '') sanitized = ex.replace('/', '').replace('.', '')
print(" * [{}]({{{{< relref \"addons-examples#{}\">}}}})".format(ex, sanitized)) print(" * [{}]({{{{< relref \"addons-examples#example-{}\">}}}})".format(os.path.basename(ex), sanitized))
current_dir = None current_dir = None
current_level = 2 current_level = 2
@ -43,6 +45,6 @@ for ex in examples:
print("#" * current_level, current_dir) print("#" * current_level, current_dir)
print(textwrap.dedent(""" print(textwrap.dedent("""
{} {} {} Example: {}
{{{{< example src="{}" lang="py" >}}}} {{{{< example src="{}" lang="py" >}}}}
""".format("#" * (current_level + 1), ex, "/examples/" + ex))) """.format("#" * (current_level + 1), ex, "examples/" + ex)))

View File

@ -1,5 +1,11 @@
#!/bin/sh #!/usr/bin/env bash
set -e
set -o errexit
set -o pipefail
set -o nounset
# set -o xtrace
# This is only needed once to provision a new fresh empty S3 bucket.
aws configure set preview.cloudfront true aws configure set preview.cloudfront true
aws --profile mitmproxy \ aws --profile mitmproxy \

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/usr/bin/env bash
set -e
set -o errexit
set -o pipefail
set -o nounset
# set -o xtrace
if [[ $# -eq 0 ]] ; then if [[ $# -eq 0 ]] ; then
echo "Please supply a version, e.g. 'v3'" echo "Please supply a version, e.g. 'v3'"

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/usr/bin/env bash
set -e
set -o errexit
set -o pipefail
set -o nounset
# set -o xtrace
aws configure set preview.cloudfront true aws configure set preview.cloudfront true
aws --profile mitmproxy \ aws --profile mitmproxy \

View File

@ -37,10 +37,10 @@ These steps assume you are on the correct branch and have a git remote called `o
`export VERSION=4.0.3 && docker pull mitmproxy/mitmproxy:$VERSION && docker tag mitmproxy/mitmproxy:$VERSION mitmproxy/mitmproxy:latest && docker push mitmproxy/mitmproxy:latest`. `export VERSION=4.0.3 && docker pull mitmproxy/mitmproxy:$VERSION && docker tag mitmproxy/mitmproxy:$VERSION mitmproxy/mitmproxy:latest && docker push mitmproxy/mitmproxy:latest`.
### Docs ### Docs
- `./build-current`. If everything looks alright, continue with - `./build.sh`. If everything looks alright, continue with
- `./upload-stable`, - `./upload-stable.sh`,
- `./build-archive`, and - `DOCS_ARCHIVE=true ./build.sh`, and
- `./upload-archive v4`. Doing this now already saves you from switching back to an old state on the next release. - `./upload-archive.sh v4`. Doing this now already saves you from switching back to an old state on the next release.
### Website ### Website
- Update version here: - Update version here:

View File

@ -1,12 +1,15 @@
#!/bin/sh #!/usr/bin/env bash
set -e
set -o errexit
set -o pipefail
set -o nounset
# set -o xtrace
MITMPROXY_PATH="/home/mitmproxy/.mitmproxy" MITMPROXY_PATH="/home/mitmproxy/.mitmproxy"
if [[ "$1" = "mitmdump" || "$1" = "mitmproxy" || "$1" = "mitmweb" ]]; then if [[ "$1" = "mitmdump" || "$1" = "mitmproxy" || "$1" = "mitmweb" ]]; then
mkdir -p "$MITMPROXY_PATH" mkdir -p "$MITMPROXY_PATH"
chown -R mitmproxy:mitmproxy "$MITMPROXY_PATH" chown -R mitmproxy:mitmproxy "$MITMPROXY_PATH"
su-exec mitmproxy "$@" su-exec mitmproxy "$@"
else else
exec "$@" exec "$@"

View File

@ -76,4 +76,4 @@ deps =
awscli awscli
changedir = docs changedir = docs
commands = commands =
./ci ./ci.sh