#!/usr/bin/env tclsh #=============================================================================== # # fixhtml.tcl # # Patch HTML files generated from DocBook sources. # #=============================================================================== ## ####ECOSGPLCOPYRIGHTBEGIN#### ## ------------------------------------------- ## This file is part of eCos, the Embedded Configurable Operating System. ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ## ## eCos 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 or (at your option) any later ## version. ## ## eCos 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 eCos; if not, write to the Free Software Foundation, Inc., ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ## ## As a special exception, if other files instantiate templates or use ## macros or inline functions from this file, or you compile this file ## and link it with other works to produce a work based on this file, ## this file does not by itself cause the resulting work to be covered by ## the GNU General Public License. However the source code for this file ## must still be made available in accordance with section (3) of the GNU ## General Public License v2. ## ## This exception does not invalidate any other reasons why a work based ## on this file might be covered by the GNU General Public License. ## ------------------------------------------- ## ####ECOSGPLCOPYRIGHTEND#### #=============================================================================== ######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"] set copyright_banner \ " " 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]* Free Software Foundation.*} $data] == 0} { # The DSSSL has the annoying habit of splitting tags over several lines. # This should sort things out. # REMOVED by jifl: doing this can add newlines in tags like # , , and/or # regsub -all "\n>" $data ">\n" data # Add a copyright banner set data "[set copyright_banner]\n[set data]" # Look for a smarttags meta. If absent, insert one. There should # already be one meta present identifying the stylesheet, so # that identifies a sensible location for inserting another meta. if {[regexp {MSSmartTagsPreventParsing} $data] == 0} { regsub -nocase {\n