cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cziege...@apache.org
Subject cvs commit: cocoon-site/site index.pdf changes.pdf faq.pdf todo.pdf
Date Thu, 03 Jul 2003 15:10:55 GMT
cziegeler    2003/07/03 08:10:54

  Modified:    site/2.1/skin page.css breadcrumbs-optimized.js
                        breadcrumbs.js
  Removed:     site     index.pdf changes.pdf faq.pdf todo.pdf
  Log:
  Deleting obsolete pdfs
  
  Revision  Changes    Path
  1.4       +63 -61    cocoon-site/site/2.1/skin/page.css
  
  Index: page.css
  ===================================================================
  RCS file: /home/cvs/cocoon-site/site/2.1/skin/page.css,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- page.css	21 May 2003 15:23:28 -0000	1.3
  +++ page.css	3 Jul 2003 15:10:52 -0000	1.4
  @@ -1,61 +1,63 @@
  -body {  background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica,
sans-serif;  font-size : 100%;  }
  -
  -a:link { color: #0F3660; }
  -a:visited { color: #009999; }
  -a:active { color: #000066; }
  -a:hover { color: #000066; }
  -
  -.menu { background-color: #4C6C8F; margin: 0px; padding: 3px 8px 5px 3px;  font-size :
90%;  }
  -.menu a:link { color: #FFFFFF;  text-decoration : none;  }
  -.menu a:visited { color: #FFFFFF; text-decoration : none; }
  -.menu a:hover { color: #FFCC00; text-decoration : none; }
  -.menu ul { margin: 0px 0px 0px 20px; padding: 0px; }
  -.menu li  { list-style-image: url('images/label.gif'); font-weight : bold; }
  -.menu ul ul li .sel { list-style-image: url('images/current.gif'); font-weight : normal;
}
  -.menu ul ul li  { list-style-image: url('images/page.gif'); font-weight : normal; }
  -
  -.tab { font-size : 85%; border: 0 }
  -.tab a:link {   text-decoration : none;  }
  -.tab a:visited { text-decoration : none; color: #2A4A6D }
  -.tab a:hover { color: #000066; }
  -
  -table .title { background-color: #FFFFFF; width:100%; border: 0px; }
  -.dida { font-size: 80%; }
  -
  -.pre { white-space: pre;}
  -
  -.content { padding: 5px 5px 5px 10px; font : small Verdana, Helvetica, sans-serif;  font-size
: 90%; }
  -.content .ForrestTable { width: 100%; background-color: #7099C5; color: #ffffff; font-size
: 90%;}
  -.content .ForrestTable caption { text-align: left; color: black; font-weight: bold; }
  -.content .ForrestTable th { text-align: center; }
  -.content .ForrestTable td { background-color: #f0f0ff; color: black; }
  -
  -.frame { margin: 5px 20px 5px 20px; font-size: 90%; }
  -.frame .content { margin: 0px; }
  -
  -.note { border: solid 1px #7099C5; background-color: #f0f0ff; }
  -.note .label { background-color: #7099C5; color: #ffffff; }
  -
  -.warning { border: solid 1px #D00000; background-color: #fff0f0; }
  -.warning .label { background-color: #D00000; color: #ffffff; }
  -
  -.fixme { border: solid 1px #C6C600; background-color: #FAF9C3; }
  -.fixme .label { background-color: #C6C600; color: #ffffff; }
  -
  -.code { border-color: #CFDCED; border-style: solid; border-width: 1px; }
  -.codefrag {	font-family: "Courier New", Courier, monospace; }
  -
  -.highlight { background-color: yellow; }
  -
  -.minitoc {margin: 5px 5px 5px 40px;}
  -
  -.dtdElement { width: 100%;	font-size: 90%; background-color : #ffffff; }
  -
  -.dtdTag {    color: #990000; text-transform : uppercase;  font-style : normal;  font-size
: 120%;  font-weight : bold; }
  -
  -
  -@media print {
  -   .menu {
  -     display: none;
  -   }
  -}
  +body {  background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica,
sans-serif;  font-size : 100%;  }
  +
  +a:link { color: #0F3660; }
  +a:visited { color: #009999; }
  +a:active { color: #000066; }
  +a:hover { color: #000066; }
  +
  +img { border: 0; vertical-align: top }
  +
  +.menu { background-color: #4C6C8F; margin: 0px; padding: 3px 8px 5px 3px;  font-size :
90%;  }
  +.menu a:link { color: #FFFFFF;  text-decoration : none;  }
  +.menu a:visited { color: #FFFFFF; text-decoration : none; }
  +.menu a:hover { color: #FFCC00; text-decoration : none; }
  +.menu ul { margin: 0px 0px 0px 20px; padding: 0px; }
  +.menu li  { list-style-image: url('images/label.gif'); font-weight : bold; }
  +.menu ul ul li .sel { list-style-image: url('images/current.gif'); font-weight : normal;
}
  +.menu ul ul li  { list-style-image: url('images/page.gif'); font-weight : normal; }
  +
  +.tab { font-size : 85%; border: 0 }
  +.tab a:link {   text-decoration : none;  }
  +.tab a:visited { text-decoration : none; color: #2A4A6D }
  +.tab a:hover { color: #000066; }
  +
  +table .title { background-color: #FFFFFF; width:100%; border: 0px; }
  +.dida { font-size: 80%; }
  +
  +.pre { white-space: pre;}
  +
  +.content { padding: 5px 5px 5px 10px; font : small Verdana, Helvetica, sans-serif;  font-size
: 90%; }
  +.content .ForrestTable { width: 100%; background-color: #7099C5; color: #ffffff; font-size
: 90%;}
  +.content .ForrestTable caption { text-align: left; color: black; font-weight: bold; }
  +.content .ForrestTable th { text-align: center; }
  +.content .ForrestTable td { background-color: #f0f0ff; color: black; }
  +
  +.frame { margin: 5px 20px 5px 20px; font-size: 90%; }
  +.frame .content { margin: 0px; }
  +
  +.note { border: solid 1px #7099C5; background-color: #f0f0ff; }
  +.note .label { background-color: #7099C5; color: #ffffff; }
  +
  +.warning { border: solid 1px #D00000; background-color: #fff0f0; }
  +.warning .label { background-color: #D00000; color: #ffffff; }
  +
  +.fixme { border: solid 1px #C6C600; background-color: #FAF9C3; }
  +.fixme .label { background-color: #C6C600; color: #ffffff; }
  +
  +.code { border-color: #CFDCED; border-style: solid; border-width: 1px; }
  +.codefrag {	font-family: "Courier New", Courier, monospace; }
  +
  +.highlight { background-color: yellow; }
  +
  +.minitoc {margin: 5px 5px 5px 40px;}
  +
  +.dtdElement { width: 100%;	font-size: 90%; background-color : #ffffff; }
  +
  +.dtdTag {    color: #990000; text-transform : uppercase;  font-style : normal;  font-size
: 120%;  font-weight : bold; }
  +
  +
  +@media print {
  +   .menu {
  +     display: none;
  +   }
  +}
  
  
  
  1.4       +67 -67    cocoon-site/site/2.1/skin/breadcrumbs-optimized.js
  
  Index: breadcrumbs-optimized.js
  ===================================================================
  RCS file: /home/cvs/cocoon-site/site/2.1/skin/breadcrumbs-optimized.js,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- breadcrumbs-optimized.js	21 May 2003 15:23:28 -0000	1.3
  +++ breadcrumbs-optimized.js	3 Jul 2003 15:10:53 -0000	1.4
  @@ -1,67 +1,67 @@
  -var PREPREND_CRUMBS=new Array();
  -PREPREND_CRUMBS.push(new Array("Apache","http://www.apache.org/"));
  -PREPREND_CRUMBS.push(new Array("Jakarta","http://jakarta.apache.org/"));
  -var DISPLAY_SEPARATOR=" > ";
  -var DISPLAY_PREPREND="";
  -var DISPLAY_POSTPREND=":";
  -var CSS_CLASS_CRUMB="breadcrumb";
  -var CSS_CLASS_TRAIL="breadcrumbTrail";
  -var CSS_CLASS_SEPARATOR="crumbSeparator";
  -var FILE_EXTENSIONS=new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
  -var PATH_SEPARATOR="/";
  -
  -function sc(s) {
  -	var l=s.toLowerCase();
  -	return l.substr(0,1).toUpperCase()+l.substr(1);
  -}
  -function getdirs() {
  -	var t=document.location.pathname.split(PATH_SEPARATOR);
  -	var lc=t[t.length-1];
  -	for(var i=0;i < FILE_EXTENSIONS.length;i++)
  -	{
  -		if(lc.indexOf(FILE_EXTENSIONS[i]))
  -			return t.slice(1,t.length-1); }
  -	return t.slice(1,t.length);
  -}
  -function getcrumbs( d )
  -{
  -	var pre = "/";
  -	var post = "/";
  -	var c = new Array();
  -	if( d != null )
  -	{
  -		for(var i=0;i < d.length;i++) {
  -			pre+=d[i]+postfix;
  -			c.push(new Array(d[i],pre)); }
  -	}
  -	if(PREPREND_CRUMBS.length > 0 )
  -		return PREPREND_CRUMBS.concat( c );
  -	return c;
  -}
  -function gettrail( c )
  -{
  -	var h=DISPLAY_PREPREND;
  -	for(var i=0;i < c.length;i++)
  -	{
  -		h+='<a href="'+c[i][1]+'" >'+sc(c[i][0])+'</a>';
  -		if(i!=(c.length-1))
  -			h+=DISPLAY_SEPARATOR; }
  -	return h+DISPLAY_POSTPREND;
  -}
  -
  -function gettrailXHTML( c )
  -{
  -	var h='<span class="'+CSS_CLASS_TRAIL+'">'+DISPLAY_PREPREND;
  -	for(var i=0;i < c.length;i++)
  -	{
  -		h+='<a href="'+c[i][1]+'" class="'+CSS_CLASS_CRUMB+'">'+sc(c[i][0])+'</a>';
  -		if(i!=(c.length-1))
  -			h+='<span class="'+CSS_CLASS_SEPARATOR+'">'+DISPLAY_SEPARATOR+'</span>';
}
  -	return h+DISPLAY_POSTPREND+'</span>';
  -}
  -
  -if(document.location.href.toLowerCase().indexOf("http://")==-1)
  -	document.write(gettrail(getcrumbs()));
  -else
  -	document.write(gettrail(getcrumbs(getdirs())));
  -
  +var PREPREND_CRUMBS=new Array();
  +PREPREND_CRUMBS.push(new Array("Apache","http://www.apache.org/"));
  +PREPREND_CRUMBS.push(new Array("Jakarta","http://jakarta.apache.org/"));
  +var DISPLAY_SEPARATOR=" &gt; ";
  +var DISPLAY_PREPREND="";
  +var DISPLAY_POSTPREND=":";
  +var CSS_CLASS_CRUMB="breadcrumb";
  +var CSS_CLASS_TRAIL="breadcrumbTrail";
  +var CSS_CLASS_SEPARATOR="crumbSeparator";
  +var FILE_EXTENSIONS=new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
  +var PATH_SEPARATOR="/";
  +
  +function sc(s) {
  +	var l=s.toLowerCase();
  +	return l.substr(0,1).toUpperCase()+l.substr(1);
  +}
  +function getdirs() {
  +	var t=document.location.pathname.split(PATH_SEPARATOR);
  +	var lc=t[t.length-1];
  +	for(var i=0;i < FILE_EXTENSIONS.length;i++)
  +	{
  +		if(lc.indexOf(FILE_EXTENSIONS[i]))
  +			return t.slice(1,t.length-1); }
  +	return t.slice(1,t.length);
  +}
  +function getcrumbs( d )
  +{
  +	var pre = "/";
  +	var post = "/";
  +	var c = new Array();
  +	if( d != null )
  +	{
  +		for(var i=0;i < d.length;i++) {
  +			pre+=d[i]+postfix;
  +			c.push(new Array(d[i],pre)); }
  +	}
  +	if(PREPREND_CRUMBS.length > 0 )
  +		return PREPREND_CRUMBS.concat( c );
  +	return c;
  +}
  +function gettrail( c )
  +{
  +	var h=DISPLAY_PREPREND;
  +	for(var i=0;i < c.length;i++)
  +	{
  +		h+='<a href="'+c[i][1]+'" >'+sc(c[i][0])+'</a>';
  +		if(i!=(c.length-1))
  +			h+=DISPLAY_SEPARATOR; }
  +	return h+DISPLAY_POSTPREND;
  +}
  +
  +function gettrailXHTML( c )
  +{
  +	var h='<span class="'+CSS_CLASS_TRAIL+'">'+DISPLAY_PREPREND;
  +	for(var i=0;i < c.length;i++)
  +	{
  +		h+='<a href="'+c[i][1]+'" class="'+CSS_CLASS_CRUMB+'">'+sc(c[i][0])+'</a>';
  +		if(i!=(c.length-1))
  +			h+='<span class="'+CSS_CLASS_SEPARATOR+'">'+DISPLAY_SEPARATOR+'</span>';
}
  +	return h+DISPLAY_POSTPREND+'</span>';
  +}
  +
  +if(document.location.href.toLowerCase().indexOf("http://")==-1)
  +	document.write(gettrail(getcrumbs()));
  +else
  +	document.write(gettrail(getcrumbs(getdirs())));
  +
  
  
  
  1.5       +267 -257  cocoon-site/site/2.1/skin/breadcrumbs.js
  
  Index: breadcrumbs.js
  ===================================================================
  RCS file: /home/cvs/cocoon-site/site/2.1/skin/breadcrumbs.js,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- breadcrumbs.js	21 May 2003 15:23:28 -0000	1.4
  +++ breadcrumbs.js	3 Jul 2003 15:10:53 -0000	1.5
  @@ -1,257 +1,267 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Forrest" and "Apache Software Foundation"
  -    must not be used to endorse or promote products derived from this  software
  -    without  prior written permission. For written permission, please contact
  -    apache@apache.org.
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation. For more  information on the
  - Apache Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -
  -/**
  - * This script, when included in a html file, builds a neat breadcrumb trail
  - * based on its url. That is, if it doesn't contains bugs (I'm relatively
  - * sure it does).
  - *
  - * Typical usage:
  - * <script type="text/javascript" language="JavaScript" src="breadcrumbs.js"></script>
  - *
  - *@author     <a href="mailto:leosimons@apache.org">Leo Simons</a> (main author)
  - *@author     <a href="mailto:nicolaken@apache.org">Nicola Ken Barozzi</a>
(integration in skin)
  - *@created    July 12, 2002
  - *@version    1.0
  - */
  -
  -/* ========================================================================
  -	CONSTANTS
  -   ======================================================================== */
  -
  -/**
  - * Two-dimensional array containing extra crumbs to place at the front of
  - * the trail. Specify first the name of the crumb, then the URI that belongs
  - * to it. You'll need to modify this for every domain or subdomain where
  - * you use this script (you can leave it as an empty array if you wish)
  - */
  -var PREPREND_CRUMBS = new Array();
  -   if(!("apache"=="")){
  -     PREPREND_CRUMBS.push( new Array( "apache", "http://www.apache.org/" ) );
  -   }
  -   if(!("xml"=="")){
  -     PREPREND_CRUMBS.push( new Array( "xml", "http://xml.apache.org/" ) );
  -   }
  -   if(!("cocoon"=="")){
  -     PREPREND_CRUMBS.push( new Array( "cocoon", "http://cocoon.apache.org/" ) );
  -   }
  -
  -/**
  - * String to include between crumbs:
  - */
  -var DISPLAY_SEPARATOR = " &gt; ";
  -/**
  - * String to include at the beginning of the trail
  - */
  -var DISPLAY_PREPREND = "";
  -/**
  - * String to include at the end of the trail
  - */
  -var DISPLAY_POSTPREND = "";
  -
  -/**
  - * CSS Class to use for a single crumb:
  - */
  -var CSS_CLASS_CRUMB = "breadcrumb";
  -
  -/**
  - * CSS Class to use for the complete trail:
  - */
  -var CSS_CLASS_TRAIL = "breadcrumbTrail";
  -
  -/**
  - * CSS Class to use for crumb separator:
  - */
  -var CSS_CLASS_SEPARATOR = "crumbSeparator";
  -
  -/**
  - * Array of strings containing common file extensions. We use this to
  - * determine what part of the url to ignore (if it contains one of the
  - * string specified here, we ignore it).
  - */
  -var FILE_EXTENSIONS = new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
  -
  -/**
  - * String that separates parts of the breadcrumb trail from each other.
  - * When this is no longer a slash, I'm sure I'll be old and grey.
  - */
  -var PATH_SEPARATOR = "/";
  -
  -/* ========================================================================
  -	UTILITY FUNCTIONS
  -   ======================================================================== */
  -/**
  - * Capitalize first letter of the provided string and return the modified
  - * string.
  - */
  -function sentenceCase( string )
  -{
  -	var lower = string.toLowerCase();
  -	return lower.substr(0,1).toUpperCase() + lower.substr(1);
  -}
  -
  -/**
  - * Returns an array containing the names of all the directories in the
  - * current document URL
  - */
  -function getDirectoriesInURL()
  -{
  -	var trail = document.location.pathname.split( PATH_SEPARATOR );
  -
  -	// check whether last section is a file or a directory
  -	var lastcrumb = trail[trail.length-1];
  -	for( var i = 0; i < FILE_EXTENSIONS.length; i++ )
  -	{
  -		if( lastcrumb.indexOf( FILE_EXTENSIONS[i] ) )
  -		{
  -			// it is, remove it and send results
  -			return trail.slice( 1, trail.length-1 );
  -		}
  -	}
  -
  -	// it's not; send the trail unmodified
  -	return trail.slice( 1, trail.length );
  -}
  -
  -/* ========================================================================
  -	BREADCRUMB FUNCTIONALITY
  -   ======================================================================== */
  -/**
  - * Return a two-dimensional array describing the breadcrumbs based on the
  - * array of directories passed in.
  - */
  -function getBreadcrumbs( dirs )
  -{
  -	var prefix = "/";
  -	var postfix = "/";
  -
  -	// the array we will return
  -	var crumbs = new Array();
  -
  -	if( dirs != null )
  -	{
  -		for( var i = 0; i < dirs.length; i++ )
  -		{
  -			prefix += dirs[i] + postfix;
  -			crumbs.push( new Array( dirs[i], prefix ) );
  -		}
  -	}
  -
  -	// preprend the PREPREND_CRUMBS
  -	if(PREPREND_CRUMBS.length > 0 )
  -	{
  -		return PREPREND_CRUMBS.concat( crumbs );
  -	}
  -
  -	return crumbs;
  -}
  -
  -/**
  - * Return a string containing a simple text breadcrumb trail based on the
  - * two-dimensional array passed in.
  - */
  -function getCrumbTrail( crumbs )
  -{
  -	var xhtml = DISPLAY_PREPREND;
  -
  -	for( var i = 0; i < crumbs.length; i++ )
  -	{
  -		xhtml += '<a href="' + crumbs[i][1] + '" >';
  -		xhtml += sentenceCase( crumbs[i][0] ) + '</a>';
  -		if( i != (crumbs.length-1) )
  -		{
  -			xhtml += DISPLAY_SEPARATOR;
  -		}
  -	}
  -
  -	xhtml += DISPLAY_POSTPREND;
  -
  -	return xhtml;
  -}
  -
  -/**
  - * Return a string containing an XHTML breadcrumb trail based on the
  - * two-dimensional array passed in.
  - */
  -function getCrumbTrailXHTML( crumbs )
  -{
  -	var xhtml = '<span class="' + CSS_CLASS_TRAIL  + '">';
  -	xhtml += DISPLAY_PREPREND;
  -
  -	for( var i = 0; i < crumbs.length; i++ )
  -	{
  -		xhtml += '<a href="' + crumbs[i][1] + '" class="' + CSS_CLASS_CRUMB + '">';
  -		xhtml += sentenceCase( crumbs[i][0] ) + '</a>';
  -		if( i != (crumbs.length-1) )
  -		{
  -			xhtml += '<span class="' + CSS_CLASS_SEPARATOR + '">' + DISPLAY_SEPARATOR + '</span>';
  -		}
  -	}
  -
  -	xhtml += DISPLAY_POSTPREND;
  -	xhtml += '</span>';
  -
  -	return xhtml;
  -}
  -
  -/* ========================================================================
  -	PRINT BREADCRUMB TRAIL
  -   ======================================================================== */
  -
  -// check if we're local; if so, only print the PREPREND_CRUMBS
  -if( document.location.href.toLowerCase().indexOf( "http://" ) == -1 )
  -{
  -	document.write( getCrumbTrail( getBreadcrumbs() ) );
  -}
  -else
  -{
  -	document.write( getCrumbTrail( getBreadcrumbs( getDirectoriesInURL() ) ) );
  -}
  -
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Forrest" and "Apache Software Foundation"
  +    must not be used to endorse or promote products derived from this  software
  +    without  prior written permission. For written permission, please contact
  +    apache@apache.org.
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation. For more  information on the
  + Apache Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +
  +/**
  + * This script, when included in a html file, builds a neat breadcrumb trail
  + * based on its url. That is, if it doesn't contains bugs (I'm relatively
  + * sure it does).
  + *
  + * Typical usage:
  + * <script type="text/javascript" language="JavaScript" src="breadcrumbs.js"></script>
  + *
  + *@author     <a href="mailto:leosimons@apache.org">Leo Simons</a> (main author)
  + *@author     <a href="mailto:nicolaken@apache.org">Nicola Ken Barozzi</a>
(integration in skin)
  + *@created    July 12, 2002
  + *@version    1.0
  + */
  +
  +/**
  + * IE 5 on Mac doesn't know Array.push.
  + *
  + * Implement it - courtesy to fritz.
  + */
  +var abc	= new Array();
  +if (!abc.push) {
  +  Array.prototype.push	= function(what){this[this.length]=what}
  +}
  +
  +/* ========================================================================
  +	CONSTANTS
  +   ======================================================================== */
  +
  +/**
  + * Two-dimensional array containing extra crumbs to place at the front of
  + * the trail. Specify first the name of the crumb, then the URI that belongs
  + * to it. You'll need to modify this for every domain or subdomain where
  + * you use this script (you can leave it as an empty array if you wish)
  + */
  +var PREPREND_CRUMBS = new Array();
  +   if(!("apache"=="")){
  +     PREPREND_CRUMBS.push( new Array( "apache", "http://www.apache.org/" ) );
  +   }
  +   if(!("cocoon"=="")){
  +     PREPREND_CRUMBS.push( new Array( "cocoon", "http://cocoon.apache.org/" ) );
  +   }
  +   if(!(""=="")){
  +     PREPREND_CRUMBS.push( new Array( "", "" ) );
  +   }
  +
  +/**
  + * String to include between crumbs:
  + */
  +var DISPLAY_SEPARATOR = " &gt; ";
  +/**
  + * String to include at the beginning of the trail
  + */
  +var DISPLAY_PREPREND = "";
  +/**
  + * String to include at the end of the trail
  + */
  +var DISPLAY_POSTPREND = "";
  +
  +/**
  + * CSS Class to use for a single crumb:
  + */
  +var CSS_CLASS_CRUMB = "breadcrumb";
  +
  +/**
  + * CSS Class to use for the complete trail:
  + */
  +var CSS_CLASS_TRAIL = "breadcrumbTrail";
  +
  +/**
  + * CSS Class to use for crumb separator:
  + */
  +var CSS_CLASS_SEPARATOR = "crumbSeparator";
  +
  +/**
  + * Array of strings containing common file extensions. We use this to
  + * determine what part of the url to ignore (if it contains one of the
  + * string specified here, we ignore it).
  + */
  +var FILE_EXTENSIONS = new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
  +
  +/**
  + * String that separates parts of the breadcrumb trail from each other.
  + * When this is no longer a slash, I'm sure I'll be old and grey.
  + */
  +var PATH_SEPARATOR = "/";
  +
  +/* ========================================================================
  +	UTILITY FUNCTIONS
  +   ======================================================================== */
  +/**
  + * Capitalize first letter of the provided string and return the modified
  + * string.
  + */
  +function sentenceCase( string )
  +{        return string;
  +	//var lower = string.toLowerCase();
  +	//return lower.substr(0,1).toUpperCase() + lower.substr(1);
  +}
  +
  +/**
  + * Returns an array containing the names of all the directories in the
  + * current document URL
  + */
  +function getDirectoriesInURL()
  +{
  +	var trail = document.location.pathname.split( PATH_SEPARATOR );
  +
  +	// check whether last section is a file or a directory
  +	var lastcrumb = trail[trail.length-1];
  +	for( var i = 0; i < FILE_EXTENSIONS.length; i++ )
  +	{
  +		if( lastcrumb.indexOf( FILE_EXTENSIONS[i] ) )
  +		{
  +			// it is, remove it and send results
  +			return trail.slice( 1, trail.length-1 );
  +		}
  +	}
  +
  +	// it's not; send the trail unmodified
  +	return trail.slice( 1, trail.length );
  +}
  +
  +/* ========================================================================
  +	BREADCRUMB FUNCTIONALITY
  +   ======================================================================== */
  +/**
  + * Return a two-dimensional array describing the breadcrumbs based on the
  + * array of directories passed in.
  + */
  +function getBreadcrumbs( dirs )
  +{
  +	var prefix = "/";
  +	var postfix = "/";
  +
  +	// the array we will return
  +	var crumbs = new Array();
  +
  +	if( dirs != null )
  +	{
  +		for( var i = 0; i < dirs.length; i++ )
  +		{
  +			prefix += dirs[i] + postfix;
  +			crumbs.push( new Array( dirs[i], prefix ) );
  +		}
  +	}
  +
  +	// preprend the PREPREND_CRUMBS
  +	if(PREPREND_CRUMBS.length > 0 )
  +	{
  +		return PREPREND_CRUMBS.concat( crumbs );
  +	}
  +
  +	return crumbs;
  +}
  +
  +/**
  + * Return a string containing a simple text breadcrumb trail based on the
  + * two-dimensional array passed in.
  + */
  +function getCrumbTrail( crumbs )
  +{
  +	var xhtml = DISPLAY_PREPREND;
  +
  +	for( var i = 0; i < crumbs.length; i++ )
  +	{
  +		xhtml += '<a href="' + crumbs[i][1] + '" >';
  +		xhtml += sentenceCase( crumbs[i][0] ) + '</a>';
  +		if( i != (crumbs.length-1) )
  +		{
  +			xhtml += DISPLAY_SEPARATOR;
  +		}
  +	}
  +
  +	xhtml += DISPLAY_POSTPREND;
  +
  +	return xhtml;
  +}
  +
  +/**
  + * Return a string containing an XHTML breadcrumb trail based on the
  + * two-dimensional array passed in.
  + */
  +function getCrumbTrailXHTML( crumbs )
  +{
  +	var xhtml = '<span class="' + CSS_CLASS_TRAIL  + '">';
  +	xhtml += DISPLAY_PREPREND;
  +
  +	for( var i = 0; i < crumbs.length; i++ )
  +	{
  +		xhtml += '<a href="' + crumbs[i][1] + '" class="' + CSS_CLASS_CRUMB + '">';
  +		xhtml += sentenceCase( crumbs[i][0] ) + '</a>';
  +		if( i != (crumbs.length-1) )
  +		{
  +			xhtml += '<span class="' + CSS_CLASS_SEPARATOR + '">' + DISPLAY_SEPARATOR + '</span>';
  +		}
  +	}
  +
  +	xhtml += DISPLAY_POSTPREND;
  +	xhtml += '</span>';
  +
  +	return xhtml;
  +}
  +
  +/* ========================================================================
  +	PRINT BREADCRUMB TRAIL
  +   ======================================================================== */
  +
  +// check if we're local; if so, only print the PREPREND_CRUMBS
  +if( document.location.href.toLowerCase().indexOf( "http://" ) == -1 )
  +{
  +	document.write( getCrumbTrail( getBreadcrumbs() ) );
  +}
  +else
  +{
  +	document.write( getCrumbTrail( getBreadcrumbs( getDirectoriesInURL() ) ) );
  +}
  +
  
  
  

Mime
View raw message