How is this document generated

Linux ATA RAID HOWTO
Prev |  |

# A. How is this document generated

So you want to know how I generated this HOWTO? Or, did you download SGML version of this document, modified some portions in it and now want to know how you can create HOWTO?

I made sure there are no errors in my SGML by first typing the command nsgmls -s ataraid.sgml. I created a script called `makehowto` and ran the command ./makehowto ataraid.sgml. Here is the my `makehowto` script:

    #!/bin/bash
    #
    # makehowto by Murty Rompalli
    # (c) All Rights Reserved
    # Free for non commercial use. All other uses must be authorized explicitly
    # by the creator. Contact me for more info. murty@solar.m u r t y.net
    #

    function maketut() {
    echo;echo Creating Tutorial Files ...
    jade \
        -t sgml \
        -d /usr/lib/sgml/stylesheets/nwalsh-modular/html/ldp.dsl\#html \
        $1.sgml
    }

    function makehtml {
    echo;echo Creating html file: $1.html ...
    jade \
        -t sgml \
        -d /usr/lib/sgml/stylesheets/nwalsh-modular/html/docbook.dsl \
        -V nochunks \
        $1.sgml > $1.html
    }

    function maketxt {
    	if [ -f $1.html ]
    	then
    		echo;echo Creating text file: $1.txt ...
    		lynx -dump $1.html > $1.txt
    	else
    		echo;echo $1.html not found, creating ...
    		makehtml $1
    		maketxt $1
    	fi
    }

    function makepdf {
    	[ -f $1.ps ] && gzip $1.ps

    	if [ -f $1.ps.gz ]
    	then
    		echo;echo Creating pdf file: $1.pdf ...
    		gzip -dc $1.ps.gz |
    		gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$1.pdf -
    	else
    		echo;echo $1.ps.gz not found creating ...
    		makeps $1
    		makepdf $1
    	fi
    }

    function maketex {
    echo;echo Creating TeX file $1.tex ...
    jade \
        -t tex \
        -d /usr/lib/sgml/stylesheets/cygnus-both.dsl\#print \
        $1.sgml
    gzip $1.tex
    echo $1.tex gzipped to $1.tex.gz
    }

    function makedvi {
    echo;echo Creating DVI file $1.dvi ...
    db2dvi $1.sgml  >/dev/null 2>&1
    echo See $1.log for errors
    gzip $1.dvi
    echo $1.dvi gzipped to $1.dvi.gz
    }

    function makeps {
    echo;echo Creating PS file $1.ps ...
    db2ps $1.sgml  >/dev/null 2>&1
    echo See $1.log for errors
    gzip $1.ps
    echo $1.ps gzipped to $1.ps.gz
    }

    #### Begin Main Program

    echo "
    makehowto utility for generating HOWTO from SGML file.
    (c) Murty Rompalli
    "

    [ x$1 = x ] &&
    echo "Error. Usage: $0 abc.sgml '{tut|html|pdf|tex|dvi|ps|all}'

    Option 'all' is default if sgml file is the only option supplied.

    Options:
    -------
    tut	Make complete tutorial, i.e., generate necessary html files
    html	Make a printable single HTML file
    pdf	Make a PDF file
    tex	Make a TeX source file, gzipped
    dvi	Make a DVI file, gzipped
    ps	Make a PostScript file, gzipped
    all	Generate all possible formats.

    " && exit

    file="`echo $1|sed 's/\.sgml$//'`"

    [ x$file = x ] &&
    echo Error. Usage: $0 abc.sgml '{tut|html|tex|dvi|ps|all}' && exit

    [ -f $file.sgml ] || {
    echo Error. $file.sgml does not exist
    exit
    }

    [ -r $file.sgml ] || {
    echo Error. $file.sgml not readable
    exit
    }

    if [ x$2 = x ]
    then
    	action=all
    else
    	action=$2
    fi

    case $action in
    tut|tutorial) maketut $file
    		;;
    html|htm) makehtml $file
    		;;
    tex|latex) maketex $file
    		;;
    dvi) makedvi $file
    		;;
    ps) makeps $file
    		;;
    text|txt) maketxt $file
    		;;
    pdf) makepdf $file
    		;;
    all) 	maketut $file
    	makehtml $file
    	maketex $file
    	makedvi $file
    	makeps $file
    	maketxt $file
    	makepdf $file
    	;;
    *) echo error
    	;;
    esac

    \rm -f $file.aux
    \rm -f $file.tex
    \rm -f $file.dvi

    echo;echo makehowto: Finished
    echo You can review $file.log and delete it.
    echo Thank you for using makehowto.
    echo

You can also just type ./makehowto ataraid.sgml pdf, for example, if you just want create PDF version. Just type ./makehowto to get more help on using the script. Click here to download this makehowto script.

Prev | Home |
For more information |  |