[add] dockbook
This commit is contained in:
parent
416f324df8
commit
795b796643
38
docbook/Dockerfile
Normal file
38
docbook/Dockerfile
Normal file
@ -0,0 +1,38 @@
|
||||
FROM ubuntu:18.04
|
||||
MAINTAINER Norman Tovey-Walsh <ndw@nwalsh.com>
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get dist-upgrade -y
|
||||
RUN apt-get install -y default-jre maven unzip
|
||||
|
||||
RUN apt-get install -y software-properties-common
|
||||
RUN add-apt-repository ppa:deadsnakes/ppa -y
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y python3.8 python3-pip
|
||||
|
||||
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
|
||||
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 10
|
||||
|
||||
# Use Maven to install the packages that docbook-xslTNG depends on
|
||||
RUN mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
|
||||
-Dartifact=net.sf.saxon:Saxon-HE:10.6
|
||||
RUN mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
|
||||
-Dartifact=com.drewnoakes:metadata-extractor:2.15.0
|
||||
RUN mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
|
||||
-Dartifact=org.relaxng:jing:20181222
|
||||
RUN mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
|
||||
-Dartifact=org.xmlresolver:xmlresolver:3.1.0
|
||||
RUN mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
|
||||
-Dartifact=com.nwalsh:sinclude:4.0.0
|
||||
RUN mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
|
||||
-Dartifact=org.slf4j:slf4j-simple:1.7.30
|
||||
|
||||
ARG VERSION=1.6.0
|
||||
|
||||
WORKDIR /opt
|
||||
ADD https://github.com/docbook/xslTNG/releases/download/${VERSION}/docbook-xslTNG-${VERSION}.zip .
|
||||
RUN unzip docbook-xslTNG-${VERSION}.zip
|
||||
|
||||
WORKDIR docbook-xslTNG-${VERSION}
|
||||
|
||||
ENTRYPOINT ["bin/docbook"]
|
45
docbook/README
Normal file
45
docbook/README
Normal file
@ -0,0 +1,45 @@
|
||||
DocBook xslTNG version 1.6.0
|
||||
|
||||
This directory contains an experimental Dockerfile. Using docker
|
||||
allows you to isolate the environment necessary to run the DocBook
|
||||
xslTNG stylesheets from your local environment.
|
||||
|
||||
1. Build the docker image. In this directory, run the docker build
|
||||
command:
|
||||
|
||||
docker build -t docbook-xslt .
|
||||
|
||||
The "-t" option provides a tag for the image; you can make this
|
||||
anything you want. There's a VERSION build argument if you want
|
||||
to build a particular release. For example,
|
||||
|
||||
docker build --build-arg VERSION=0.9.14 -t docbook-xslt .
|
||||
|
||||
will build a Docker image for the 0.9.14 release of the stylesheets
|
||||
irrespective of the version in the Dockerfile.
|
||||
|
||||
2. Run the image, for example:
|
||||
|
||||
docker run docbook-xsltng samples/article.xml
|
||||
|
||||
If you chose a different tag when you built the image, use that tag
|
||||
in place of 'docbook-xsltng' in the run command. Everything after the
|
||||
container tag becomes options to the 'docbook' Python script.
|
||||
|
||||
Note that the context the script runs in is *inside* the container.
|
||||
It can't for example, see your local filesystem.
|
||||
|
||||
You can use the Docker facilities for mounting directories to change
|
||||
what documents the script can access. For example:
|
||||
|
||||
docker run -v /tmp:/output -v /path/to/samples:/input \
|
||||
docbook-xsltng /input/article.xml chunk=index.html \
|
||||
chunk-output-base-uri=/output/
|
||||
|
||||
Assuming that the 'samples' directory in the distribution is located
|
||||
at /path/to/samples, this will chunk the article.xml sample document
|
||||
that the script sees in /input (which is where you mounted samples)
|
||||
and it will write the output to /output (which is where you mounted
|
||||
/tmp).
|
||||
|
||||
When the script finishes, the chunked output will be in /tmp
|
Loading…
Reference in New Issue
Block a user