diff options
-rw-r--r-- | Makefile | 29 | ||||
-rwxr-xr-x | man2html.sh | 51 |
2 files changed, 69 insertions, 11 deletions
@@ -2,14 +2,21 @@ DESTDIR ?= "/usr/local" install: install -m 0644 -D -t $(DESTDIR)/include mtest.h - install -m 0644 -D -t $(DESTDIR)/share/man/man7 mtest_overview.7 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_assert.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_defs.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_defs_ext.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_fail.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_fok.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_ferr.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_assert.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_return.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_run.3 - install -m 0644 -D -t $(DESTDIR)/share/man/man3 mt_run_named.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man7 man/man7/mtest_overview.7 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_assert.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_defs.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_defs_ext.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_fail.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_fok.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_ferr.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_assert.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_return.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_run.3 + install -m 0644 -D -t $(DESTDIR)/share/man/man3 man/man3/mt_run_named.3 + +doc: + ./man2html.sh + $(MAKE) -C www + +clean: + $(MAKE) clean -C www diff --git a/man2html.sh b/man2html.sh new file mode 100755 index 0000000..45632d6 --- /dev/null +++ b/man2html.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +hostname="http://mtest.kurwinet.pl" +out="$(pwd)/www/manuals" +root="$(pwd)" +ftmp="/tmp/mtest-man2html" + +for n in {3,7} +do + mkdir -p "${out}/man${n}" + cd "${root}/man/man${n}" + + for m in * + do + man2html -r -H "${hostname}" "${m}" > "${ftmp}" + + # get only body part of the file + body_only="$(sed -n '/<BODY>/,/<\/BODY>/p' "${ftmp}")" + echo "$body_only" > "${ftmp}" + + # remove leftover <body> and <h1>man</h1> tags from beginning + tail -n+3 "${ftmp}" > tmp; mv tmp "${ftmp}" + + # construct own h1 tag + name="$(basename ${m})" + name="${name%.*}" + sed -i "1s/^/<H1>${name}(${n})<\/H1>\n /" "${ftmp}" + + # remove uneeded links to non-existing index + sed -i 's/<A HREF="\.\.\/index.html">Return to Main Contents<\/A><HR>//' "${ftmp}" + sed -i 's/<A HREF="#index">Index<\/A>//g' "${ftmp}" + + # extract table of content and put it in the beginning of file + ## cache first two lines (h1 and info) and remove them from file + tmp="$(head -n2 ${ftmp})" + tail -n+3 "${ftmp}" > tmp; mv tmp "${ftmp}" + + ## get table of content from file + toc="$(sed -n '/<DL>/,/<\/DL>/p' "${ftmp}")" + + ## put table of content and first two lines into file and append hr + { echo -e "${tmp}\n${toc}\n<HR>"; cat "${ftmp}"; } > tmp; mv tmp "${ftmp}" + + ## remove table of content and some uneeded info from bottom of file + sed -i '/^<A NAME="index"> <\/A><H2>Index<\/H2>$/,$d' "${ftmp}" + head -n-3 "${ftmp}" > tmp; mv tmp "${ftmp}" + + # move generated file into output directory for further processing + cp "${ftmp}" "${out}/man${n}/${m}.html" + done +done |