You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.7 KiB
80 lines
1.7 KiB
4 months ago
|
#!/bin/bash
|
||
|
#
|
||
|
# Handy script to rebuild the markdown version of the man pages.
|
||
|
# This uses pandoc if it is installed.
|
||
|
#
|
||
|
# For rendering the md, we can use a different command:
|
||
|
#
|
||
|
# cd md; for x in *.md ; do pandoc -s $x --metadata pagetitle="${x%.md}" -o ${x%.md}.html --lua-filter=../md2html.lua ; done
|
||
|
|
||
|
if [[ -z "$(which pandoc)" ]]; then
|
||
|
echo "pandoc not found - skipping conversion"
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
outdir="$1"
|
||
|
if [[ -z "${outdir}" ]]; then
|
||
|
echo "usage $0 <outdir>"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
mkdir -p "${outdir}"
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo "failed to make output directory: ${outdir}"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
index="${outdir}/index.md"
|
||
|
|
||
|
function do_page () {
|
||
|
m="$1"
|
||
|
base="${m%.*}"
|
||
|
sect="${m#*.}"
|
||
|
output="${base}-${sect}.md"
|
||
|
|
||
|
redir="$(grep '^.so man' "${m}")"
|
||
|
if [[ $? -eq 0 ]]; then
|
||
|
r="${redir#*/}"
|
||
|
rbase="${r%.*}"
|
||
|
rsect="${r#*.}"
|
||
|
echo "* [${base}(${sect})](${rbase}-${rsect}.md)" >> "${index}"
|
||
|
return
|
||
|
fi
|
||
|
|
||
|
pandoc -f man -t markdown < "${m}" | sed 's/\*\*\([^*]\+\)\*\*(\([138]\+\))/[\1(\2)](\1-\2.md)/g' > "${outdir}/${base}-${sect}.md"
|
||
|
echo "* [${base}(${sect})](${base}-${sect}.md)" >> "${index}"
|
||
|
}
|
||
|
|
||
|
cat > "${index}" <<EOF
|
||
|
# Manpages for libcap and libpsx
|
||
|
|
||
|
## Individual reference pages
|
||
|
EOF
|
||
|
|
||
|
# Assumes the m's are listed alphabetically.
|
||
|
for n in 1 3 8 ; do
|
||
|
cat >> "${index}" <<EOF
|
||
|
|
||
|
### Section ${n}
|
||
|
|
||
|
EOF
|
||
|
for m in *.${n}; do
|
||
|
do_page "${m}"
|
||
|
done
|
||
|
done
|
||
|
|
||
|
cat >> "${index}" <<EOF
|
||
|
|
||
|
## More information
|
||
|
|
||
|
For further information, see the
|
||
|
[FullyCapable](https://sites.google.com/site/fullycapable/) homepage
|
||
|
for libcap.
|
||
|
|
||
|
## MD page generation
|
||
|
|
||
|
These official man pages for libcap and libpsx were converted to
|
||
|
markdown using [pandoc](https://pandoc.org).
|
||
|
|
||
|
EOF
|