aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Kriechbaumer <thomas@kriechbaumer.name>2020-04-11 12:25:56 +0200
committerThomas Kriechbaumer <thomas@kriechbaumer.name>2020-04-11 12:25:56 +0200
commit55527c00eb35bf3b07b361363fd8ca2961afc8ba (patch)
tree4d9067ff2bcfd921dcb24852b522537f948e6801
parent5ea75a1a8176f764429fb45875626b1b7ef6644c (diff)
downloadmitmproxy-55527c00eb35bf3b07b361363fd8ca2961afc8ba.tar.gz
mitmproxy-55527c00eb35bf3b07b361363fd8ca2961afc8ba.tar.bz2
mitmproxy-55527c00eb35bf3b07b361363fd8ca2961afc8ba.zip
docs: rename docs scripts and improve template
-rwxr-xr-xdev.sh11
-rw-r--r--docs/README.md2
-rwxr-xr-xdocs/build-archive4
-rwxr-xr-xdocs/build-current14
-rwxr-xr-xdocs/build.sh23
-rwxr-xr-xdocs/ci.sh (renamed from docs/ci)12
-rwxr-xr-xdocs/render_examples.py10
-rwxr-xr-xdocs/setup.sh (renamed from docs/setup)10
-rwxr-xr-xdocs/upload-archive.sh (renamed from docs/upload-archive)8
-rwxr-xr-xdocs/upload-stable.sh (renamed from docs/upload-stable)8
-rw-r--r--release/README.md8
-rwxr-xr-xrelease/docker/docker-entrypoint.sh17
-rw-r--r--tox.ini2
13 files changed, 80 insertions, 49 deletions
diff --git a/dev.sh b/dev.sh
index a90b48ab..df7b22d4 100755
--- a/dev.sh
+++ b/dev.sh
@@ -1,6 +1,9 @@
-#!/bin/sh
-set -e
-set -x
+#!/usr/bin/env bash
+
+set -o errexit
+set -o pipefail
+set -o nounset
+set -o xtrace
echo "Creating dev environment in ./venv..."
@@ -12,4 +15,4 @@ pip3 install -r requirements.txt
echo ""
echo " * Created virtualenv environment in ./venv."
echo " * Installed all dependencies into the virtualenv."
-echo " * You can now activate the $(python3 --version) virtualenv with this command: \`. venv/bin/activate\`" \ No newline at end of file
+echo " * You can now activate the $(python3 --version) virtualenv with this command: \`. venv/bin/activate\`"
diff --git a/docs/README.md b/docs/README.md
index 5c99fb39..24c24d24 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -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
/docs/src/examples to /examples.
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.
diff --git a/docs/build-archive b/docs/build-archive
deleted file mode 100755
index 004e625a..00000000
--- a/docs/build-archive
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -e
-
-DOCS_ARCHIVE=true ./build-current
diff --git a/docs/build-current b/docs/build-current
deleted file mode 100755
index d01b4e7e..00000000
--- a/docs/build-current
+++ /dev/null
@@ -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
diff --git a/docs/build.sh b/docs/build.sh
new file mode 100755
index 00000000..aaa52a2f
--- /dev/null
+++ b/docs/build.sh
@@ -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
diff --git a/docs/ci b/docs/ci.sh
index 95a5218e..159d0b50 100755
--- a/docs/ci
+++ b/docs/ci.sh
@@ -1,9 +1,13 @@
-#!/bin/bash
-set -e
+#!/usr/bin/env bash
-# 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
# trusted commits (i.e. not PRs).
diff --git a/docs/render_examples.py b/docs/render_examples.py
index b6fa42eb..9c6dea74 100755
--- a/docs/render_examples.py
+++ b/docs/render_examples.py
@@ -14,10 +14,12 @@ menu:
# 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__))
-examples_path = os.path.join(base, '../src/examples/')
+examples_path = os.path.join(base, 'src/examples/')
pathlist = Path(examples_path).glob('**/*.py')
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))
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_level = 2
@@ -43,6 +45,6 @@ for ex in examples:
print("#" * current_level, current_dir)
print(textwrap.dedent("""
- {} {}
+ {} Example: {}
{{{{< example src="{}" lang="py" >}}}}
- """.format("#" * (current_level + 1), ex, "/examples/" + ex)))
+ """.format("#" * (current_level + 1), ex, "examples/" + ex)))
diff --git a/docs/setup b/docs/setup.sh
index cb63841a..da30a3c9 100755
--- a/docs/setup
+++ b/docs/setup.sh
@@ -1,5 +1,11 @@
-#!/bin/sh
-set -e
+#!/usr/bin/env bash
+
+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 --profile mitmproxy \
diff --git a/docs/upload-archive b/docs/upload-archive.sh
index 3aaeb9be..e35345e9 100755
--- a/docs/upload-archive
+++ b/docs/upload-archive.sh
@@ -1,5 +1,9 @@
-#!/bin/bash
-set -e
+#!/usr/bin/env bash
+
+set -o errexit
+set -o pipefail
+set -o nounset
+# set -o xtrace
if [[ $# -eq 0 ]] ; then
echo "Please supply a version, e.g. 'v3'"
diff --git a/docs/upload-stable b/docs/upload-stable.sh
index 5aea7479..a2f20f01 100755
--- a/docs/upload-stable
+++ b/docs/upload-stable.sh
@@ -1,5 +1,9 @@
-#!/bin/bash
-set -e
+#!/usr/bin/env bash
+
+set -o errexit
+set -o pipefail
+set -o nounset
+# set -o xtrace
aws configure set preview.cloudfront true
aws --profile mitmproxy \
diff --git a/release/README.md b/release/README.md
index 8632d644..1de0824f 100644
--- a/release/README.md
+++ b/release/README.md
@@ -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`.
### Docs
- - `./build-current`. If everything looks alright, continue with
- - `./upload-stable`,
- - `./build-archive`, and
- - `./upload-archive v4`. Doing this now already saves you from switching back to an old state on the next release.
+ - `./build.sh`. If everything looks alright, continue with
+ - `./upload-stable.sh`,
+ - `DOCS_ARCHIVE=true ./build.sh`, and
+ - `./upload-archive.sh v4`. Doing this now already saves you from switching back to an old state on the next release.
### Website
- Update version here:
diff --git a/release/docker/docker-entrypoint.sh b/release/docker/docker-entrypoint.sh
index a4abe4ce..7bb3028a 100755
--- a/release/docker/docker-entrypoint.sh
+++ b/release/docker/docker-entrypoint.sh
@@ -1,13 +1,16 @@
-#!/bin/sh
-set -e
+#!/usr/bin/env bash
+
+set -o errexit
+set -o pipefail
+set -o nounset
+# set -o xtrace
MITMPROXY_PATH="/home/mitmproxy/.mitmproxy"
if [[ "$1" = "mitmdump" || "$1" = "mitmproxy" || "$1" = "mitmweb" ]]; then
- mkdir -p "$MITMPROXY_PATH"
- chown -R mitmproxy:mitmproxy "$MITMPROXY_PATH"
-
- su-exec mitmproxy "$@"
+ mkdir -p "$MITMPROXY_PATH"
+ chown -R mitmproxy:mitmproxy "$MITMPROXY_PATH"
+ su-exec mitmproxy "$@"
else
- exec "$@"
+ exec "$@"
fi
diff --git a/tox.ini b/tox.ini
index 6ae38cbb..353a4d18 100644
--- a/tox.ini
+++ b/tox.ini
@@ -76,4 +76,4 @@ deps =
awscli
changedir = docs
commands =
- ./ci
+ ./ci.sh