aboutsummaryrefslogtreecommitdiffstats
path: root/man2html.sh
diff options
context:
space:
mode:
authorMichał Łyszczek <michal.lyszczek@bofc.pl>2018-01-23 13:38:13 +0100
committerMichał Łyszczek <michal.lyszczek@bofc.pl>2018-01-23 13:38:13 +0100
commit492e7580aa482b754713f258b82474f22b2e63a1 (patch)
tree452dc299689e900ce72578db3e600724f0f0a215 /man2html.sh
parent66ee9ef1cbe165298158c784708a3966d5bbdf06 (diff)
downloadlibrb-492e7580aa482b754713f258b82474f22b2e63a1.tar.gz
librb-492e7580aa482b754713f258b82474f22b2e63a1.tar.bz2
librb-492e7580aa482b754713f258b82474f22b2e63a1.zip
change: move manuals into single directory
Diffstat (limited to 'man2html.sh')
-rwxr-xr-xman2html.sh100
1 files changed, 55 insertions, 45 deletions
diff --git a/man2html.sh b/man2html.sh
index 97806e9..955f031 100755
--- a/man2html.sh
+++ b/man2html.sh
@@ -5,66 +5,76 @@ out="$(pwd)/www/manuals"
root="$(pwd)"
ftmp="/tmp/mtest-man2html"
-for n in {3,7}
+cd "${root}/man"
+mkdir "${out}"
+
+for m in *.[1-8]
do
- mkdir -p "${out}/man${n}"
- cd "${root}/man/man${n}"
+ n="${m##*.}"
+ echo "opening ${m}"
- for m in *
- do
+ if grep "\.so man${n}" "${m}"
+ then
+ sed -i "s/man${n}/man/" "${m}"
+ man2html -r -H "${hostname}" "${m}" > "${ftmp}"
+ sed -i "s/man\//man${n}\//g" "${m}"
+ else
man2html -r -H "${hostname}" "${m}" > "${ftmp}"
+ fi
+
+ # get only body part of the file
+ body_only="$(sed -n '/<BODY>/,/<\/BODY>/p' "${ftmp}")"
+ echo "$body_only" > "${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}"
- # remove leftover <body> and <h1>man</h1> tags from beginning
- tail -n+3 "${ftmp}" > tmp; mv tmp "${ftmp}"
+ # construct top page heading with page info, remove superflous info
+ name="$(basename ${m})"
+ name="${name%.*}"
+ version_info="$(head -n1 ${ftmp} | cut -f3 -d: | cut -f1 -d\<)"
+ tail -n+2 "${ftmp}" > tmp; mv tmp "${ftmp}"
+ sed -i "1s/^/<p class=\"info left\">${name}(${n})<\/p><p class=\"info center\">kurwinet manual pages<\/p><p class=\"info right\">${name}(${n})<\/p>\n<br><P> /" "${ftmp}"
- # construct top page heading with page info, remove superflous info
- name="$(basename ${m})"
- name="${name%.*}"
- version_info="$(head -n1 ${ftmp} | cut -f3 -d: | cut -f1 -d\<)"
- tail -n+2 "${ftmp}" > tmp; mv tmp "${ftmp}"
- sed -i "1s/^/<p class=\"info left\">${name}(${n})<\/p><p class=\"info center\">kurwinet manual pages<\/p><p class=\"info right\">${name}(${n})<\/p>\n<br><P> /" "${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}"
- # 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 (page info) and remove them from file
+ tmp="$(head -n2 ${ftmp})"
+ tail -n+3 "${ftmp}" > tmp; mv tmp "${ftmp}"
- # extract table of content and put it in the beginning of file
- ## cache first two lines (page 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}")"
- ## get table of content from file
- toc="$(sed -n '/<DL>/,/<\/DL>/p' "${ftmp}")"
+ toc="$(echo "${toc}" | sed 's/<DL>/<UL class="man-toc">/')"
+ toc="$(echo "${toc}" | sed 's/<\/DL>/<\/UL>/')"
+ toc="$(echo "${toc}" | sed 's/<DT>/<LI>/')"
+ toc="$(echo "${toc}" | sed 's/<DD>/<\/LI>/')"
- toc="$(echo "${toc}" | sed 's/<DL>/<UL class="man-toc">/')"
- toc="$(echo "${toc}" | sed 's/<\/DL>/<\/UL>/')"
- toc="$(echo "${toc}" | sed 's/<DT>/<LI>/')"
- toc="$(echo "${toc}" | sed 's/<DD>/<\/LI>/')"
+ ## 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}"
- ## 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">&nbsp;<\/A><H2>Index<\/H2>$/,$d' "${ftmp}"
+ head -n-3 "${ftmp}" > tmp; mv tmp "${ftmp}"
- ## remove table of content and some uneeded info from bottom of file
- sed -i '/^<A NAME="index">&nbsp;<\/A><H2>Index<\/H2>$/,$d' "${ftmp}"
- head -n-3 "${ftmp}" > tmp; mv tmp "${ftmp}"
+ # change deprecated name in <a> into id
+ sed -i 's/A NAME="/A ID="/g' "${ftmp}"
- # change deprecated name in <a> into id
- sed -i 's/A NAME="/A ID="/g' "${ftmp}"
+ # generate page info at bottom of page
+ echo "<p class=\"info left\"><a href=\"http://en.bofc.pl\">bofc.pl</a></p><p class=\"info center\">${version_info}</p><p class=\"info right\">${name}(${n})</p>" >> "${ftmp}"
- # generate page info at bottom of page
- echo "<p class=\"info left\"><a href=\"http://en.bofc.pl\">bofc.pl</a></p><p class=\"info center\">${version_info}</p><p class=\"info right\">${name}(${n})</p>" >> "${ftmp}"
+ # convert all h2 into h1 headings
+ sed -i 's/H2>/H1>/g' "${ftmp}"
- # convert all h2 into h1 headings
- sed -i 's/H2>/H1>/g' "${ftmp}"
+ # remove obsolete COMPACT from dl
+ sed -i 's/DL COMPACT/DL/g' "${ftmp}"
- # remove obsolete COMPACT from dl
- sed -i 's/DL COMPACT/DL/g' "${ftmp}"
+ # change ../man# to ./ as we have all mans in single directory
+ sed -i 's/\.\.\/man.\//.\//g' "${ftmp}"
- # move generated file into output directory for further processing
- cp "${ftmp}" "${out}/man${n}/${m}.html"
- done
+ # move generated file into output directory for further processing
+ cp "${ftmp}" "${out}/${m}.html"
done