Use pure go markdown processor to generate man files

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
This commit is contained in:
Brian Goff
2014-08-07 07:06:39 -04:00
parent 7e12911f62
commit 3f136dc0e0
4 changed files with 26 additions and 19 deletions
+7 -5
View File
@@ -1,5 +1,7 @@
FROM fedora:20
MAINTAINER ipbabble <emailwhenry@redhat.com>
# Update and install pandoc
RUN yum -y update; yum clean all;
RUN yum -y install pandoc;
FROM golang:1.3
RUN mkdir -p /go/src/github.com/cpuguy83
RUN mkdir -p /go/src/github.com/cpuguy83 \
&& git clone -b v1 https://github.com/cpuguy83/go-md2man.git /go/src/github.com/cpuguy83/go-md2man \
&& cd /go/src/github.com/cpuguy83/go-md2man \
&& go get -v ./...
CMD ["/go/bin/go-md2man", "--help"]
+11 -12
View File
@@ -44,27 +44,26 @@ Markdown (*.md) files.
# Generating man pages from the Markdown files
The recommended approach for generating the man pages is via a Docker
container. Using the supplied Dockerfile, Docker will create a Fedora based
container and isolate the Pandoc installation. This is a seamless process,
saving you from dealing with Pandoc and dependencies on your own computer.
The recommended approach for generating the man pages is via a Docker
container using the supplied `Dockerfile` to create an image with the correct
environment. This uses `go-md2man`, a pure Go Markdown to man page generator.
## Building the Fedora / Pandoc image
## Building the md2man image
There is a Dockerfile provided in the `docker/docs/man` directory.
There is a `Dockerfile` provided in the `docker/docs/man` directory.
Using this Dockerfile, create a Docker image tagged `fedora/pandoc`:
Using this `Dockerfile`, create a Docker image tagged `docker/md2man`:
docker build -t fedora/pandoc .
docker build -t docker/md2man .
## Utilizing the Fedora / Pandoc image
## Utilizing the image
Once the image is built, run a container using the image with *volumes*:
docker run -v /<path-to-git-dir>/docker/docs/man:/pandoc:rw \
-w /pandoc -i fedora/pandoc /pandoc/md2man-all.sh
docker run -v /<path-to-git-dir>/docker/docs/man:/docs:rw \
-w /docs -i docker/md2man /docs/md2man-all.sh
The Pandoc Docker container will process the Markdown files and generate
The `md2man` Docker container will process the Markdown files and generate
the man pages inside the `docker/docs/man/man1` directory using
Docker volumes. For more information on Docker volumes see the man page for
`docker run` and also look at the article [Sharing Directories via Volumes]
+1 -1
View File
@@ -18,5 +18,5 @@ for FILE in *.md; do
continue
fi
mkdir -p "./man${num}"
pandoc -s -t man "$FILE" -o "./man${num}/${name}"
go-md2man -in "$FILE" -out "./man${num}/${name}"
done