shithub: werc

Download patch

ref: 6d9f4a20add255c7612b841c7568f5e4184f4654
parent: 81053660c0846963eee44281dfea0b0bc71382e4
author: Uriel <u@berlinblue.org>
date: Sun Jan 9 05:48:18 EST 2011

Two new configuration options for wman:

* wman_tmac (defaults to 'an') to pass as parameter to the -m flag of troff.
* fn wman_out_filter (defaults to calling wman_default_out_filter) to do post-processing (eg., calling col) of man page output.

Also filter out directories starting with _ from man page section listings.

--- a/apps/wman/app.rc
+++ b/apps/wman/app.rc
@@ -1,4 +1,5 @@
 fn conf_enable_wman {
+    wman_tmac=an
     wman_base_uri=$conf_wd
     wman_man_path=$*
     if(~ $#wman_man_path 0)
@@ -6,7 +7,7 @@
     conf_enable_app wman
 }
 
-wman_junk_filter='/(\/(INDEX|\.cvsignore)|\.9p|\.html)$/d; s!/man([0-9]+/[^/]+)$!/\1!; '
+wman_junk_filter='/(\/(INDEX|\.cvsignore|_.*)|\.9p|\.html)$/d; s!/man([0-9]+/[^/]+)$!/\1!; '
 fn wman_ls_pages {
     ls $* \
         | sed $dirfilter^$wman_junk_filter^' s/\.([0-9]|9p)$//; s!/0intro$!/intro!' \
@@ -70,8 +71,19 @@
 
 fn wman_page_gen {
     #troff -manhtml $1| troff2html -t 'Plan 9 from User Space'
-    troff -N -man $1 \
-    | escape_html \
+    # Using GNU col here to remove nroffs garbage (eg., from .ft B); p9p has no col(1) :(
+    troff -N -m$wman_tmac $1 | wman_out_filter
+}
+
+fn wman_out_filter {
+    wman_default_out_filter
+}
+
+fn wman_default_out_filter {
+    escape_html \
     | sed 's!([\.\-a-zA-Z0-9]+)\(('^`{echo $wman_cat_list|tr ' ' '|'}^')\)!<a href="../\2/\1">&</a>!g' \
     | awk '/^$/ {if(n != 1) print; n=1; next} /./ {n=0; print}'
+
 }
+
+