]> git.pld-linux.org Git - packages/docbook2X.git/blob - docbook2X-docbook2man
- adapter(ized),
[packages/docbook2X.git] / docbook2X-docbook2man
1 #!/bin/sh
2 # $Revision$, $Date$ 
3
4 # simple script that converts SGML-docbook references
5 # using Steve Chengs docbooc2man-spec perl converter
6 # in case of <refentry lang="pl"> translates NAME and SYNOPSIS
7
8 DIR="/usr/share/docbook2X"
9 SPEC=$DIR/docbook2man-spec.pl
10 MKLINKS=$DIR/manpage_makelinks.pl
11
12
13 if [ $# -eq 0 ]; then
14         echo "$0: No input file given";
15         exit;
16 fi
17 if [ $# -gt 1 ]; then
18         echo "$0: Too many arguments";
19         exit;
20 fi
21
22 if [ -x /usr/bin/onsgmls ]; then
23         SP=onsgmls;              
24 else if [ -x /usr/bin/nsgmls ]; then
25         SP=nsgmls;              
26 else
27         echo "$0: SGML parser missing";
28         exit;
29 fi
30 fi
31
32 rm -f manpage.links
33 $SP <"$1" |sgmlspl $SPEC
34
35 LANGM=`awk -v IGNORECASE=1 -v RS=">[^<>]*<" '/^refentry/ {if(i=index($0,"lang=")) print substr($0,i+6,2); exit}' $1`
36 REFNAME=`awk -v IGNORECASE=1 -v RS="<\/?refname( [^>]*)?>" '{getline; print $0; exit}' $1`
37 if [ -z "$REFNAME" ]; then
38         echo "$0: <refname> element missing"
39         exit;
40 fi
41 SECTION=`awk -v IGNORECASE=1 -v RS="<\/?manvolnum( [^>]*)?>" '{getline; print $0; exit}' $1`
42 MAINFILE=${REFNAME}.${SECTION}
43
44 if [ ! -f "$MAINFILE" ]; then
45         echo "$0: Failed to convert manpage";
46         exit;
47 fi
48
49 # print main manpage name
50 echo $MAINFILE
51
52 case "$LANGM" in
53     "pl" )
54         mv $MAINFILE $MAINFILE.tmp
55         cat $MAINFILE.tmp |sed 's/^\.SH NAME$/\.SH NAZWA/' \
56                         |sed 's/^\.SH SYNOPSIS$/\.SH SKĀ£ADNIA/' >$MAINFILE;
57         rm -f $MAINFILE.tmp;
58         ;;
59 esac
60
61 # make man links if exist
62 $MKLINKS < manpage.links
63 awk '{print $2}' manpage.links
64
65 #rm -f manpage.links
66
67
68 # $Log$  
This page took 0.070574 seconds and 3 git commands to generate.