| 1 | #!/bin/sh -e |
| 2 | # gendocs.sh -- generate a GNU manual in many formats. This script is |
| 3 | # mentioned in maintain.texi. See the help message below for usage details. |
| 4 | |
| 5 | scriptversion=2013-02-03.15 |
| 6 | |
| 7 | # Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 |
| 8 | # Free Software Foundation, Inc. |
| 9 | # |
| 10 | # This program is free software: you can redistribute it and/or modify |
| 11 | # it under the terms of the GNU General Public License as published by |
| 12 | # the Free Software Foundation; either version 3 of the License, or |
| 13 | # (at your option) any later version. |
| 14 | # |
| 15 | # This program is distributed in the hope that it will be useful, |
| 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 18 | # GNU General Public License for more details. |
| 19 | # |
| 20 | # You should have received a copy of the GNU General Public License |
| 21 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 22 | # |
| 23 | # Original author: Mohit Agarwal. |
| 24 | # Send bug reports and any other correspondence to bug-texinfo@gnu.org. |
| 25 | # |
| 26 | # The latest version of this script, and the companion template, is |
| 27 | # available from Texinfo CVS: |
| 28 | # http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh |
| 29 | # http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template |
| 30 | # |
| 31 | # An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib). |
| 32 | |
| 33 | # TODO: |
| 34 | # - image importation was only implemented for HTML generated by |
| 35 | # makeinfo. But it should be simple enough to adjust. |
| 36 | # - images are not imported in the source tarball. All the needed |
| 37 | # formats (PDF, PNG, etc.) should be included. |
| 38 | |
| 39 | prog=`basename "$0"` |
| 40 | srcdir=`pwd` |
| 41 | |
| 42 | scripturl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh" |
| 43 | templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs_template" |
| 44 | |
| 45 | : ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="} |
| 46 | : ${MAKEINFO="makeinfo"} |
| 47 | : ${TEXI2DVI="texi2dvi -t @finalout"} |
| 48 | : ${DOCBOOK2HTML="docbook2html"} |
| 49 | : ${DOCBOOK2PDF="docbook2pdf"} |
| 50 | : ${DOCBOOK2TXT="docbook2txt"} |
| 51 | : ${GENDOCS_TEMPLATE_DIR="."} |
| 52 | : ${PERL='perl'} |
| 53 | : ${TEXI2HTML="texi2html"} |
| 54 | unset CDPATH |
| 55 | unset use_texi2html |
| 56 | |
| 57 | version="gendocs.sh $scriptversion |
| 58 | |
| 59 | Copyright 2013 Free Software Foundation, Inc. |
| 60 | There is NO warranty. You may redistribute this software |
| 61 | under the terms of the GNU General Public License. |
| 62 | For more information about these matters, see the files named COPYING." |
| 63 | |
| 64 | usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE |
| 65 | |
| 66 | Generate output in various formats from PACKAGE.texinfo (or .texi or |
| 67 | .txi) source. See the GNU Maintainers document for a more extensive |
| 68 | discussion: |
| 69 | http://www.gnu.org/prep/maintain_toc.html |
| 70 | |
| 71 | Options: |
| 72 | --email ADR use ADR as contact in generated web pages; always give this. |
| 73 | |
| 74 | -s SRCFILE read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi} |
| 75 | -o OUTDIR write files into OUTDIR, instead of manual/. |
| 76 | -I DIR append DIR to the Texinfo search path. |
| 77 | --common ARG pass ARG in all invocations. |
| 78 | --html ARG pass ARG to makeinfo or texi2html for HTML targets. |
| 79 | --info ARG pass ARG to makeinfo for Info, instead of --no-split. |
| 80 | --no-ascii skip generating the plain text output. |
| 81 | --source ARG include ARG in tar archive of sources. |
| 82 | --split HOW make split HTML by node, section, chapter; default node. |
| 83 | |
| 84 | --texi2html use texi2html to make HTML target, with all split versions. |
| 85 | --docbook convert through DocBook too (xml, txt, html, pdf). |
| 86 | |
| 87 | --help display this help and exit successfully. |
| 88 | --version display version information and exit successfully. |
| 89 | |
| 90 | Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\" |
| 91 | |
| 92 | Typical sequence: |
| 93 | cd PACKAGESOURCE/doc |
| 94 | wget \"$scripturl\" |
| 95 | wget \"$templateurl\" |
| 96 | $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\" |
| 97 | |
| 98 | Output will be in a new subdirectory \"manual\" (by default; |
| 99 | use -o OUTDIR to override). Move all the new files into your web CVS |
| 100 | tree, as explained in the Web Pages node of maintain.texi. |
| 101 | |
| 102 | Please use the --email ADDRESS option so your own bug-reporting |
| 103 | address will be used in the generated HTML pages. |
| 104 | |
| 105 | MANUAL-TITLE is included as part of the HTML <title> of the overall |
| 106 | manual/index.html file. It should include the name of the package being |
| 107 | documented. manual/index.html is created by substitution from the file |
| 108 | $GENDOCS_TEMPLATE_DIR/gendocs_template. (Feel free to modify the |
| 109 | generic template for your own purposes.) |
| 110 | |
| 111 | If you have several manuals, you'll need to run this script several |
| 112 | times with different MANUAL values, specifying a different output |
| 113 | directory with -o each time. Then write (by hand) an overall index.html |
| 114 | with links to them all. |
| 115 | |
| 116 | If a manual's Texinfo sources are spread across several directories, |
| 117 | first copy or symlink all Texinfo sources into a single directory. |
| 118 | (Part of the script's work is to make a tar.gz of the sources.) |
| 119 | |
| 120 | As implied above, by default monolithic Info files are generated. |
| 121 | If you want split Info, or other Info options, use --info to override. |
| 122 | |
| 123 | You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, |
| 124 | and PERL to control the programs that get executed, and |
| 125 | GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is |
| 126 | looked for. With --docbook, the environment variables DOCBOOK2HTML, |
| 127 | DOCBOOK2PDF, and DOCBOOK2TXT are also consulted. |
| 128 | |
| 129 | By default, makeinfo and texi2dvi are run in the default (English) |
| 130 | locale, since that's the language of most Texinfo manuals. If you |
| 131 | happen to have a non-English manual and non-English web site, see the |
| 132 | SETLANG setting in the source. |
| 133 | |
| 134 | Email bug reports or enhancement requests to bug-texinfo@gnu.org. |
| 135 | " |
| 136 | |
| 137 | MANUAL_TITLE= |
| 138 | PACKAGE= |
| 139 | EMAIL=webmasters@gnu.org # please override with --email |
| 140 | commonarg= # passed to all makeinfo/texi2html invcations. |
| 141 | dirargs= # passed to all tools (-I dir). |
| 142 | dirs= # -I's directories. |
| 143 | htmlarg= |
| 144 | infoarg=--no-split |
| 145 | generate_ascii=true |
| 146 | outdir=manual |
| 147 | source_extra= |
| 148 | split=node |
| 149 | srcfile= |
| 150 | |
| 151 | while test $# -gt 0; do |
| 152 | case $1 in |
| 153 | -s) shift; srcfile=$1;; |
| 154 | -o) shift; outdir=$1;; |
| 155 | -I) shift; dirargs="$dirargs -I '$1'"; dirs="$dirs $1";; |
| 156 | --common) shift; commonarg=$1;; |
| 157 | --docbook) docbook=yes;; |
| 158 | --email) shift; EMAIL=$1;; |
| 159 | --html) shift; htmlarg=$1;; |
| 160 | --info) shift; infoarg=$1;; |
| 161 | --no-ascii) generate_ascii=false;; |
| 162 | --source) shift; source_extra=$1;; |
| 163 | --split) shift; split=$1;; |
| 164 | --texi2html) use_texi2html=1;; |
| 165 | |
| 166 | --help) echo "$usage"; exit 0;; |
| 167 | --version) echo "$version"; exit 0;; |
| 168 | -*) |
| 169 | echo "$0: Unknown option \`$1'." >&2 |
| 170 | echo "$0: Try \`--help' for more information." >&2 |
| 171 | exit 1;; |
| 172 | *) |
| 173 | if test -z "$PACKAGE"; then |
| 174 | PACKAGE=$1 |
| 175 | elif test -z "$MANUAL_TITLE"; then |
| 176 | MANUAL_TITLE=$1 |
| 177 | else |
| 178 | echo "$0: extra non-option argument \`$1'." >&2 |
| 179 | exit 1 |
| 180 | fi;; |
| 181 | esac |
| 182 | shift |
| 183 | done |
| 184 | |
| 185 | # makeinfo uses the dirargs, but texi2dvi doesn't. |
| 186 | commonarg=" $dirargs $commonarg" |
| 187 | |
| 188 | # For most of the following, the base name is just $PACKAGE |
| 189 | base=$PACKAGE |
| 190 | |
| 191 | if test -n "$srcfile"; then |
| 192 | # but here, we use the basename of $srcfile |
| 193 | base=`basename "$srcfile"` |
| 194 | case $base in |
| 195 | *.txi|*.texi|*.texinfo) base=`echo "$base"|sed 's/\.[texinfo]*$//'`;; |
| 196 | esac |
| 197 | PACKAGE=$base |
| 198 | elif test -s "$srcdir/$PACKAGE.texinfo"; then |
| 199 | srcfile=$srcdir/$PACKAGE.texinfo |
| 200 | elif test -s "$srcdir/$PACKAGE.texi"; then |
| 201 | srcfile=$srcdir/$PACKAGE.texi |
| 202 | elif test -s "$srcdir/$PACKAGE.txi"; then |
| 203 | srcfile=$srcdir/$PACKAGE.txi |
| 204 | else |
| 205 | echo "$0: cannot find .texinfo or .texi or .txi for $PACKAGE in $srcdir." >&2 |
| 206 | exit 1 |
| 207 | fi |
| 208 | |
| 209 | if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then |
| 210 | echo "$0: cannot read $GENDOCS_TEMPLATE_DIR/gendocs_template." >&2 |
| 211 | echo "$0: it is available from $templateurl." >&2 |
| 212 | exit 1 |
| 213 | fi |
| 214 | |
| 215 | # Function to return size of $1 in something resembling kilobytes. |
| 216 | calcsize() |
| 217 | { |
| 218 | size=`ls -ksl $1 | awk '{print $1}'` |
| 219 | echo $size |
| 220 | } |
| 221 | |
| 222 | # copy_images OUTDIR HTML-FILE... |
| 223 | # ------------------------------- |
| 224 | # Copy all the images needed by the HTML-FILEs into OUTDIR. Look |
| 225 | # for them in the -I directories. |
| 226 | copy_images() |
| 227 | { |
| 228 | local odir |
| 229 | odir=$1 |
| 230 | shift |
| 231 | $PERL -n -e " |
| 232 | BEGIN { |
| 233 | \$me = '$prog'; |
| 234 | \$odir = '$odir'; |
| 235 | @dirs = qw($dirs); |
| 236 | } |
| 237 | " -e ' |
| 238 | /<img src="(.*?)"/g && ++$need{$1}; |
| 239 | |
| 240 | END { |
| 241 | #print "$me: @{[keys %need]}\n"; # for debugging, show images found. |
| 242 | FILE: for my $f (keys %need) { |
| 243 | for my $d (@dirs) { |
| 244 | if (-f "$d/$f") { |
| 245 | use File::Basename; |
| 246 | my $dest = dirname ("$odir/$f"); |
| 247 | # |
| 248 | use File::Path; |
| 249 | -d $dest || mkpath ($dest) |
| 250 | || die "$me: cannot mkdir $dest: $!\n"; |
| 251 | # |
| 252 | use File::Copy; |
| 253 | copy ("$d/$f", $dest) |
| 254 | || die "$me: cannot copy $d/$f to $dest: $!\n"; |
| 255 | next FILE; |
| 256 | } |
| 257 | } |
| 258 | die "$me: $ARGV: cannot find image $f\n"; |
| 259 | } |
| 260 | } |
| 261 | ' -- "$@" || exit 1 |
| 262 | } |
| 263 | |
| 264 | case $outdir in |
| 265 | /*) abs_outdir=$outdir;; |
| 266 | *) abs_outdir=$srcdir/$outdir;; |
| 267 | esac |
| 268 | |
| 269 | echo "Making output for $srcfile" |
| 270 | echo " in `pwd`" |
| 271 | mkdir -p "$outdir/" |
| 272 | |
| 273 | cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\"" |
| 274 | echo "Generating info... ($cmd)" |
| 275 | eval "$cmd" |
| 276 | tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info* |
| 277 | ls -l "$outdir/$PACKAGE.info.tar.gz" |
| 278 | info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"` |
| 279 | # do not mv the info files, there's no point in having them available |
| 280 | # separately on the web. |
| 281 | |
| 282 | cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\"" |
| 283 | printf "\nGenerating dvi... ($cmd)\n" |
| 284 | eval "$cmd" |
| 285 | # compress/finish dvi: |
| 286 | gzip -f -9 $PACKAGE.dvi |
| 287 | dvi_gz_size=`calcsize $PACKAGE.dvi.gz` |
| 288 | mv $PACKAGE.dvi.gz "$outdir/" |
| 289 | ls -l "$outdir/$PACKAGE.dvi.gz" |
| 290 | |
| 291 | cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\"" |
| 292 | printf "\nGenerating pdf... ($cmd)\n" |
| 293 | eval "$cmd" |
| 294 | pdf_size=`calcsize $PACKAGE.pdf` |
| 295 | mv $PACKAGE.pdf "$outdir/" |
| 296 | ls -l "$outdir/$PACKAGE.pdf" |
| 297 | |
| 298 | if $generate_ascii; then |
| 299 | opt="-o $PACKAGE.txt --no-split --no-headers $commonarg" |
| 300 | cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" |
| 301 | printf "\nGenerating ascii... ($cmd)\n" |
| 302 | eval "$cmd" |
| 303 | ascii_size=`calcsize $PACKAGE.txt` |
| 304 | gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz" |
| 305 | ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"` |
| 306 | mv $PACKAGE.txt "$outdir/" |
| 307 | ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz" |
| 308 | fi |
| 309 | |
| 310 | html_split() |
| 311 | { |
| 312 | opt="--split=$1 --node-files $commonarg $htmlarg" |
| 313 | cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\"" |
| 314 | printf "\nGenerating html by $1... ($cmd)\n" |
| 315 | eval "$cmd" |
| 316 | split_html_dir=$PACKAGE.html |
| 317 | ( |
| 318 | cd ${split_html_dir} || exit 1 |
| 319 | ln -sf ${PACKAGE}.html index.html |
| 320 | tar -czf "$abs_outdir/${PACKAGE}.html_$1.tar.gz" -- *.html |
| 321 | ) |
| 322 | eval html_$1_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$1.tar.gz"` |
| 323 | rm -f "$outdir"/html_$1/*.html |
| 324 | mkdir -p "$outdir/html_$1/" |
| 325 | mv ${split_html_dir}/*.html "$outdir/html_$1/" |
| 326 | rmdir ${split_html_dir} |
| 327 | } |
| 328 | |
| 329 | if test -z "$use_texi2html"; then |
| 330 | opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg" |
| 331 | cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" |
| 332 | printf "\nGenerating monolithic html... ($cmd)\n" |
| 333 | rm -rf $PACKAGE.html # in case a directory is left over |
| 334 | eval "$cmd" |
| 335 | html_mono_size=`calcsize $PACKAGE.html` |
| 336 | gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz" |
| 337 | html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` |
| 338 | copy_images "$outdir/" $PACKAGE.html |
| 339 | mv $PACKAGE.html "$outdir/" |
| 340 | ls -l "$outdir/$PACKAGE.html" "$outdir/$PACKAGE.html.gz" |
| 341 | |
| 342 | opt="--html -o $PACKAGE.html --split=$split $commonarg $htmlarg" |
| 343 | cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" |
| 344 | printf "\nGenerating html by $split... ($cmd)\n" |
| 345 | eval "$cmd" |
| 346 | split_html_dir=$PACKAGE.html |
| 347 | copy_images $split_html_dir/ $split_html_dir/*.html |
| 348 | ( |
| 349 | cd $split_html_dir || exit 1 |
| 350 | tar -czf "$abs_outdir/$PACKAGE.html_$split.tar.gz" -- * |
| 351 | ) |
| 352 | eval \ |
| 353 | html_${split}_tgz_size=`calcsize "$outdir/$PACKAGE.html_$split.tar.gz"` |
| 354 | rm -rf "$outdir/html_$split/" |
| 355 | mv $split_html_dir "$outdir/html_$split/" |
| 356 | du -s "$outdir/html_$split/" |
| 357 | ls -l "$outdir/$PACKAGE.html_$split.tar.gz" |
| 358 | |
| 359 | else # use texi2html: |
| 360 | opt="--output $PACKAGE.html $commonarg $htmlarg" |
| 361 | cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\"" |
| 362 | printf "\nGenerating monolithic html with texi2html... ($cmd)\n" |
| 363 | rm -rf $PACKAGE.html # in case a directory is left over |
| 364 | eval "$cmd" |
| 365 | html_mono_size=`calcsize $PACKAGE.html` |
| 366 | gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz" |
| 367 | html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` |
| 368 | mv $PACKAGE.html "$outdir/" |
| 369 | |
| 370 | html_split node |
| 371 | html_split chapter |
| 372 | html_split section |
| 373 | fi |
| 374 | |
| 375 | printf "\nMaking .tar.gz for sources...\n" |
| 376 | d=`dirname $srcfile` |
| 377 | ( |
| 378 | cd "$d" |
| 379 | srcfiles=`ls -d *.texinfo *.texi *.txi *.eps $source_extra 2>/dev/null` || true |
| 380 | tar czfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles |
| 381 | ls -l "$abs_outdir/$PACKAGE.texi.tar.gz" |
| 382 | ) |
| 383 | texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"` |
| 384 | |
| 385 | if test -n "$docbook"; then |
| 386 | opt="-o - --docbook $commonarg" |
| 387 | cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml" |
| 388 | printf "\nGenerating docbook XML... ($cmd)\n" |
| 389 | eval "$cmd" |
| 390 | docbook_xml_size=`calcsize $PACKAGE-db.xml` |
| 391 | gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz" |
| 392 | docbook_xml_gz_size=`calcsize "$outdir/$PACKAGE-db.xml.gz"` |
| 393 | mv $PACKAGE-db.xml "$outdir/" |
| 394 | |
| 395 | split_html_db_dir=html_node_db |
| 396 | opt="$commonarg -o $split_html_db_dir" |
| 397 | cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\"" |
| 398 | printf "\nGenerating docbook HTML... ($cmd)\n" |
| 399 | eval "$cmd" |
| 400 | ( |
| 401 | cd ${split_html_db_dir} || exit 1 |
| 402 | tar -czf "$abs_outdir/${PACKAGE}.html_node_db.tar.gz" -- *.html |
| 403 | ) |
| 404 | html_node_db_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node_db.tar.gz"` |
| 405 | rm -f "$outdir"/html_node_db/*.html |
| 406 | mkdir -p "$outdir/html_node_db" |
| 407 | mv ${split_html_db_dir}/*.html "$outdir/html_node_db/" |
| 408 | rmdir ${split_html_db_dir} |
| 409 | |
| 410 | cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\"" |
| 411 | printf "\nGenerating docbook ASCII... ($cmd)\n" |
| 412 | eval "$cmd" |
| 413 | docbook_ascii_size=`calcsize $PACKAGE-db.txt` |
| 414 | mv $PACKAGE-db.txt "$outdir/" |
| 415 | |
| 416 | cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\"" |
| 417 | printf "\nGenerating docbook PDF... ($cmd)\n" |
| 418 | eval "$cmd" |
| 419 | docbook_pdf_size=`calcsize $PACKAGE-db.pdf` |
| 420 | mv $PACKAGE-db.pdf "$outdir/" |
| 421 | fi |
| 422 | |
| 423 | printf "\nMaking index file...\n" |
| 424 | if test -z "$use_texi2html"; then |
| 425 | CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\ |
| 426 | /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d" |
| 427 | else |
| 428 | # should take account of --split here. |
| 429 | CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d" |
| 430 | fi |
| 431 | |
| 432 | curdate=`$SETLANG date '+%B %d, %Y'` |
| 433 | sed \ |
| 434 | -e "s!%%TITLE%%!$MANUAL_TITLE!g" \ |
| 435 | -e "s!%%EMAIL%%!$EMAIL!g" \ |
| 436 | -e "s!%%PACKAGE%%!$PACKAGE!g" \ |
| 437 | -e "s!%%DATE%%!$curdate!g" \ |
| 438 | -e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \ |
| 439 | -e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \ |
| 440 | -e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \ |
| 441 | -e "s!%%HTML_SECTION_TGZ_SIZE%%!$html_section_tgz_size!g" \ |
| 442 | -e "s!%%HTML_CHAPTER_TGZ_SIZE%%!$html_chapter_tgz_size!g" \ |
| 443 | -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \ |
| 444 | -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \ |
| 445 | -e "s!%%PDF_SIZE%%!$pdf_size!g" \ |
| 446 | -e "s!%%ASCII_SIZE%%!$ascii_size!g" \ |
| 447 | -e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \ |
| 448 | -e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \ |
| 449 | -e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \ |
| 450 | -e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \ |
| 451 | -e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \ |
| 452 | -e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \ |
| 453 | -e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \ |
| 454 | -e "s,%%SCRIPTURL%%,$scripturl,g" \ |
| 455 | -e "s!%%SCRIPTNAME%%!$prog!g" \ |
| 456 | -e "$CONDS" \ |
| 457 | $GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html" |
| 458 | |
| 459 | echo "Done, see $outdir/ subdirectory for new files." |
| 460 | |
| 461 | # Local variables: |
| 462 | # eval: (add-hook 'write-file-hooks 'time-stamp) |
| 463 | # time-stamp-start: "scriptversion=" |
| 464 | # time-stamp-format: "%:y-%02m-%02d.%02H" |
| 465 | # time-stamp-end: "$" |
| 466 | # End: |