diff --git a/docs/Dockerfile b/docs/Dockerfile index a29e8c95f8..1b5aaec12d 100644 --- a/docs/Dockerfile +++ b/docs/Dockerfile @@ -59,3 +59,28 @@ EXPOSE 8000 RUN cd sources && rgrep --files-with-matches '{{ include ".*" }}' | xargs sed -i~ 's/{{ include "\(.*\)" }}/cat include\/\1/ge' CMD ["mkdocs", "serve"] + +# Initial Dockerfile driven documenation aggregation +# Sven plans to move each Dockerfile into the respective repository + +# Docker Swarm +ADD https://raw.githubusercontent.com/docker/swarm/master/logo.png /docs/sources/swarm/logo.png +ADD https://raw.githubusercontent.com/docker/swarm/master/README.md /docs/sources/swarm/README.md +ADD https://raw.githubusercontent.com/docker/swarm/master/discovery/README.md /docs/sources/swarm/discovery.md +ADD https://raw.githubusercontent.com/docker/swarm/master/api/README.md /docs/sources/swarm/API.md +ADD https://raw.githubusercontent.com/docker/swarm/master/scheduler/filter/README.md /docs/sources/swarm/filters.md + +# Docker Machine +ADD https://raw.githubusercontent.com/docker/machine/master/docs/dockermachine.md /docs/sources/machine/userguide.md + +# Docker Compose +ADD https://raw.githubusercontent.com/docker/fig/master/docs/index.md /docs/sources/compose/userguide.md +ADD https://raw.githubusercontent.com/docker/fig/master/docs/install.md /docs/sources/compose/install.md +ADD https://raw.githubusercontent.com/docker/fig/master/docs/cli.md /docs/sources/compose/cli.md +ADD https://raw.githubusercontent.com/docker/fig/master/docs/yml.md /docs/sources/compose/yml.md + +# add the project docs from the `mkdocs-.yml` files +RUN cd /docs && ./build.sh + +# remove `^---*` lines from md's +RUN cd /docs/sources && find . -name "*.md" | xargs sed -i~ -n '/^---*/!p' diff --git a/docs/README.md b/docs/README.md index b730982e3c..4121fe7235 100755 --- a/docs/README.md +++ b/docs/README.md @@ -25,7 +25,7 @@ In the root of the `docker` source directory: $ make docs .... (lots of output) .... - $ docker run --rm -it -e AWS_S3_BUCKET -p 8000:8000 "docker-docs:master" mkdocs serve + docker run --rm -it -e AWS_S3_BUCKET -p 8000:8000 "docker-docs:master" mkdocs serve Running at: http://0.0.0.0:8000/ Live reload enabled. Hold ctrl+c to quit. diff --git a/docs/build.sh b/docs/build.sh new file mode 100755 index 0000000000..033820c67d --- /dev/null +++ b/docs/build.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +set -e + +set -o pipefail + +usage() { + exit 1 +} + + +extrafiles=($(find . -name "mkdocs-*.yml")) +extralines=() + +for file in "${extrafiles[@]}" +do + #echo "LOADING $file" + while read line + do + if [[ "$line" != "" ]] + then + extralines+=("$line") + + #echo "LINE (${#extralines[@]}): $line" + fi + done < <(cat "$file") +done + +#echo "extra count (${#extralines[@]})" +mv mkdocs.yml mkdocs.yml.bak +echo "# Generated mkdocs.yml from ${extrafiles[@]}" +echo "# Generated mkdocs.yml from ${extrafiles[@]}" > mkdocs.yml + +while read line +do + menu=$(echo $line | sed "s/^- \['\([^']*\)', '\([^']*\)'.*/\2/") + if [[ "$menu" != "**HIDDEN**" ]] + # or starts with a '#'? + then + if [[ "$lastmenu" != "" && "$lastmenu" != "$menu" ]] + then + # insert extra elements here + for extra in "${extralines[@]}" + do + #echo "EXTRA $extra" + extramenu=$(echo $extra | sed "s/^- \['\([^']*\)', '\([^']*\)'.*/\2/") + if [[ "$extramenu" == "$lastmenu" ]] + then + echo "$extra" >> mkdocs.yml + fi + done + #echo "# JUST FINISHED $lastmenu" + fi + lastmenu="$menu" + fi + echo "$line" >> mkdocs.yml + +done < <(cat "mkdocs.yml.bak") diff --git a/docs/mkdocs-compose.yml b/docs/mkdocs-compose.yml new file mode 100644 index 0000000000..e2738f328d --- /dev/null +++ b/docs/mkdocs-compose.yml @@ -0,0 +1,5 @@ + +- ['compose/userguide.md', 'User Guide', 'Docker Compose' ] +- ['compose/install.md', 'Installation', 'Docker Compose'] +- ['compose/cli.md', 'Reference', 'Compose command line'] +- ['compose/yml.md', 'Reference', 'Compose yml'] diff --git a/docs/mkdocs-machine.yml b/docs/mkdocs-machine.yml new file mode 100644 index 0000000000..45b2c5c846 --- /dev/null +++ b/docs/mkdocs-machine.yml @@ -0,0 +1,2 @@ + +- ['machine/userguide.md', 'User Guide', 'Docker Machine' ] diff --git a/docs/mkdocs-swarm.yml b/docs/mkdocs-swarm.yml new file mode 100644 index 0000000000..c59634bf28 --- /dev/null +++ b/docs/mkdocs-swarm.yml @@ -0,0 +1,5 @@ + +- ['swarm/README.md', 'User Guide', 'Docker Swarm' ] +- ['swarm/discovery.md', 'Reference', 'Swarm discovery'] +- ['swarm/API.md', 'Reference', 'Swarm API'] +- ['swarm/filters.md', 'Reference', 'Swarm filters']