1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-26 22:52:34 +02:00

util: Add docker to automate creation of documentation

Build with:
 docker build --force-rm -t "doc.flashrom.org" \
	      "$PWD/util/docker/flashrom.org/"

Generate HTML files:
 mkdir -p "$PWD/doc/_build/"
 docker run -it --rm \
            --user "$(id -u):$(id -g)" \
            -v "$PWD/:/data-in/:ro" \
            -v "$PWD/doc/_build/:/data-out/" \
            doc.flashrom.org

Live web server:
 docker run -it --rm \
            --net=host -v "$PWD/:/data-in/:ro" \
            doc.flashrom.org livehtml

Change-Id: I889fa5f98e2fd6ef896ba4bb30aa5d985ff82622
Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/75344
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Tested-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
Stefan Reinauer 2023-05-19 22:44:42 -07:00 committed by Anastasia Klimchuk
parent f15e6a105b
commit 5c8469953b
4 changed files with 75 additions and 0 deletions

View File

@ -0,0 +1,29 @@
FROM alpine:3.8
COPY makeSphinx.sh /makeSphinx.sh
ADD https://sourceforge.net/projects/ditaa/files/ditaa/0.9/ditaa0_9.zip/download /tmp/ditaa.zip
RUN apk add --no-cache python3 make bash git openjdk8-jre ttf-dejavu fontconfig \
&& pip3 install --upgrade --no-cache-dir pip \
&& pip3 install --no-cache-dir \
sphinx===1.8.3 \
sphinx_rtd_theme===0.4.2 \
recommonmark===0.5.0 \
sphinx_autobuild===0.7.1 \
sphinxcontrib-ditaa===0.6 \
&& chmod 755 /makeSphinx.sh
RUN cd /tmp \
&& unzip ditaa.zip \
&& mv ditaa0_9.jar /usr/lib
ADD ditaa.sh /usr/bin/ditaa
VOLUME /data-in /data-out
# For Sphinx-autobuild
# Port 8000 - HTTP server
# Port 35729 - websockets connection to allow automatic browser reloads after each build
EXPOSE 8000 35729
ENTRYPOINT ["/bin/bash", "/makeSphinx.sh"]
CMD []

View File

@ -0,0 +1,32 @@
# doc.coreboot.org
Docker container for generating and developing documentation for doc.coreboot.org
**NOTE**: All paths are from the base of the coreboot git repo.
### Build
```sh
docker build --force-rm -t "doc.flashrom.org" "$PWD/util/docker/flashrom.org/"
```
### Generating production HTML
```sh
# To ensure the output directory is given the correct permissions, make sure to
# created it before running docker the first time.
mkdir -p "$PWD/doc/_build/"
docker run -it --rm \
--user "$(id -u):$(id -g)" \
-v "$PWD/:/data-in/:ro" \
-v "$PWD/doc/_build/:/data-out/" \
doc.flashrom.org
```
### live reloaded with web server
On the host machine, open a browser to the address http://0.0.0.0:8000
```sh
docker run -it --rm \
--net=host -v "$PWD/:/data-in/:ro" \
doc.flashrom.org livehtml
```

View File

@ -0,0 +1,2 @@
#!/usr/bin/env sh
exec java -jar /usr/lib/ditaa0_9.jar $*

View File

@ -0,0 +1,12 @@
#!/usr/bin/env bash
if [ "$1" == "livehtml" ]; then
echo "Starting live documentation build"
cd /data-in/ && sphinx-autobuild -b html doc /tmp/build/html
else
echo "Starting production documentation build"
cd /data-in/ \
&& sphinx-build -b html doc /tmp/build/html \
&& rm -rf /data-out/* \
&& mv /tmp/build/html/* /data-out/
fi