1*2810ac1bSKiyoung Kim#!/bin/bash 2*2810ac1bSKiyoung Kim# 3*2810ac1bSKiyoung Kim# Handy script to rebuild the markdown version of the man pages. 4*2810ac1bSKiyoung Kim# This uses pandoc if it is installed. 5*2810ac1bSKiyoung Kim# 6*2810ac1bSKiyoung Kim# For rendering the md, we can use a different command: 7*2810ac1bSKiyoung Kim# 8*2810ac1bSKiyoung Kim# cd md; for x in *.md ; do pandoc -s $x --metadata pagetitle="${x%.md}" -o ${x%.md}.html --lua-filter=../md2html.lua ; done 9*2810ac1bSKiyoung Kim 10*2810ac1bSKiyoung Kimif [[ -z "$(which pandoc)" ]]; then 11*2810ac1bSKiyoung Kim echo "pandoc not found - skipping conversion" 12*2810ac1bSKiyoung Kim exit 0 13*2810ac1bSKiyoung Kimfi 14*2810ac1bSKiyoung Kim 15*2810ac1bSKiyoung Kimoutdir="$1" 16*2810ac1bSKiyoung Kimif [[ -z "${outdir}" ]]; then 17*2810ac1bSKiyoung Kim echo "usage $0 <outdir>" 18*2810ac1bSKiyoung Kim exit 1 19*2810ac1bSKiyoung Kimfi 20*2810ac1bSKiyoung Kim 21*2810ac1bSKiyoung Kimmkdir -p "${outdir}" 22*2810ac1bSKiyoung Kimif [[ $? -ne 0 ]]; then 23*2810ac1bSKiyoung Kim echo "failed to make output directory: ${outdir}" 24*2810ac1bSKiyoung Kim exit 1 25*2810ac1bSKiyoung Kimfi 26*2810ac1bSKiyoung Kim 27*2810ac1bSKiyoung Kimindex="${outdir}/index.md" 28*2810ac1bSKiyoung Kim 29*2810ac1bSKiyoung Kimfunction do_page () { 30*2810ac1bSKiyoung Kim m="$1" 31*2810ac1bSKiyoung Kim base="${m%.*}" 32*2810ac1bSKiyoung Kim sect="${m#*.}" 33*2810ac1bSKiyoung Kim output="${base}-${sect}.md" 34*2810ac1bSKiyoung Kim 35*2810ac1bSKiyoung Kim echo "converting ${m}" 1>&2 36*2810ac1bSKiyoung Kim 37*2810ac1bSKiyoung Kim redir="$(grep '^.so man' "${m}")" 38*2810ac1bSKiyoung Kim if [[ $? -eq 0 ]]; then 39*2810ac1bSKiyoung Kim r="${redir#*/}" 40*2810ac1bSKiyoung Kim rbase="${r%.*}" 41*2810ac1bSKiyoung Kim rsect="${r#*.}" 42*2810ac1bSKiyoung Kim echo "* [${base}(${sect})](${rbase}-${rsect}.md)" >> "${index}" 43*2810ac1bSKiyoung Kim return 44*2810ac1bSKiyoung Kim fi 45*2810ac1bSKiyoung Kim 46*2810ac1bSKiyoung Kim pandoc -f man -t markdown < "${m}" | sed 's/\*\*\([^*]\+\)\*\*(\([138]\+\))/[\1(\2)](\1-\2.md)/g' > "${outdir}/${base}-${sect}.md" 47*2810ac1bSKiyoung Kim echo "* [${base}(${sect})](${base}-${sect}.md)" >> "${index}" 48*2810ac1bSKiyoung Kim} 49*2810ac1bSKiyoung Kim 50*2810ac1bSKiyoung Kimcat > "${index}" <<EOF 51*2810ac1bSKiyoung Kim# Manpages for libcap and libpsx 52*2810ac1bSKiyoung Kim 53*2810ac1bSKiyoung KimEOF 54*2810ac1bSKiyoung Kim 55*2810ac1bSKiyoung Kimif [[ -f "local-md.preamble" ]]; then 56*2810ac1bSKiyoung Kim cat "local-md.preamble" >> "${index}" 57*2810ac1bSKiyoung Kimfi 58*2810ac1bSKiyoung Kim 59*2810ac1bSKiyoung Kimcat >> "${index}" <<EOF 60*2810ac1bSKiyoung Kim 61*2810ac1bSKiyoung Kim## Individual reference pages 62*2810ac1bSKiyoung KimEOF 63*2810ac1bSKiyoung Kim 64*2810ac1bSKiyoung Kim# Assumes the m's are listed alphabetically. 65*2810ac1bSKiyoung Kimfor n in 1 3 8 ; do 66*2810ac1bSKiyoung Kim cat >> "${index}" <<EOF 67*2810ac1bSKiyoung Kim 68*2810ac1bSKiyoung Kim### Section ${n} 69*2810ac1bSKiyoung Kim 70*2810ac1bSKiyoung KimEOF 71*2810ac1bSKiyoung Kim for m in *.${n}; do 72*2810ac1bSKiyoung Kim do_page "${m}" 73*2810ac1bSKiyoung Kim done 74*2810ac1bSKiyoung Kimdone 75*2810ac1bSKiyoung Kim 76*2810ac1bSKiyoung Kimcat >> "${index}" <<EOF 77*2810ac1bSKiyoung Kim 78*2810ac1bSKiyoung Kim## More information 79*2810ac1bSKiyoung Kim 80*2810ac1bSKiyoung KimEOF 81*2810ac1bSKiyoung Kim 82*2810ac1bSKiyoung Kimif [[ -f "local-md.postscript" ]]; then 83*2810ac1bSKiyoung Kim cat "local-md.postscript" >> "${index}" 84*2810ac1bSKiyoung Kimfi 85*2810ac1bSKiyoung Kim 86*2810ac1bSKiyoung Kimcat >> "${index}" <<EOF 87*2810ac1bSKiyoung Kim 88*2810ac1bSKiyoung KimFor further information, see the 89*2810ac1bSKiyoung Kim[FullyCapable](https://sites.google.com/site/fullycapable/) homepage 90*2810ac1bSKiyoung Kimfor libcap. 91*2810ac1bSKiyoung Kim 92*2810ac1bSKiyoung Kim## MD page generation 93*2810ac1bSKiyoung Kim 94*2810ac1bSKiyoung KimThese official man pages for libcap and libpsx were converted to 95*2810ac1bSKiyoung Kimmarkdown using [pandoc](https://pandoc.org). 96*2810ac1bSKiyoung Kim 97*2810ac1bSKiyoung KimEOF 98