Mercurial > ecos
diff packages/pkgconf/fixhtml.tcl @ 150:f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
| author | jlarmour |
|---|---|
| date | Fri, 26 Jan 2001 08:15:27 +0000 |
| parents | |
| children | 25e238959bae |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/packages/pkgconf/fixhtml.tcl @@ -0,0 +1,103 @@ +#!/bin/sh +# the next line restarts using tclsh \ + exec tclsh "$0" ${1+"$@"} + +#=============================================================================== +# +# fixhtml.tcl +# +# Patch HTML files generated from DocBook sources. +# +#=============================================================================== +#####COPYRIGHTBEGIN#### +# +# =============================================================== +# Copyright (C) 2000, 2001 Red Hat, Inc. +# +# This file is part of the eCos host tools. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# +# =============================================================== +# +#####COPYRIGHTEND#### +#=============================================================================== +######DESCRIPTIONBEGIN#### +# +# Author(s): bartv +# Contributors: bartv +# Date: 2000-03-14 +# Purpose: HTML files generated from DocBook sources using the nwalsh +# stylesheets have a number of problems. Most importantly, +# Netscape 4.x does not understand all of the character entities +# defined by HTML 4.0x +# +#####DESCRIPTIONEND#### +#=============================================================================== +# + +# Find out the current year for the copyright message. Ideally +# this would be a range extracted from the sources, but that is +# a little bit tricky. + +set year [clock format [clock seconds] -format "%Y"] + +# The generated files all have a .htm suffix rather than a .html +# suffix. For now this is preserved, to avoid having to change all the +# anchors. It might be better to rename all the files to .html in +# future, and perhaps also to change book1.htm to index.htm + +set files [glob *.html] +foreach file $files { + set status [catch { + + set fd [open $file "r"] + set data [read $fd] + close $fd + + # If there is already a (C) message on the first line, skip this file. + if {[regexp {[^\n]*Copyright (C) [0-9]* Red Hat.*} $data] == 0} { + + + # The DSSSL has the annoying habit of splitting tags over several lines. + # This should sort things out. + regsub -all "\n>" $data ">\n" data + + # Add a copyright banner + set data [concat "<!-- Copyright (C) $year Red Hat, Inc. -->\n" $data] + + # Take care of some character entities that Netscape does not understand + regsub -all "&mgr;" $data "\\BC;" data + regsub -all "—" $data "\\—" data + regsub -all "…" $data "\\…" data + regsub -all "“" $data "\\“" data + regsub -all "”" $data "\\”" data + + # Now write the data back to the file. Do not bother to + # keep an old version lying around, the html files can be + # regenerated easily enough. + set fd [open $file "w"] + puts -nonewline $fd $data + close $fd + } + } result] + + if {0 != $status} { + puts "Error while processing file $file\n $result" + exit 1 + } +} +
