bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gendocs.sh and texi2html


From: Sergey Poznyakoff
Subject: gendocs.sh and texi2html
Date: Tue, 23 Oct 2007 17:40:40 +0300

Hello,

The proposed patch enables enables gendocs.sh to generate HTML output
using texi2html if a corresponding command line option is given. It
also adds two substitution variables - HTML_SECTION_TGZ_SIZE and 
HTML_CHAPTER_TGZ_SIZE for that case.

Is it OK to install?

Regards,
Sergey

Index: util/gendocs.sh
===================================================================
RCS file: /cvsroot/texinfo/texinfo/util/gendocs.sh,v
retrieving revision 1.22
diff -p -u -r1.22 gendocs.sh
--- util/gendocs.sh     1 Jul 2007 22:32:12 -0000       1.22
+++ util/gendocs.sh     23 Oct 2007 14:34:37 -0000
@@ -2,7 +2,7 @@
 # gendocs.sh -- generate a GNU manual in many formats.  This script is
 #   mentioned in maintain.texi.  See the help message below for usage details.
 
-scriptversion=2007-07-01.15
+scriptversion=2007-10-23.17
 
 # Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 #
@@ -37,7 +37,9 @@ templateurl="http://savannah.gnu.org/cgi
 : ${DOCBOOK2PS="docbook2ps"}
 : ${DOCBOOK2TXT="docbook2txt"}
 : ${GENDOCS_TEMPLATE_DIR="."}
+: ${TEXI2HTML="texi2html"}
 unset CDPATH
+unset use_texi2html
 
 version="gendocs.sh $scriptversion
 
@@ -55,7 +57,8 @@ See the GNU Maintainers document for a m
 Options:
   -o OUTDIR   write files into OUTDIR, instead of manual/.
   --docbook   convert to DocBook too (xml, txt, html, pdf and ps).
-  --html ARG  pass indicated ARG to makeinfo for HTML targets.
+  --html ARG  pass indicated ARG to makeinfo or texi2html for HTML targets.
+  --texi2html use texi2html to generate HTML targets.
   --help      display this help and exit successfully.
   --version   display version information and exit successfully.
 
@@ -118,6 +121,7 @@ while test $# -gt 0; do
     -o) shift; outdir=$1;;
     --docbook) docbook=yes;;
     --html) shift; html=$1;;
+    --texi2html) use_texi2html=1;;
     -*)
       echo "$0: Unknown or ambiguous option \`$1'." >&2
       echo "$0: Try \`--help' for more information." >&2
@@ -193,28 +197,60 @@ gzip -f -9 -c $PACKAGE.txt >$outdir/$PAC
 ascii_gz_size=`calcsize $outdir/$PACKAGE.txt.gz`
 mv $PACKAGE.txt $outdir/
 
-cmd="$SETLANG $MAKEINFO --no-split --html -o $PACKAGE.html $html \"$srcfile\""
-echo "Generating monolithic html... ($cmd)"
-rm -rf $PACKAGE.html  # in case a directory is left over
-eval "$cmd"
-html_mono_size=`calcsize $PACKAGE.html`
-gzip -f -9 -c $PACKAGE.html >$outdir/$PACKAGE.html.gz
-html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz`
-mv $PACKAGE.html $outdir/
+html_split() {
+  cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html --split=$1 $html 
\"$srcfile\""
+  echo "Generating html by $1... ($cmd)"
+  eval "$cmd"
+  split_html_dir=$PACKAGE.html
+  (
+    cd ${split_html_dir} || exit 1
+    ln -sf ${PACKAGE}.html index.html
+    tar -czf ../$outdir/${PACKAGE}.html_$1.tar.gz -- *.html
+  )
+  eval html_$1_tgz_size=`calcsize $outdir/${PACKAGE}.html_$1.tar.gz`
+  rm -f $outdir/html_$1/*.html
+  mkdir -p $outdir/html_$1/
+  mv ${split_html_dir}/*.html $outdir/html_$1/
+  rmdir ${split_html_dir}
+}
 
-cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $html \"$srcfile\""
-echo "Generating html by node... ($cmd)"
-eval "$cmd"
-split_html_dir=$PACKAGE.html
-(
-  cd ${split_html_dir} || exit 1
-  tar -czf ../$outdir/${PACKAGE}.html_node.tar.gz -- *.html
-)
-html_node_tgz_size=`calcsize $outdir/${PACKAGE}.html_node.tar.gz`
-rm -f $outdir/html_node/*.html
-mkdir -p $outdir/html_node/
-mv ${split_html_dir}/*.html $outdir/html_node/
-rmdir ${split_html_dir}
+if [ -z "$use_texi2html" ]; then
+  cmd="$SETLANG $MAKEINFO --no-split --html -o $PACKAGE.html $html 
\"$srcfile\""
+  echo "Generating monolithic html... ($cmd)"
+  rm -rf $PACKAGE.html  # in case a directory is left over
+  eval "$cmd"
+  html_mono_size=`calcsize $PACKAGE.html`
+  gzip -f -9 -c $PACKAGE.html >$outdir/$PACKAGE.html.gz
+  html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz`
+  mv $PACKAGE.html $outdir/
+
+  cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $html \"$srcfile\""
+  echo "Generating html by node... ($cmd)"
+  eval "$cmd"
+  split_html_dir=$PACKAGE.html
+  (
+   cd ${split_html_dir} || exit 1
+   tar -czf ../$outdir/${PACKAGE}.html_node.tar.gz -- *.html
+  )
+  html_node_tgz_size=`calcsize $outdir/${PACKAGE}.html_node.tar.gz` 
+  rm -f $outdir/html_node/*.html
+  mkdir -p $outdir/html_node/
+  mv ${split_html_dir}/*.html $outdir/html_node/
+  rmdir ${split_html_dir}
+else
+  cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $html \"$srcfile\"" 
+  echo "Generating monolithic html... ($cmd)"
+  rm -rf $PACKAGE.html  # in case a directory is left over
+  eval "$cmd"
+  html_mono_size=`calcsize $PACKAGE.html`
+  gzip -f -9 -c $PACKAGE.html >$outdir/$PACKAGE.html.gz
+  html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz`
+  mv $PACKAGE.html $outdir/
+
+  html_split node
+  html_split chapter
+  html_split section
+fi
 
 echo Making .tar.gz for sources...
 srcfiles=`ls *.texinfo *.texi *.txi *.eps 2>/dev/null`
@@ -273,6 +309,8 @@ sed \
    -e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \
    -e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \
    -e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \
+   -e "s!%%HTML_SECTION_TGZ_SIZE%%!$html_section_tgz_size!g" \
+   -e "s!%%HTML_CHAPTER_TGZ_SIZE%%!$html_chapter_tgz_size!g" \
    -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \
    -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \
    -e "s!%%PDF_SIZE%%!$pdf_size!g" \




reply via email to

[Prev in Thread] Current Thread [Next in Thread]