You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/06/08 18:06:46 UTC
svn commit: r189602 [46/50] - in /incubator/roller/trunk: ./ contrib/
contrib/lib/ contrib/plugins/ contrib/plugins/src/ contrib/plugins/src/org/
contrib/plugins/src/org/roller/ contrib/plugins/src/org/roller/presentation/
contrib/plugins/src/org/roller/presentation/velocity/
contrib/plugins/src/org/roller/presentation/velocity/plugins/
contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/
contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/
contrib/plugins/src/org/roller/presentation/velocity/plugins/email/
contrib/plugins/src/org/roller/presentation/velocity/plugins/jspwiki/
contrib/plugins/src/org/roller/presentation/velocity/plugins/radeox/
contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/
contrib/plugins/src/org/roller/presentation/velocity/plugins/smileys/
contrib/plugins/src/org/roller/presentation/velocity/plugins/textile/ docs/
docs/images/ docs/installguide/ docs/installguide/old/ docs/userguide/
docs/userguide/images/ docs/userguide/old/ metadata/ metadata/database/
metadata/database/hibernate/ metadata/xdoclet/ personal/ personal/eclipse/
personal/testing/ src/ src/org/ src/org/roller/ src/org/roller/business/
src/org/roller/business/hibernate/ src/org/roller/business/utils/
src/org/roller/model/ src/org/roller/pojos/ src/org/roller/presentation/
src/org/roller/presentation/atom/ src/org/roller/presentation/bookmarks/
src/org/roller/presentation/bookmarks/actions/
src/org/roller/presentation/bookmarks/formbeans/
src/org/roller/presentation/bookmarks/tags/
src/org/roller/presentation/filters/ src/org/roller/presentation/forms/
src/org/roller/presentation/newsfeeds/ src/org/roller/presentation/pagecache/
src/org/roller/presentation/pagecache/rollercache/
src/org/roller/presentation/tags/ src/org/roller/presentation/tags/calendar/
src/org/roller/presentation/tags/menu/
src/org/roller/presentation/velocity/ src/org/roller/presentation/weblog/
src/org/roller/presentation/weblog/actions/
src/org/roller/presentation/weblog/formbeans/
src/org/roller/presentation/weblog/search/
src/org/roller/presentation/weblog/search/operations/
src/org/roller/presentation/weblog/tags/ src/org/roller/presentation/website/
src/org/roller/presentation/website/actions/
src/org/roller/presentation/website/formbeans/
src/org/roller/presentation/website/tags/
src/org/roller/presentation/xmlrpc/ src/org/roller/util/ tests/ tests/org/
tests/org/roller/ tests/org/roller/business/ tests/org/roller/model/
tests/org/roller/persistence/ tests/org/roller/presentation/
tests/org/roller/presentation/atom/ tests/org/roller/presentation/bookmarks/
tests/org/roller/presentation/velocity/
tests/org/roller/presentation/velocity/plugins/
tests/org/roller/presentation/velocity/plugins/smileys/
tests/org/roller/presentation/velocity/plugins/textile/
tests/org/roller/presentation/xmlrpc/ tests/org/roller/util/ tools/
tools/buildtime/ tools/buildtime/mockrunner-0.2.6/
tools/buildtime/mockrunner-0.2.6/lib/ tools/buildtime/tomcat-4.1.24/
tools/buildtime/xdoclet-1.2/ tools/buildtime/xdoclet-1.2/lib/
tools/hibernate-2.1/ tools/hibernate-2.1/lib/ tools/lib/
tools/standard-1.0.3/ tools/standard-1.0.3/lib/ tools/standard-1.0.3/tld/
tools/struts-1.1/ tools/struts-1.1/lib/ web/ web/WEB-INF/
web/WEB-INF/classes/ web/WEB-INF/classes/flavors/
web/WEB-INF/classes/themes/ web/bookmarks/ web/images/ web/images/editor/
web/images/midas/ web/images/preview/ web/images/smileys/ web/tags/
web/templates/ web/theme/ web/theme/images/ web/theme/lavender/
web/theme/scripts/ web/theme/scripts/classes/ web/themes/ web/themes/basic/
web/themes/berkley/ web/themes/berkley/images/ web/themes/cheb/
web/themes/cheb/images/ web/themes/cheb/scripts/ web/themes/clean/
web/themes/currency-i18n/ web/themes/currency-i18n/images/
web/themes/currency/ web/themes/currency/images/ web/themes/grey2/
web/themes/moonshine/ web/themes/pacifica/ web/themes/robot/
web/themes/rolling/ web/themes/rolling/images/ web/themes/sotto/
web/themes/sotto/images/ web/themes/sotto/styles/ web/themes/sunsets/
web/themes/sunsets/images/ web/themes/sunsets/scripts/
web/themes/sunsets/styles/ web/themes/werner/ web/themes/x2/
web/themes/x2/images/ web/themes/x2/scripts/ web/themes/x2/styles/
web/weblog/ web/website/
Added: incubator/roller/trunk/web/theme/scripts/xmlp.js
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/theme/scripts/xmlp.js?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/theme/scripts/xmlp.js (added)
+++ incubator/roller/trunk/web/theme/scripts/xmlp.js Wed Jun 8 09:06:16 2005
@@ -0,0 +1,1179 @@
+/*
+ * xmlp.js, version 1.0
+ * An XML parser in JavaScript
+ *
+ * Revision history:
+ * 1.0, 23 Nov 2001 : Initial version
+ *
+ * Copyright (C) 2001 David A. Lindquist (dave@gazingus.org)
+ *
+ * This library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/// Node ///////////////////////////////////////////////////////////////////////
+
+Node.ELEMENT_NODE = 1;
+Node.ATTRIBUTE_NODE = 2;
+Node.TEXT_NODE = 3;
+Node.CDATA_SECTION_NODE = 4;
+Node.ENTITY_REFERENCE_NODE = 5;
+Node.ENTITY_NODE = 6; // not used
+Node.PROCESSING_INSTRUCTION_NODE = 7;
+Node.COMMENT_NODE = 8;
+Node.DOCUMENT_NODE = 9;
+Node.DOCUMENT_TYPE_NODE = 10;
+Node.DOCUMENT_FRAGMENT_NODE = 11;
+Node.NOTATION_NODE = 12; // not used
+
+function Node() {
+ this.attributes = null;
+ this.childNodes = new NodeList();
+ this.firstChild = null
+ this.lastChild = null;
+ this.nextSibling = null;
+ this.nodeName = null;
+ this.nodeType = null;
+ this.nodeValue = null;
+ this.ownerDocument = null;
+ this.parentNode = null;
+ this.previousSibling = null;
+}
+
+Node.prototype.getAttributes = function() { return this.attributes; }
+Node.prototype.getChildNodes = function() { return this.childNodes; }
+Node.prototype.getFirstChild = function() { return this.firstChild; }
+Node.prototype.getLastChild = function() { return this.lastChild; }
+Node.prototype.getNextSibling = function() { return this.nextSibling; }
+Node.prototype.getNodeName = function() { return this.nodeName; }
+Node.prototype.getNodeType = function() { return this.nodeType; }
+Node.prototype.getNodeValue = function() { return this.nodeValue; }
+Node.prototype.getOwnerDocument = function() { return this.ownerDocument; }
+Node.prototype.getParentNode = function() { return this.parentNode; }
+Node.prototype.getPreviousSibling = function() { return this.previousSibling; }
+
+Node.prototype.setNodeValue =
+function() {
+ // Default behavior is to do nothing;
+ // overridden in some subclasses
+}
+
+Node.prototype.appendChild =
+function( childNode ) {
+ if ( this.nodeType == Node.ELEMENT_NODE ||
+ this.nodeType == Node.ATTRIBUTE_NODE ||
+ this.nodeType == Node.DOCUMENT_NODE ||
+ this.nodeType == Node.DOCUMENT_FRAGMENT_NODE ) {
+ this.childNodes.add( childNode );
+ }
+ else {
+ // :REVISIT: change to DOMException
+ throw new ParseError( "Cannot append child node" );
+ }
+
+ if ( this.ownerDocument != childNode.ownerDocument ) {
+ // :REVISIT: change to DOMException
+ throw new ParseError( "Cannot append child to this document" );
+ }
+
+ if ( this.childNodes.length == 1 ) {
+ this.firstChild = childNode;
+ }
+
+ this.lastChild = childNode;
+ childNode.parentNode = this;
+
+ var prevSibling = this.childNodes.item( -2 );
+ childNode.previousSibling = prevSibling;
+
+ if ( prevSibling != null ) {
+ prevSibling.nextSibling = childNode;
+ }
+}
+
+Node.prototype.cloneNode =
+function( deep ) {
+ // :REVISIT: change to DOMException
+ throw new ParseError( "Not implemented" );
+}
+
+Node.prototype.hasChildNodes =
+function() {
+ return ( this.childNodes.length > 0 );
+}
+
+Node.prototype.insertBefore =
+function( newChild, refChild ) {
+ var currentChildren = this.childNodes;
+ this.childNodes = new NodeList();
+ for ( var i = 0; i < currentChildren.length; ) {
+ var child = currentChildren.item(i);
+ if ( child == refChild && refChild != null ) {
+ this.appendChild( newChild );
+ refChild = null;
+ }
+ else {
+ this.appendChild( child );
+ i++;
+ }
+ }
+}
+
+Node.prototype.removeChild =
+function( oldChild ) {
+ var currentChildren = this.childNodes;
+ this.childNodes = new NodeList();
+ for ( var i = 0; i < currentChildren.length; i++ ) {
+ var child = currentChildren.item(i)
+ if ( child != oldChild ) {
+ this.appendChild( child );
+ }
+ }
+}
+
+Node.prototype.replaceChild =
+function( newChild, oldChild ) {
+ var oldChildren = this.childNodes;
+ this.childNodes = new NodeList();
+ for ( var i = 0; i < oldChildren.length; i++ ) {
+ if ( oldChildren.item(i) == oldChild ) {
+ this.appendChild( newChild );
+ }
+ else {
+ this.appendChild( oldChild );
+ }
+ }
+}
+
+/// Element ////////////////////////////////////////////////////////////////////
+
+Element.prototype = new Node();
+Element.prototype.constructor = Element;
+ // Element : Node
+
+function Element( ownerDoc, name ) {
+ this.tagName = name;
+
+ // inherited from Node
+ this.attributes = new NamedNodeMap();
+ this.childNodes = new NodeList();
+ this.nodeType = Node.ELEMENT_NODE;
+ this.nodeName = name;
+ this.ownerDocument = ownerDoc;
+}
+
+Element.prototype.getAttribute =
+function( name ) {
+ var attr = this.attributes.getNamedItem( name );
+ return ( attr == null ) ? "" : attr.getValue();
+}
+
+Element.prototype.getAttributeNode =
+function( name ) {
+ return this.attributes.getNamedItem( name );
+}
+
+Element.prototype.getElementsByTagName =
+function( tagName ) {
+ return new DeepNodeList( this, tagName );
+}
+
+Element.prototype.getTagName =
+function() {
+ return this.tagName;
+}
+
+Element.prototype.normalize =
+function() {
+ var child, next;
+ for ( child = this.getFirstChild(); child != null; child = next ) {
+ next = child.getNextSibling();
+ if ( child.getNodeType() == Node.TEXT_NODE ) {
+ if ( next != null && next.getNodeType() == Node.TEXT_NODE ) {
+ child.appendData( next.getNodeValue() );
+ this.removeChild( next );
+ next = child;
+ }
+ else {
+ if ( child.getNodeValue().length == 0 ) {
+ this.removeChild( child );
+ }
+ }
+ }
+ else if ( child.getNodeType() == Node.ELEMENT_NODE ) {
+ child.normalize();
+ }
+ }
+}
+
+Element.prototype.removeAttribute =
+function( name ) {
+ this.attributes.removeNamedItem( name );
+}
+
+Element.prototype.removeAttributeNode =
+function( attr ) {
+ return this.attributes.removeNamedItem( attr.nodeName );
+}
+
+Element.prototype.setAttribute =
+function( name, value ) {
+ var attr = this.ownerDocument.createAttribute( name );
+ arrt.setValue( value );
+ this.attributes.setNamedItem( attr );
+}
+
+Element.prototype.setAttributeNode =
+function( attr ) {
+ return this.attributes.setNamedItem( attr );
+}
+
+/// Attr ///////////////////////////////////////////////////////////////////////
+
+Attr.prototype = new Node();
+Attr.prototype.constructor = Attr;
+ // Attr : Node
+
+function Attr( ownerDoc, name ) {
+ this.name = name;
+ this.specified = true;
+ this.value = null;
+
+ // inherited from Node
+ this.childNodes = new NodeList();
+ this.nodeName = name;
+ this.nodeType = Node.ATTRIBUTE_NODE;
+ this.nodeValue = null;
+ this.ownerDocument = ownerDoc;
+}
+
+Attr.prototype.getName =
+function() {
+ return this.name;
+}
+
+Attr.prototype.getNodeValue =
+function() {
+ return this.getValue();
+}
+
+Attr.prototype.getSpecified =
+function() {
+ return this.specified;
+}
+
+Attr.prototype.getValue =
+function() {
+ // :REVISIT:
+ var value = "";
+ for ( var i = 0; i < this.childNodes.length; i++ ) {
+ value += this.childNodes.item(i).getNodeValue();
+ }
+ return value;
+}
+
+Attr.prototype.setValue =
+function( value ) {
+ // :REVISIT:
+ this.childNodes = new NodeList();
+ this.firstChild = null;
+ this.lastChild = null;
+
+ if ( value != null ) {
+ this.appendChild( this.ownerDocument.createTextNode( value ) );
+ }
+}
+
+/// CharacterData //////////////////////////////////////////////////////////////
+
+CharacterData.prototype = new Node();
+CharacterData.prototype.constructor = CharacterData;
+ // CharacterData : Node
+
+function CharacterData( data ) {
+ this.data = data;
+
+ // inherited from Node
+ this.nodeValue = data;
+}
+
+CharacterData.prototype.appendData =
+function( data ) {
+ this.setData( this.getData() + data );
+}
+
+CharacterData.prototype.deleteData =
+function( offset, count ) {
+ var begin = this.getData().substring( 0, offset );
+ var end = this.getData().substring( offset + count );
+ this.setData( begin + end );
+}
+
+CharacterData.prototype.getData =
+function() {
+ return this.data;
+}
+
+CharacterData.prototype.getLength =
+function() {
+ return ( this.data ) ? this.data.length : 0;
+}
+
+CharacterData.prototype.insetData =
+function( offset, data ) {
+ var begin = this.getData().substring( 0, offset );
+ var end = this.getData().substring( offset, this.getLength );
+ this.setData( begin + data + end );
+}
+
+CharacterData.prototype.replaceData =
+function( offset, count, data ) {
+ this.deleteData( offset, count );
+ this.insertData( offset, data );
+}
+
+CharacterData.prototype.setData =
+function( data ) {
+ this.setNodeValue( data );
+}
+
+CharacterData.prototype.setNodeValue =
+function( value ) {
+ this.data = value;
+ this.nodeValue = value;
+}
+
+CharacterData.prototype.substringData =
+function( offset, count ) {
+ return this.getData().substring( offset, offset + count );
+}
+
+/// Text ///////////////////////////////////////////////////////////////////////
+
+Text.prototype = new CharacterData();
+Text.prototype.constructor = Text;
+ // Text : CharacterData
+
+function Text( ownerDoc, data ) {
+ // inherited from CharacterData
+ this.data = data;
+
+ // inherited from CharacterData : Node
+ this.nodeName = "#text";
+ this.nodeType = Node.TEXT_NODE;
+ this.nodeValue = data;
+ this.ownerDocument = ownerDoc;
+}
+
+Text.prototype.splitText =
+function( offset ) {
+ // :REVISIT:
+ // check for index out of bounds condition
+
+ var newText =
+ this.getOwnerDocument().createTextNode( this.data.substring( offset ) );
+
+ var parentNode = this.getParentNode();
+ if ( parentNode != null ) {
+ parentNode.insetBefore( newText, this.nextSibling );
+ }
+
+ return newText;
+}
+
+/// CDATASection ///////////////////////////////////////////////////////////////
+
+CDATASection.prototype = new Text();
+CDATASection.prototype.constructor = CDATASection;
+ // CDATASection : Text
+
+function CDATASection( ownerDoc, data ) {
+
+ // inherited from Text : CharacterData
+ this.data = data;
+
+ // inherited from Text : CharacterData : Node
+ this.nodeName = "#cdata-section";
+ this.nodeType = Node.CDATA_SECTION_NODE;
+ this.nodeValue = data;
+ this.ownerDocument = ownerDoc;
+}
+
+/// EntityReference ////////////////////////////////////////////////////////////
+
+EntityReference.prototype = new Node();
+EntityReference.prototype.constructor = EntityReference;
+ // EntityReference : Node
+
+function EntityReference( ownerDoc, name ) {
+
+ // inherited from Node
+ this.nodeName = name;
+ this.nodeType = Node.ENTITY_REFERENCE_NODE;
+ this.ownerDocument = ownerDoc;
+}
+
+/// ProcessingInstruction //////////////////////////////////////////////////////
+
+ProcessingInstruction.prototype = new Node();
+ProcessingInstruction.prototype.constructor = ProcessingInstruction;
+ // ProcessingInstruction : Node
+
+function ProcessingInstruction( ownerDoc, target, data ) {
+ this.target = target;
+ this.data = data;
+
+ // inherited from Node
+ this.nodeName = target;
+ this.nodeType = Node.PROCESSING_INSTRUCTION_NODE;
+ this.nodeValue = data;
+ this.ownerDocument = ownerDoc;
+}
+
+ProcessingInstruction.prototype.getData =
+function() {
+ return this.data;
+}
+
+ProcessingInstruction.prototype.getTarget =
+function() {
+ return this.target;
+}
+
+ProcessingInstruction.prototype.setData =
+function( data ) {
+ this.setNodeValue( data );
+}
+
+ProcessingInstruction.prototype.setNodeValue =
+function( value ) {
+ this.data = data;
+ this.nodeValue = data;
+}
+
+/// Comment ////////////////////////////////////////////////////////////////////
+
+Comment.prototype = new CharacterData();
+Comment.prototype.constructor = Comment;
+ // Comment : CharacterData
+
+function Comment( ownerDoc, data ) {
+ // inherited from CharacterData
+ this.data = data;
+
+ // inherited from CharacterData : Node
+ this.nodeName = "#comment";
+ this.nodeType = Node.COMMENT_NODE;
+ this.nodeValue = data;
+ this.ownerDocument = ownerDoc;
+}
+
+/// Document ///////////////////////////////////////////////////////////////////
+
+Document.prototype = new Node();
+Document.prototype.constructor = Document;
+ // Document : Node
+
+function Document() {
+ this.doctype = null;
+ this.implementation = null;
+ this.documentElement = null;
+
+ // inherited from Node
+ this.childNodes = new NodeList();
+ this.nodeName = "#document";
+ this.nodeType = Node.DOCUMENT_NODE;
+ this.ownerDocument = this;
+}
+
+Document.prototype.createAttribute =
+function( name, value ) {
+ return new Attr( this, name, value );
+}
+
+Document.prototype.createCDATASection =
+function( data ) {
+ return new CDATASection( this, data );
+}
+
+Document.prototype.createComment =
+function( data ) {
+ return new Comment( this, data );
+}
+
+Document.prototype.createDocumentFragment =
+function() {
+ return new DocumentFragment( this );
+}
+
+Document.prototype.createElement =
+function( tagName ) {
+ return new Element( this, tagName );
+}
+
+Document.prototype.createEntityReference =
+function( name ) {
+ return new EntityReference( this, name );
+}
+
+Document.prototype.createProcessingInstruction =
+function( target, data ) {
+ return new ProcessingInstruction( this, target, data );
+}
+
+Document.prototype.createTextNode =
+function( data ) {
+ return new Text( this, data );
+}
+
+Document.prototype.getDoctype =
+function() {
+ return this.doctype;
+}
+
+Document.prototype.getDocumentElement =
+function() {
+ return this.documentElement;
+}
+
+Document.prototype.getElementsByTagName =
+function( tagName ) {
+ return new DeepNodeList( this, tagName );
+}
+
+Document.prototype.getImplementation =
+function() {
+ // :REVISIT:
+ return this.implementation;
+}
+
+/// DocumentType ///////////////////////////////////////////////////////////////
+
+DocumentType.prototype = new Node();
+DocumentType.prototype.constructor = DocumentType;
+ // DocumentType : Node
+
+function DocumentType( ownderDoc, name ) {
+ this.name = name;
+ this.entities = null;
+ this.notations = null;
+
+ // inherited from Node
+ this.nodeName = name;
+ this.nodeType = Node.DOCUMENT_TYPE_NODE;
+ this.ownerDocument = ownderDoc;
+}
+
+DocumentType.prototype.getEntities =
+function() {
+ // :REVISIT: change to DOMException
+ throw new ParseError( "Not implemented" );
+}
+
+DocumentType.prototype.getName =
+function() {
+ return this.name;
+}
+
+DocumentType.prototype.getNotations =
+function() {
+ // :REVISIT: change to DOMException
+ throw new ParseError( "Not implemented" );
+}
+
+/// DocumentFragment ///////////////////////////////////////////////////////////
+
+DocumentFragment.prototype = new Node();
+DocumentFragment.prototype.constructor = DocumentFragment;
+ // DocumentFragment : Node
+
+function DocumentFragment( ownerDoc ) {
+
+ // inherited from Node
+ this.childNodes = new NodeList();
+ this.nodeName = "#document-fragment";
+ this.nodeType = Node.DOCUMENT_FRAGMENT_NODE;
+ this.ownerDocument = ownerDoc;
+}
+
+/// NodeList ///////////////////////////////////////////////////////////////////
+
+function NodeList() {
+ this.length = 0;
+}
+
+NodeList.prototype.getLength =
+function() {
+ return this.length;
+}
+
+NodeList.prototype.item =
+function( index ) {
+ var item;
+ item = ( index < 0 ) ? this[ this.length + index ]
+ : this[ index ];
+ return ( item || null );
+}
+
+NodeList.prototype.add =
+function( node ) {
+ this[ this.length++ ] = node;
+}
+
+/// DeepNodeList ///////////////////////////////////////////////////////////////
+
+DeepNodeList.prototype = new NodeList();
+DeepNodeList.prototype.constructor = DeepNodeList;
+ // DeepNodeList : NodeList
+
+function DeepNodeList( rootNode, tagName ) {
+ this.rootNode = rootNode;
+ this.tagName = tagName;
+ this.getElementsByTagName( rootNode );
+}
+
+DeepNodeList.prototype.getElementsByTagName =
+function( contextNode ) {
+ var nextNode;
+ while ( contextNode != null ) {
+ if ( contextNode.hasChildNodes() ) {
+ contextNode = contextNode.firstChild;
+ }
+ else if ( contextNode != this.rootNode &&
+ null != ( next = contextNode.nextSibling ) ) {
+ contextNode = next;
+ }
+ else {
+ next = null;
+ for ( ; contextNode != this.rootNode;
+ contextNode = contextNode.parentNode ) {
+ next = contextNode.nextSibling;
+ if ( next != null ) {
+ break;
+ }
+ }
+ contextNode = next;
+ }
+ if ( contextNode != this.rootNode &&
+ contextNode != null &&
+ contextNode.nodeType == Node.ELEMENT_NODE ) {
+ if ( this.tagName == "*" || contextNode.tagName == this.tagName ) {
+ this.add( contextNode );
+ }
+ }
+ }
+ return null;
+}
+
+/// NamedNodeMap ///////////////////////////////////////////////////////////////
+
+function NamedNodeMap() {
+ this.length = 0;
+}
+
+NamedNodeMap.prototype.getLength =
+function() {
+ return this.length;
+}
+
+NamedNodeMap.prototype.getNamedItem =
+function( name ) {
+ return ( this[ name ] || null );
+}
+
+NamedNodeMap.prototype.item =
+function( index ) {
+ var item;
+ item = ( index < 0 ) ? this[ this.length + index ]
+ : this[ index ];
+ return ( item || null );
+}
+
+NamedNodeMap.prototype.removeNamedItem =
+function( name ) {
+ var removed = this[ name ];
+
+ if ( !removed ) {
+ return null;
+ }
+
+ delete this[ name ];
+ for ( var i = 0; i < this.length - 1; i++ ) {
+ if ( !this[i] ) {
+ this[i] = this[ i + 1 ];
+ delete this[ i + 1 ];
+ }
+ }
+ this.length--;
+ return removed;
+}
+
+NamedNodeMap.prototype.setNamedItem =
+function( node ) {
+ var nodeName = node.getNodeName();
+ var item = this.getNamedItem( nodeName );
+ this[ nodeName ] = node;
+
+ if ( item == null ) {
+ this[ this.length++ ] = node;
+ }
+
+ return item;
+}
+
+/// ParseError /////////////////////////////////////////////////////////////////
+
+ParseError.prototype = new Error();
+ParseError.prototype.constructor = ParseError;
+ // ParseError : Error
+
+function ParseError( message ) {
+ this.message = message;
+}
+
+/// DOMException ///////////////////////////////////////////////////////////////
+
+// :REVISIT:
+// not currently used
+
+DOMException.prototype = new Error();
+DOMException.prototype.constructor = DOMException;
+ // DOMException : Error
+
+DOMException.INDEX_SIZE_ERR = 1;
+DOMException.DOMSTRING_SIZE_ERR = 2;
+DOMException.HIERARCHY_REQUEST_ERR = 3;
+DOMException.WRONG_DOCUMENT_ERR = 4;
+DOMException.INVALID_CHARACTER_ERR = 5;
+DOMException.NO_DATA_ALLOWED_ERR = 6;
+DOMException.NO_MODIFICATION_ALLOWED_ERR = 7;
+DOMException.NOT_FOUND_ERR = 8;
+DOMException.NOT_SUPPORTED_ERR = 9;
+DOMException.INUSE_ATTRIBUTE_ERR = 10;
+
+function DOMException( code, message ) {
+ this.code = code;
+ this.message = message;
+}
+
+/// XMLParser //////////////////////////////////////////////////////////////////
+
+XMLParser.VERSION = 1.0;
+
+function XMLParser() {
+ this.doc = new Document();
+ this.xml = null;
+
+ this.openedTags = new Array();
+ this.contextNodes = new Array( this.doc );
+}
+
+XMLParser.prototype.parse =
+function( xml ) {
+ this.xml = xml.trim();
+ this.processProlog();
+ this.processRootElement();
+ this.processMisc();
+
+ if ( this.xml.length != 0 ) {
+ throw( new ParseError( "Illegal construct in XML document" ) );
+ }
+}
+
+XMLParser.prototype.processProlog =
+function() {
+ this.processXmlDecl();
+ this.processMisc();
+ this.processDoctypeDecl();
+ this.processMisc();
+}
+
+XMLParser.prototype.processRootElement =
+function() {
+ var matches;
+
+ if ( matches = this.xml.match( RegExp.$STag ) ) {
+ this.processSTag( matches );
+ this.xml = this.xml.substring( matches[0].length );
+ this.processContent();
+ }
+ else if ( matches = this.xml.match( RegExp.$EmptyElemTag ) ) {
+ this.processEmptyElemTag( matches );
+ this.xml = this.xml.substring( matches[0].length );
+ }
+ else {
+ throw( new ParseError( "Root element not found" ) );
+ }
+}
+
+XMLParser.prototype.processMisc =
+function() {
+ var matches;
+
+ while ( RegExp.$Misc.test( this.xml ) ) {
+
+ // white space
+ if ( matches = this.xml.match( RegExp.$S ) ) {
+ ;
+ }
+ // comment
+ else if ( matches = this.xml.match( RegExp.$Comment ) ) {
+ var comment = this.doc.createComment( matches[1] );
+
+ this.doc.appendChild( comment );
+ }
+ // processing instruction
+ else if ( matches = this.xml.match( RegExp.$PI ) ) {
+ var target = matches[1];
+ var data = matches[3];
+ var pi = this.doc.createProcessingInstruction( target, data );
+
+ this.doc.appendChild( pi );
+ }
+ // unknown construct
+ else {
+ throw( new ParseError( "Illegal construct in XML document" ) );
+ }
+
+ this.xml = this.xml.substring( matches[0].length );
+ }
+}
+
+XMLParser.prototype.processContent =
+function() {
+ var matches;
+
+ while ( this.openedTags.length != 0 ) {
+
+ // start tag
+ if ( matches = this.xml.match( RegExp.$STag ) ) {
+ this.processSTag( matches );
+ }
+ // end tag
+ else if ( matches = this.xml.match( RegExp.$ETag ) ) {
+ this.processETag( matches );
+ }
+ // empty element
+ else if ( matches = this.xml.match( RegExp.$EmptyElemTag ) ) {
+ this.processEmptyElemTag( matches );
+ }
+ // character data
+ else if ( matches = this.xml.match( RegExp.$CharData ) ) {
+ this.processCharData( matches );
+ }
+ // entity reference
+ else if ( matches = this.xml.match( RegExp.$Reference ) ) {
+ this.processReference( matches );
+ }
+ // CDATA section
+ else if ( matches = this.xml.match( RegExp.$CDSect ) ) {
+ this.processCDSect( matches );
+ }
+ // processing instruction
+ else if ( matches = this.xml.match( RegExp.$PI ) ) {
+ this.processPI( matches );
+ }
+ // comment
+ else if ( matches = this.xml.match( RegExp.$Comment ) ) {
+ this.processComment( matches );
+ }
+ // unknown construct
+ else {
+ throw( new ParseError( "Illegal construct in XML document" ) );
+ }
+
+ this.xml = this.xml.substring( matches[0].length );
+ }
+}
+
+XMLParser.prototype.processAttributes =
+function( attString ) {
+ var matches;
+
+ while ( matches = attString.match( RegExp.$Attribute ) ) {
+ var name = matches[1];
+ var value = matches[2].removeQuotes();
+ var attr = this.doc.createAttribute( name );
+ var currentContext = this.contextNodes.lastItem();
+
+ attr.setValue( value );
+
+ attString = attString.substring( matches[0].length ).trim();
+ currentContext.attributes.setNamedItem( attr );
+ }
+}
+
+XMLParser.prototype.processXmlDecl =
+function() {
+ var matches;
+
+ if ( matches = this.xml.match( RegExp.$XMLDecl ) ) {
+ this.xml = this.xml.substring( matches[0].length );
+ }
+}
+
+XMLParser.prototype.processDoctypeDecl =
+function() {
+ var matches;
+
+ if ( matches = this.xml.match( RegExp.$doctypedecl ) ) {
+ var name = matches[1];
+
+ var doctype = new DocumentType( this.doc, name );
+ this.doc.appendChild( doctype );
+ this.doc.doctype = doctype;
+
+ this.xml = this.xml.substring( matches[0].length );
+ }
+}
+
+XMLParser.prototype.processSTag =
+function( matches ) {
+ var element = this.doc.createElement( matches[1] );
+ var attString = matches[2];
+
+ this.openedTags.push( matches[1] );
+ this.addNode( element );
+
+ if ( attString ) {
+ this.processAttributes( attString.trim() );
+ }
+}
+
+XMLParser.prototype.processETag =
+function( matches ) {
+ this.contextNodes.pop();
+
+ if ( this.openedTags.pop() != matches[1] ) {
+ throw( new ParseError( "End tag does not match opening tag" ) );
+ }
+}
+
+XMLParser.prototype.processEmptyElemTag =
+function( matches ) {
+ var element = this.doc.createElement( matches[1] );
+ var attString = matches[2];
+
+ this.addNode( element );
+
+ if ( attString ) {
+ this.processAttributes( attString.trim() );
+ }
+
+ this.contextNodes.pop();
+}
+
+XMLParser.prototype.processCharData =
+function( matches ) {
+ if ( matches[0].trim() != "" ) {
+ var text = this.doc.createTextNode( matches[0] );
+ this.addNode( text );
+ }
+}
+
+XMLParser.prototype.processReference =
+function( matches ) {
+ var reference = this.doc.createEntityReference( matches[0] );
+ this.addNode( reference );
+}
+
+XMLParser.prototype.processCDSect =
+function( matches ) {
+ var cdsect = this.doc.createCDATASection( matches[1] );
+ this.addNode( cdsect );
+}
+
+XMLParser.prototype.processPI =
+function( matches ) {
+ var target = matches[1];
+ var data = matches[3];
+ var pi = this.doc.createProcessingInstruction( target, data );
+ this.addNode( pi );
+}
+
+XMLParser.prototype.processComment =
+function( matches ) {
+ var comment = this.doc.createComment( matches[1] );
+ this.addNode( comment );
+}
+
+XMLParser.prototype.addNode =
+function( node ) {
+ var currentContext = this.contextNodes.lastItem();
+ currentContext.appendChild( node );
+
+ if ( node.nodeType == Node.ELEMENT_NODE ) {
+ var contextNode = currentContext.childNodes.item( -1 );
+ this.contextNodes.push( contextNode );
+
+ if ( !this.doc.documentElement ) {
+ this.doc.documentElement = this.contextNodes.lastItem();
+ }
+ }
+}
+
+/// Utilities //////////////////////////////////////////////////////////////////
+
+/*
+ * Utility. Removes leading and trailing white space
+ * from a string
+ */
+String.prototype.trim =
+function() {
+ return this.replace( /^[ \n\r\t]+|[ \n\r\t]+$/g, "" );
+}
+
+/*
+ * Utility. Like pop(), but does not affect the length
+ * of the array
+ */
+Array.prototype.lastItem =
+function() {
+ return this[ this.length - 1 ];
+}
+
+String.prototype.removeQuotes =
+function() {
+ return this.replace( /^['"]|['"]$/g, "" );
+}
+
+/*
+ * Utility. Translates a string into a regex. Replaces identifiers
+ * (beginning with "$") with corresponding regex fragment
+ */
+String.prototype.resolve =
+function() {
+ var resolved = this;
+ var regex = /(\$[a-zA-Z0-9]+)/;
+
+ while ( regex.test( resolved ) ) {
+ resolved = resolved.replace( RegExp.$1, String[ RegExp.$1 ] );
+ }
+
+ return resolved.replace( / /g,"" );
+}
+
+/// Productions ////////////////////////////////////////////////////////////////
+
+// Character Range
+String.$Char = "(?: \\u0009 | \\u000A | \\u000D | " +
+ "[\\u0020-\\uD7FF] | [\\uE000-\\uFFFD] | " +
+ "[\\u10000-\\u10FFFF] )";
+
+// White Space
+String.$S = "(?: (?: \\u0020 | \\u0009 | \\u000D | \\u000A )+ )";
+
+// Names and matches
+String.$NameChar = "(?: $Letter | $Digit | \\. | \\- | _ | : | " +
+ "$CombiningChar | $Extender )";
+String.$Name = "(?: $Letter | _ | : ) $NameChar*";
+
+// Literals
+String.$AttValue = "(?: \" (?: [^<&\"] | $Reference )* \" ) | " +
+ "(?: ' (?: [^<&'] | $Reference )* ' )";
+String.$SystemLiteral = "(?: (?: \" [^\"]* \") | (?: ' [^']* '))";
+String.$PubidLiteral = "(?: (?: \" $PubidChar* \") | " +
+ "(?: ' (?: (?!')$PubidChar)* '))";
+String.$PubidChar = "(?: \\u0020 | \\u000D | \\u000A | [a-zA-Z0-9] | " +
+ "[-'()+,./:=?;!*#@$_%])";
+
+// Character Data
+//String.$CharData = "(?![^<&]*]]>[^<&]*)[^<&]*"; // :REVISIT:
+String.$CharData = "[^<&]+";
+
+// Comments
+String.$Comment = "<!-- ( (?: (?: (?!- ) $Char ) | " +
+ "(?: - (?: (?!- ) $Char ) ) )* ) -->";
+
+// Processing Instructions
+String.$PI = "<\\? ( $PITarget ) ( $S $Char*? )? \\?>";
+String.$PITarget = "(?: (?: \\b( $Letter | _ | : ) " +
+ "(?: $NameChar ){0,1}\\b ) | " +
+ "(?: (?! [Xx][Mm][Ll] ) (?: $Letter | _ | : ) " +
+ "(?: $NameChar ){2} | (?: $Letter | _ | : ) " +
+ "(?: $NameChar ){3,} ) )";
+
+// CDATA Sections
+String.$CDSect = "<!\\[CDATA\\[ ( $Char*? ) ]]>";
+
+// Prolog
+String.$prolog = "(?: $XMLDecl? $Misc* (?: $doctypedecl $Misc* )? )";
+String.$XMLDecl = "<\\?xml $VersionInfo $EncodingDecl? " +
+ "$SDDecl? $S? \\?>";
+String.$VersionInfo = "(?: $S version $Eq ( ' $VersionNum ' | " +
+ "\" $VersionNum \" ) )";
+String.$Eq = "(?: $S? = $S? )";
+String.$VersionNum = "(?: (?: [a-zA-Z0-9_.:] | - )+ )";
+String.$Misc = "(?: $Comment | $PI | $S )";
+
+// Document Type Definition
+String.$doctypedecl = "<!DOCTYPE $S ( $Name ) (?: $S $ExternalID)? $S? " +
+ "(?: \\[ [^]]* \\] )? $S? >";
+
+// Standalone Document Declaration
+String.$SDDecl = "(?: $S standalone $Eq ( (?: \"(?: yes|no )\" ) | " +
+ "(?: '(?: yes|no)' ) ) )";
+
+// Start-tag
+String.$STag = "< ( $Name ) ( (?: $S $Attribute )* ) $S? >";
+String.$Attribute = "( $Name ) $Eq ( $AttValue )";
+
+// End-tag
+String.$ETag = "</ ( $Name ) $S? >";
+
+// Tags for Empty Elements
+String.$EmptyElemTag = "< ( $Name ) ( (?: $S $Attribute )* ) $S? />";
+
+// Character Reference
+String.$CharRef = "(?: &#[0-9]+; | &#x[0-9a-fA-F]+; )";
+
+// Entity Reference
+String.$Reference = "(?: $EntityRef | $CharRef )";
+String.$EntityRef = "& $Name ;";
+
+// External Entity Declaration
+String.$ExternalID = "(?: (?: SYSTEM $S ( $SystemLiteral ) ) | " +
+ "(?: PUBLIC $S ( $PubidLiteral ) $S " +
+ "( $SystemLiteral ) ) )";
+
+// Encoding Declaration
+String.$EncodingDecl = "(?: $S encoding $Eq ( ' $EncName ' | " +
+ "\" $EncName \" ) )";
+String.$EncName = "[A-Za-z](?: [A-Za-z0-9._]|- )*";
+
+// Characters
+String.$Letter = "(?: $BaseChar | $Ideographic )";
+ if (Boolean.$I18N != true) { // if i18n.js is included
+String.$BaseChar = "(?: [\\u0041-\\u005A] | [\\u0061-\\u007A] )";
+String.$Ideographic = "\\u0000";
+String.$CombiningChar = "\\u0000";
+String.$Digit = "[\\u0030-\\u0039]";
+String.$Extender = "\\u0000";
+ }
+
+// compile regular expressions
+RegExp.$prolog = new RegExp( "^" + String.$prolog.resolve() );
+RegExp.$XMLDecl = new RegExp( "^" + String.$XMLDecl.resolve() );
+RegExp.$doctypedecl = new RegExp( "^" + String.$doctypedecl.resolve() );
+RegExp.$STag = new RegExp( "^" + String.$STag.resolve() );
+RegExp.$ETag = new RegExp( "^" + String.$ETag.resolve() );
+RegExp.$EmptyElemTag = new RegExp( "^" + String.$EmptyElemTag.resolve() );
+RegExp.$Attribute = new RegExp( "^" + String.$Attribute.resolve() );
+RegExp.$CDSect = new RegExp( "^" + String.$CDSect.resolve() );
+RegExp.$CharData = new RegExp( "^" + String.$CharData.resolve() );
+RegExp.$Reference = new RegExp( "^" + String.$Reference.resolve() );
+RegExp.$PI = new RegExp( "^" + String.$PI.resolve() );
+RegExp.$Comment = new RegExp( "^" + String.$Comment.resolve() );
+RegExp.$Misc = new RegExp( "^" + String.$Misc.resolve() );
+RegExp.$S = new RegExp( "^" + String.$S.resolve() );
\ No newline at end of file
Added: incubator/roller/trunk/web/theme/status.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/theme/status.jsp?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/theme/status.jsp (added)
+++ incubator/roller/trunk/web/theme/status.jsp Wed Jun 8 09:06:16 2005
@@ -0,0 +1,17 @@
+<%@ include file="/taglibs.jsp" %>
+
+<logic:present name="loggedIn" scope="request" >
+ <fmt:message key="mainPage.loggedInAs" /> [<bean:write name="userName"/>].<br /><br />
+ <html:link forward="logout-redirect"><fmt:message key="navigationBar.logout"/></html:link>
+</logic:present>
+
+<logic:present name="allowNewUsers" scope="request" >
+ <html:link forward="login-redirect"><fmt:message key="navigationBar.login"/></html:link><br /><br />
+ <html:link forward="newUser"><fmt:message key="navigationBar.register"/></html:link>
+</logic:present>
+
+<logic:notPresent name="loggedIn">
+ <logic:notPresent name="allowNewUsers">
+ <html:link forward="login-redirect"><fmt:message key="navigationBar.login"/></html:link>
+ </logic:notPresent>
+</logic:notPresent>
Added: incubator/roller/trunk/web/themes/base.css
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/base.css?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/base.css (added)
+++ incubator/roller/trunk/web/themes/base.css Wed Jun 8 09:06:16 2005
@@ -0,0 +1,377 @@
+/**************/
+/* Common CSS */
+/**************/
+a {
+ font-weight: normal;
+ text-decoration: underline;
+}
+a:active {}
+a:link {}
+a:visited {}
+a:hover {}
+body {
+ font-family: verdana, sans-serif;
+ font-size: small;
+ color: black;
+ background-color: white;
+}
+h1 {
+ margin:10px 10px 10px 10px;
+ font-weight: bold;
+ text-align: center;
+}
+h2 {
+ margin:10px 10px 10px 10px;
+ font-weight: bolder;
+ text-align: center;
+}
+p {
+ margin:10px 10px 10px 10px;
+ text-align: left;
+}
+pre {
+ margin:0px 10px 0px 10px;
+ overflow: auto;
+}
+.code {
+ background: #ffffcc;
+ color: #000000;
+ border: 1px solid #999999;
+ margin:10px 10px 10px 20px;
+ padding: 3px 3px;
+}
+.quote {
+ margin-left: 10%;
+ text-align: justify;
+ font-style: italic;
+}
+img {
+ border: 0px;
+ margin: 0px;
+}
+
+/***************/
+/* bookmark.vm */
+/***************/
+rFolder {
+ font-size: medium;
+ font-weight: bolder;
+}
+li.rFolderItem {
+ list-style: none;
+ margin-left: 0;
+ padding-left: 0;
+ font-size : small;
+ font-weight: normal;
+}
+a.rBookmark0 {
+ margin-left: 10px;
+}
+img.rBookmark {
+ margin-left: 10px;
+ border: 0;
+}
+img.smrssbadge {
+ margin-left: 10px;
+ border: 0;
+}
+
+
+/*************/
+/* navbar.vm */
+/*************/
+rNavigationBar {
+ margin-left: 0;
+ padding-left: 0;
+}
+li.rNavItem {
+ list-style: none;
+ font-size : small;
+ font-weight: normal;
+}
+
+/* navbar-css.vm */
+ul.rMenu {
+ list-style: none;
+ margin-left: 0;
+ padding-left: 0;
+}
+li.rMenuItem {
+ font-size : small;
+ font-weight: normal;
+}
+
+/* navbar-horizontal.vm: no styling */
+/* navbar-vertical.vm: no styling */
+
+/***************/
+/* newsfeed.vm */
+/***************/
+div.rNewsfeedTitle {
+ font-weight: 600;
+}
+a.rNewsfeedLink, span.rNewsfeedLink {
+ display:block;
+ margin-left: 10px;
+ font-size : small;
+ font-weight: bolder;
+}
+span.rNewsfeedDesc {
+ display:block;
+ margin-left: 10px;
+ font-size : small;
+ font-weight: normal;
+}
+
+/**************/
+/* referer.vm */
+/**************/
+ul.rReferersList {
+ list-style: none;
+ margin-left: 0;
+ padding-left: 0;
+}
+li.rReferersListItem {
+ font-size : small;
+ font-weight: normal;
+}
+a.linkback {
+ border-style: double;
+}
+
+/*************/
+/* roller.vm */
+/*************/
+
+/***********/
+/* user.vm */
+/***********/
+
+/*************/
+/* comments.vm */
+/*************/
+a.entrycommentslink {
+ background: transparent;
+}
+/* master containing div or ul */
+.comments {
+ margin: 15px 15px 15px 15px;
+}
+/* Preview / Comments Header */
+div.comments-head {
+ color: #999;
+ font-weight:bold;
+ margin-top:10px;
+ text-transform:uppercase;
+ border-bottom:1px dotted #666;
+}
+/* actual comment content */
+.comment {
+}
+/* commenter info */
+p.comment-details {
+}
+div.comments-form {
+ color:#999;
+ font-weight:normal;
+ background:#FFF;
+ margin: 15px 15px 15px 15px;
+}
+span.comments-syntax-indicator {
+ display: block;
+}
+
+ul.commentsList {
+ list-style: none;
+ margin-left: 0;
+ padding-left: 0;
+}
+li.commentsListItem {
+ font-size : small;
+ font-weight: normal;
+}
+/* Begin Hidden Comment Form */
+form.commentFormBox {
+ margin-top: 10px;
+}
+tr.commentFormRow {
+ color: #808080;
+ font-size: 12px;
+ padding-bottom: 6px;
+}
+input.commentFormInput {
+ font-size: 1em;
+}
+textarea.commentFormTextarea {
+ font-size: 12px;
+ width: 90% !important;
+}
+div.htmlSyntax {
+ font-weight: bold;
+}
+div.commentBody {}
+div.commentByline {}
+div.commentAuthor {
+ border: none;
+}
+/* End Hidden Comment Form */
+
+/*************/
+/* weblog.vm */
+/*************/
+a.daypermalink {
+ border-style : none;
+}
+a.entrypermalink {
+ background: transparent;
+}
+span.disabled {
+ color: red;
+}
+span.enabled {
+ color: green;
+}
+form#searchForm {
+}
+div#searchAgain {
+ border: 1px solid #999;
+ font-size: 1em;
+}
+div.trackbackUrl {
+ background: transparent;
+ margin: 0px 10px 10px 10px;
+ text-align: left;
+}
+#nextEntry {
+ text-align: right;
+}
+#previousEntry {
+ text-align: left;
+}
+ul.recentposts {
+ list-style: none;
+ margin-left: 0;
+ padding-left: 0;
+}
+li.recentposts {
+ font-size : small;
+ font-weight: normal;
+}
+ul.linkblog {
+ list-style: none;
+ margin-left: 0;
+ padding-left: 0;
+}
+li.linkblog {
+ font-size : small;
+ font-weight: normal;
+}
+div#next-previous {
+ text-align: center;
+}
+.error {
+ display: block;
+ background-color: #ffcccc;
+ border: 1px solid red;
+ color: #aa0000;
+ font-size: 0.9em;
+ font-weight: normal;
+ margin: 5px 10px 5px 0px;
+ padding: 3px;
+ width: 95%;
+}
+.status {
+ display: block;
+ background-color: #CCFFCC;
+ border: 1px solid green;
+ color: #000000;
+ font-size: .9em;
+ font-weight: normal;
+ margin: 5px 10px 5px 0px;
+ padding: 3px;
+ width: 95%;
+}
+
+/**************/
+/* website.vm */
+/**************/
+div.rWeblogCategoryChooser {
+ background: transparent;
+ margin-bottom: 10px;
+}
+a.rUnchosenCategory {
+ font-size: medium;
+ font-weight: normal;
+}
+span.rChosenCategory {
+ font-size: medium;
+ font-weight: bolder;
+}
+
+/********************/
+/* CalendarTag.java */
+/********************/
+table.hCalendarTable {
+ text-align : center;
+}
+td.hCalendarMonthYearRow {
+ font-weight: bold;
+}
+a.hCalendarNavBar {
+}
+th.hCalendarDayNameRow {
+ text-align : center;
+ font-size : x-small;
+ font-weight : bolder;
+}
+tr.hCalendarNextPrev {
+ text-align : center;
+ font-size : x-small;
+ font-style : italic;
+}
+td.hCalendarDayNotInMonth {
+ font-size : x-small;
+ background-color: white;
+ color: gray;
+}
+td.hCalendarDayCurrent {
+ text-align : center;
+ font-size : x-small;
+ font-weight: bolder;
+}
+td.hCalendarDayLinked {
+ text-align : center;
+ font-size : x-small;
+ font-weight: bolder;
+}
+div.hCalendarDayTitle {
+ font-size: .9em;
+ text-align: center;
+}
+td.hCalendarDay {
+ text-align: center;
+ font-size : x-small;
+}
+
+/**************************/
+/* BigWeblogCalendarModel */
+/**************************/
+div.hCalendarDayTitleBig {
+ position: relative;
+ left: 0;
+ top: 0;
+ width: 25%;
+ padding: 3px 0 3px 0;
+ background: transparent;
+ color: #050505;
+ border-right: 1px solid #050505;
+ border-bottom: 1px solid #050505;
+ font-size: small;
+ text-align: center;
+ font-size: small;
+}
+div.bCalendarDayContentBig {
+ font-size: x-small;
+ padding: 3px 0px 3px 0px;
+}
+
Added: incubator/roller/trunk/web/themes/basic/Weblog.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/basic/Weblog.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/basic/Weblog.vm (added)
+++ incubator/roller/trunk/web/themes/basic/Weblog.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ #showContentLanguage($locale.language)
+ <link rel="stylesheet" type="text/css" href="$ctxPath/themes/base.css" />
+ <link rel="stylesheet" type="text/css" href="#showThemePath("basic")/theme.css" />
+ <style type="text/css">#includePage("_css")</style>
+ #showRSSAutodiscoveryLink()
+ <script type="text/javascript" src="$ctxPath/theme/scripts/roller.js">
+ </script>
+ <title>#showWebsiteTitle()</title>
+</head>
+<body>
+<table border="0" align="center" width="95%"><tbody><tr>
+ <td class="entries" width="80%" valign="top" bgcolor="#ffffff">
+ <center>
+ <h1>#showWebsiteTitle()</h1>
+ <p class="descrip">#showWebsiteDescription()</p>
+ #showWeblogCategoryChooser()<br>
+ </center>
+ #showNextPreviousLinks()
+ #showWeblogEntries("_day" 15)
+ </td>
+ <td width="20%" valign="top" bgcolor="#ffffff" width="20%">
+ <h2>Calendar</h2>
+ #showWeblogCalendar()<br>
+ <h2>RSS Feeds</h2>
+ #showRSSBadge()<br>
+ #showRSSLinks()
+ <h2>Search</h2>
+ #showSearchForm()
+ <h2>Links</h2>
+ #showBookmarks("Blogroll" true false)<br>
+ #showBookmarks("News" true false)
+ <h2>Navigation</h2>
+ #showBasicNavBar(true)<br>
+ #showEditorNavBar(true)<br>
+ <h2>Referers</h2>
+ #showReferers(30 20)
+ </td>
+</tr></tbody></table>
+</body>
+</html>
Added: incubator/roller/trunk/web/themes/basic/_css.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/basic/_css.vm?rev=189602&view=auto
==============================================================================
(empty)
Added: incubator/roller/trunk/web/themes/basic/_day.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/basic/_day.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/basic/_day.vm (added)
+++ incubator/roller/trunk/web/themes/basic/_day.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,20 @@
+<div class="box">
+
+<div class="entry">
+ #showDayPermalink( $day )
+ #showEntryDate( $day )
+</div>
+
+#foreach( $entry in $entries )
+<p>
+ <a name="$utilities.encode($entry.anchor)" id="$utilities.encode($entry.anchor)"></a>
+ <b>$entry.title</b> #showEntryText($entry)
+ <span class="dateStamp">(#showTimestamp($entry.pubTime))</span>
+ #showEntryPermalink( $entry )
+ #showCommentsPageLink( $entry )
+</p>
+#end
+
+#showLinkbacks( $day )
+
+</div>
Added: incubator/roller/trunk/web/themes/basic/theme.css
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/basic/theme.css?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/basic/theme.css (added)
+++ incubator/roller/trunk/web/themes/basic/theme.css Wed Jun 8 09:06:16 2005
@@ -0,0 +1,175 @@
+
+div.entry {
+ font-family:verdana, arial, sans-serif;
+ font-size: 10px;
+ color: #999;
+ font-weight:bold;
+ margin-top:10px;
+ text-transform:uppercase;
+ border-bottom:1px dotted #666;
+}
+
+div.day {
+ border-style: dotted;
+ border-width: thin;
+ font-family: verdana, sans-serif;
+ font-size: small;
+ color: black;
+ color : #000000;
+}
+
+div.box {
+ margin: 15px 15px 15px 15px;
+}
+
+h1 {
+ color:#CC9933;
+}
+h2 {
+ font-family:verdana, arial, sans-serif;
+ color:#999;
+ font-size:9px;
+ font-weight:bold;
+ background:#FFF;
+ line-height:14px;
+ padding:2px;
+ margin-top:10px;
+ border-bottom:1px dotted #666;
+ text-transform:uppercase;
+ letter-spacing: .2em;
+}
+
+p {
+ font-family: verdana, sans-serif;
+ font-size: small;
+ color: black;
+ color : #000000;
+}
+
+body {
+ font-family: verdana, sans-serif;
+ font-size: small;
+ color: black;
+ background-color: white;
+}
+a {
+ text-decoration: none;
+}
+a:link {
+ color: blue;
+ font-weight: medium;
+}
+a:visited {
+ color: purple;
+ font-weight: medium;
+}
+
+a:hover {
+ text-decoration: underline overline;
+}
+img {
+ border: 0px;
+ margin: 0px;
+}
+
+.dateStamp {
+ color : gray;
+ font-size: small;
+}
+
+.rBookmark1 {
+ margin-left: 10px;
+ font-size: small;
+ font-weight: bold;
+}
+.rBookmark2 {
+ margin-left: 10px;
+ font-weight: bold;
+ font-size: large
+}
+.rBookmark3 {
+ margin-left: 10px;
+ font-size: x-large
+}
+
+.hCalendarTable {
+ text-align : center;
+}
+.hCalendarTitle {
+ text-align : center;
+ font-weight : bolder;
+ font-size: large;
+}
+.hCalendarDayNameRow {
+ text-align : center;
+ font-weight : bolder;
+ font-size : x-small;
+}
+.hCalendarDay {
+ text-align : center;
+ font-size : x-small;
+}
+.hCalendarDayCurrent {
+ text-align : center;
+ font-size : x-small;
+ font-weight : bolder ;
+}
+.hCalendarDayLinked {
+ font-size : x-small;
+ font-weight : bolder ;
+ text-align : center;
+}
+.hCalendarDayNotInMonth {
+ font-size : x-small;
+ background-color: white;
+ color: gray;
+}
+.hCalendarNextPrev {
+ font-size : x-small;
+ text-align : center;
+ font-style : italic;
+}
+
+.rChosenCategory {
+ font-weight: bolder;
+}
+.rUnchosenCategory {
+ font-size: medium;
+}
+
+ul.rReferersList {
+ list-style: none;
+ margin-left: 0;
+ padding-left: 0;
+ font-size : x-small;
+}
+li.rReferersListItem {
+ list-style: none;
+ margin-left: 0;
+ padding-left: 0;
+ font-size : x-small;
+}
+
+.comments {
+ margin: 15px 15px 15px 15px;
+}
+
+.comments-form {
+ font-family:verdana, arial, sans-serif;
+ color:#999;
+ font-size:10px;
+ font-weight:normal;
+ background:#FFF;
+ margin: 15px 15px 15px 15px;
+}
+
+.comments-head {
+ font-family:verdana, arial, sans-serif;
+ font-size: 10px;
+ color: #999;
+ font-weight:bold;
+ margin-top:10px;
+ text-transform:uppercase;
+ border-bottom:1px dotted #666;
+}
+
Added: incubator/roller/trunk/web/themes/berkley/Weblog.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/Weblog.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/berkley/Weblog.vm (added)
+++ incubator/roller/trunk/web/themes/berkley/Weblog.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,243 @@
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ #showContentLanguage($locale.language)
+ <title>#showWebsiteTitle()</title>
+ <link rel="stylesheet" type="text/css" href="$ctxPath/themes/base.css" />
+ <link rel="stylesheet" type="text/css" href="#showThemePath("berkley")/theme.css" />
+ <style>
+ #includePage("_css")
+ </style>
+ <script type="text/javascript" src="$ctxPath/theme/scripts/roller.js">
+ </script>
+</head>
+
+<noscript>You need to have Javascript enabled to view this page</noscript>
+<script>
+var bikky = document.cookie;
+var strControls = "";
+
+//check DOM compliance
+bNS = (document.layers) ? true:false; // netscape 4
+bIE = (document.all) ? true:false; // ie4+
+bDOM = ((document.getElementById)&&(!bIE))?true:false; // ns6 etc.
+
+
+function initPage() {
+ window.defaultStatus="Welcome to #showWebsiteTitle()";
+}
+
+function exitPage() {
+ if (strControls.length == 0) deleteCookie("Controls")
+ else setCookie("Controls",strControls);
+}
+
+function go(url) {
+ window.location.href=url;
+}
+
+function getObj(id) {
+ if (bDOM) return document.getElementById(id);
+ if (bIE) return document.all[id];
+}
+
+function show(id) {
+ if (strControls.indexOf(id) != -1) return;
+ getObj("Controls").innerHTML += "<DIV class='box1'>"+getObj(id).innerHTML+"</DIV>";
+ strControls+=id+";";
+}
+
+function hide(id) {
+ index = strControls.indexOf(id);
+ if (index == -1) return;
+
+ pre = strControls.substring(0, index);
+ post = strControls.substring(index+id.length+1);
+
+ // rebuild the list of controls
+ showControls(pre+post);
+
+}
+
+function showControls(newControls) {
+ getObj("Controls").innerHTML = "";
+ strControls = "";
+
+ var split = newControls.split(";");
+ for (i=0; i<split.length; i++) {
+ show(split[i]);
+ }
+}
+
+function getCookie(name) {
+ var index = bikky.indexOf(name + "=");
+ if (index == -1) return "";
+ index = bikky.indexOf("=", index) + 1;
+ var endstr = bikky.indexOf(";", index);
+ if (endstr == -1) endstr = bikky.length;
+ return unescape(bikky.substring(index, endstr));
+}
+
+function setCookie(name, value) {
+ if (value != "") {
+ document.cookie=name + "=" + escape(value) + ";path=/" ;
+ bikky= document.cookie; // update bikky
+ }
+}
+
+function deleteCookie (name) {
+
+ if (getCookie(name)) {
+ document.cookie = name + "=" + ";path=/; expires=Thu, 01-Jan-70 00:00:01 GMT";
+ }
+}
+
+
+</script>
+
+<BODY onload="initPage()" onunload="exitPage()">
+<table width="574">
+ <tr>
+ <td class="Banner">
+ <img src="#showThemePath("berkley")/images/banner_palms.jpg" border="0">
+ <TABLE cellspacing="0" cellpadding="0">
+ <TR>
+ <TD align="left" width="533" bgcolor="#ffffff" >
+ <DIV align="center" id="menu_controls" style="visibility: hidden;">
+ <FONT face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1">
+ <A href="javascript:show('calendar')">Calendar</A> |
+ <A href="javascript:show('menu')">Controls</A> |
+ <A href="javascript:show('blogs')">Blogs</A> |
+ <A href="javascript:show('referrers')">Referrers</A> |
+ <A href="javascript:show('cat')">Categories</A> |
+ <A href="javascript:show('about')">About</A> |
+ <A href="javascript:show('search')">Search</A> |
+ <A href="$ctxPath/rss/$userName">RSS</A>
+ </FONT>
+ </DIV>
+ </TD>
+ </TR>
+ </TABLE>
+ </td>
+ </tr>
+</table>
+#showNextPreviousLinks()
+#showWeblogEntries("_day" 15)
+
+<div id="Controls" class="controls"></div>
+
+<div class="hidden" id="search">
+ <table cellspacing="0" cellpadding="0" width="140">
+ <tr>
+ <td class="ctrl_title"><a href="javascript:hide('search')">
+ <img src="#showThemePath('berkley')/images/ctrl_close.gif" border="0" align="left"></a>Search</td>
+ <td><img src="#showThemePath('berkley')/images/ctrl_title_t.gif"></td>
+ </tr>
+ <tr>
+ <td class="ctrl_content">
+ #showSearchForm()
+ </td>
+ <td> </td>
+ </tr>
+ </table>
+</div>
+
+<div class="hidden" id="referrers">
+ <table cellspacing="0" cellpadding="0" width="140">
+ <tr>
+ <td class="ctrl_title"><a href="javascript:hide('referrers')">
+ <img src="#showThemePath('berkley')/images/ctrl_close.gif" border="0" align="left"></a>Referrers</td>
+ <td><img src="#showThemePath('berkley')/images/ctrl_title_t.gif"></td>
+ </tr>
+ <tr>
+ <td class="ctrl_content">
+ #showReferers(20 30)
+ </td>
+ <td> </td>
+ </tr>
+ </table>
+</div>
+
+
+<div class="hidden" id="menu">
+ <table cellspacing="0" cellpadding="0" width="140">
+ <tr>
+ <td class="ctrl_title"><a href="javascript:hide('menu')">
+ <img src="#showThemePath('berkley')/images/ctrl_close.gif" border="0" align="left"></a>Menu</td>
+ <td><img src="#showThemePath('berkley')/images/ctrl_title_t.gif"></td>
+ </tr>
+ <tr>
+ <td class="ctrl_content">
+ #showBasicNavBar(true)
+ #showEditorNavBar(true)
+ </td>
+ <td> </td>
+ </tr>
+ </table>
+</div>
+
+<div class="hidden" id="blogs">
+ <table cellspacing="0" cellpadding="0" width="140">
+ <tr>
+ <td class="ctrl_title"><a href="javascript:hide('blogs')">
+ <img src="#showThemePath('berkley')/images/ctrl_close.gif" border="0" align="left"></a>Blogs</td>
+ <td><img src="#showThemePath('berkley')/images/ctrl_title_t.gif"></td>
+ </tr>
+ <tr>
+ <td class="ctrl_content">#showBookmarks("Blogroll" true false)</td>
+ <td> </td>
+ </tr>
+ </table>
+</div>
+
+<div class="hidden" id="cat">
+ <table cellspacing="0" cellpadding="0" width="140">
+ <tr>
+ <td class="ctrl_title" width="140" nowrap><a href="javascript:hide('cat')">
+ <img src="#showThemePath('berkley')/images/ctrl_close.gif" border="0" align="left"></a>Categories</td>
+ <td><img src="#showThemePath('berkley')/images/ctrl_title_t.gif"></td>
+ </tr>
+ <tr>
+ <td class="ctrl_content">#showWeblogCategoryChooser()</td>
+ <td> </td>
+ </tr>
+ </table>
+</div>
+
+<div class="hidden" id="about">
+ <table cellspacing="0" cellpadding="0" width="140">
+ <tr>
+ <td class="ctrl_title"><a href="javascript:hide('about')">
+ <img src="#showThemePath('berkley')/images/ctrl_close.gif" border="0" align="left"></a>About</td>
+ <td><img src="#showThemePath('berkley')/images/ctrl_title_t.gif"></td>
+ </tr>
+ <tr>
+ <td class="ctrl_content">Contact:
+ <a href="mailto:$encodedEmail">$fullName</a>
+ </td>
+ <td> </td>
+ </tr>
+ </table>
+</div>
+
+<div class="hidden" id="calendar">
+ <table cellspacing="0" cellpadding="0" width="140">
+ <tr>
+ <td class="ctrl_title"><a href="javascript:hide('calendar')">
+ <img src="#showThemePath('berkley')/images/ctrl_close.gif" border="0" align="left">
+ </a>Calendar</td><td><img src="#showThemePath('berkley')/images/ctrl_title_t.gif"></td>
+ </tr>
+ <tr>
+ <td class="ctrl_content">#showWeblogCalendar()</td>
+ <td> </td>
+ </tr>
+ </table>
+</div>
+
+
+</BODY>
+</HTML>
+<script>
+ showControls(getCookie("Controls"));
+ getObj("menu_controls").style.visibility="visible";
+</script>
Added: incubator/roller/trunk/web/themes/berkley/_css.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/_css.vm?rev=189602&view=auto
==============================================================================
(empty)
Added: incubator/roller/trunk/web/themes/berkley/_day.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/_day.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/berkley/_day.vm (added)
+++ incubator/roller/trunk/web/themes/berkley/_day.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,27 @@
+<table width="572">
+ #foreach( $entry in $entries )
+ <tr>
+ <td>
+ <TABLE class="BlogTitle" align="right" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td><img src="#showThemePath('berkley')/images/title_left_t.gif"></td>
+ <td width="10%" class="BlogTitle" nowrap>
+ <a name="$utilities.encode($entry.anchor)" id="$utilities.encode($entry.anchor)"></a>
+ ::: $entry.title :::
+ </td>
+ <td><img src="#showThemePath('berkley')/images/title_right_t.gif"></td>
+ <td width="90%" class="BlogDate" align="right">#showEntryDate( $day )</td>
+ </tr>
+ <tr>
+ <td class="NewBlog" colspan="4">
+ #showEntryText($entry)
+ <DIV class="BlogTime" align="right">
+ [#showTimestamp($entry.updateTime)|<a href="$entry.getPermaLink()">#</a>]
+ </DIV>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ #end
+</table>
Added: incubator/roller/trunk/web/themes/berkley/images/banner_palms.jpg
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/images/banner_palms.jpg?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/berkley/images/banner_palms.jpg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/berkley/images/ctrl_close.gif
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/images/ctrl_close.gif?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/berkley/images/ctrl_close.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/berkley/images/ctrl_title_t.gif
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/images/ctrl_title_t.gif?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/berkley/images/ctrl_title_t.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/berkley/images/title_left_t.gif
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/images/title_left_t.gif?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/berkley/images/title_left_t.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/berkley/images/title_right_t.gif
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/images/title_right_t.gif?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/berkley/images/title_right_t.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/berkley/theme.css
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/berkley/theme.css?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/berkley/theme.css (added)
+++ incubator/roller/trunk/web/themes/berkley/theme.css Wed Jun 8 09:06:16 2005
@@ -0,0 +1,122 @@
+A:active {
+ COLOR: Silver;
+ TEXT-DECORATION: none
+}
+A:hover {
+ COLOR: Navy;
+ TEXT-DECORATION: underline;
+}
+A:link {
+ COLOR: Navy;
+ TEXT-DECORATION: none
+}
+A:visited {
+ TEXT-DECORATION: none;
+ color : #00008B;
+}
+BODY {
+ margin : 42px;
+ background-color : #DBEAF3;
+ color : Black;
+}
+
+td.NewBlog {
+ background-color : White;
+ text-align : left;
+ padding: 4px;
+ border : 4px solid Navy;
+ width : 572px;
+}
+
+div.quote {
+ padding: 5px;
+ margin:10px;
+ font-style : italic;
+ background-color: #FFFFF0;
+ border : 1px solid Silver;
+}
+
+div.BlogTime {
+ color : Navy;
+ font : smaller Tahoma;
+}
+
+td.BlogTitle {
+ background-color : Navy;
+ font-family : Tahoma;
+ font-size : small;
+ color : White;
+}
+
+td.BlogDate {
+ font-family : Tahoma;
+ font-size : 12;
+}
+
+table.BlogTitle {
+ width : 572px;
+ border : 0px;
+}
+
+.hCalendarTitle { font-family : Tahoma;text-align : center; font-weight : bolder ;}
+.hCalendarDay { font-family : Tahoma;text-align : center; font-size : 9px; border-width: thin;}
+.hCalendarDayCurrent { font-family : Tahoma;text-align : center; font-size : 9px; font-weight : bolder ; border-width: thin; border-style: dotted;}
+.hCalendarDayNameRow { font-family : Tahoma;text-align : center; font-weight : bold ; font-size : 9px;}
+.hCalendarDayLinked { font-family : Tahoma;font-weight : bolder ; text-align : center; font-size : 9px; border-width: thin;}
+.hCalendarDayNotInMonth { font-family : Tahoma;text-align : center; font-size : 9px; color : #aaaaaa;}
+.hCalendarNextPrev { font-family : Tahoma;text-align : center; font-size : smaller; margin-top:5px;}
+.hCalendarMonthYearRow {
+ background-color : Navy;
+ color : White;
+}
+
+div.hidden {
+ visibility: hidden;
+}
+
+div.box1 {
+ background-color : #DBEAF3;
+ border-left :4 solid Navy;
+ padding-bottom:5;
+ position: relative;
+}
+
+div.controls {
+ position: absolute;
+ left:622;
+ top:44;
+}
+
+td.Banner {
+ border : 4px solid Navy;
+ background-color : White;
+ text-align : center;
+ vertical-align : middle;
+ padding-bottom : 2px;
+ padding-left : 0px;
+ padding-right : 0px;
+ padding-top : 0px;
+}
+
+td.ctrl_title {
+ background-color : Navy;
+ font-family : Tahoma;
+ font-size : smaller;
+ color : White;
+ text-align : right;
+ padding: 2px;
+ border: 0px;
+ font-weight : bold;
+}
+
+td.ctrl_content {
+ background-color : white;
+ border-right : 1px solid Silver;
+ border-bottom : 1px solid Silver;
+ padding: 4px;
+ font-family : Tahoma;
+ font-size : 11px;
+ color : Black;
+ text-align : left;
+ line-height : 14px;
+}
Added: incubator/roller/trunk/web/themes/cheb/Weblog.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/Weblog.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/cheb/Weblog.vm (added)
+++ incubator/roller/trunk/web/themes/cheb/Weblog.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ #showContentLanguage($locale.language)
+ <title>#showWebsiteTitle()</title>
+ <link rel="stylesheet" type="text/css" href="$ctxPath/themes/base.css" />
+ <link rel="stylesheet" type="text/css" href="#showThemePath("cheb")/theme.css" />
+ <style type="text/css">
+ #includePage("_css")
+ </style>
+</head>
+<body>
+ <div id="content">
+ <h1>#showWebsiteTitle()</h1>
+ #showWeblogCategoryChooser()
+
+ #showNextPreviousLinks()
+ <div id="entries">
+ #showWeblogEntries("_day" 10)
+ </div>
+ </div>
+
+ <div id="menu">
+ #showRSSBadge()
+ <div id="calendar">
+ #showWeblogCalendar()
+ </div>
+ <div class="item">
+ #showSearchForm()
+ </div>
+ <div class="item">
+ #showBookmarks("Blogroll" false false )
+ <div>
+ <div class="item">
+ #showBookmarks("News" false false)
+ </div>
+ <div class="item">
+ #showEditorNavBar(true)
+ </div>
+ <div class="item">
+ #showBasicNavBar(false)
+ </div>
+ <div class="item">
+ <a href="http://validator.w3.org/check/referer">
+ <img class="w3" src="$ctxPath/images/vcss.png"
+ alt="Valid CSS!"/></a>
+ <a href="http://validator.w3.org/check/referer"><img
+ src="$ctxPath/images/valid-xhtml10.png"
+ alt="Valid XHTML 1.0!" class="w3"/></a>
+ </div>
+ <div class="item">
+ #showReferers(20 25)
+ </div>
+
+ <div class="item">design by
+ <a href="http://www.cheblogs.com/roller/page/bblakeley">Brian Blakeley</a>
+ </div>
+ </div>
+ </body>
+</html>
Added: incubator/roller/trunk/web/themes/cheb/_css.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/_css.vm?rev=189602&view=auto
==============================================================================
(empty)
Added: incubator/roller/trunk/web/themes/cheb/_day.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/_day.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/cheb/_day.vm (added)
+++ incubator/roller/trunk/web/themes/cheb/_day.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,12 @@
+
+<div class="entryHeader">
+ #showDayPermalink( $day )
+ #showEntryDate( $day )
+</div>
+
+#foreach( $entry in $entries )
+<div class="entryContent">
+ <p>
+ <a name="$utilities.encode($entry.anchor)" id="$utilities.encode($entry.anchor)"></a>
+ <b>$entry.title</b> #showEntryText($entry)
<span class="dateStamp">(#showTimestamp($entry.pubTime))</span>
#showEntryPermalink( $entry )
#showCommentsPageLink( $entry )<br />
Trackback: #showTrackbackURL($entry)
</p>
</div>
#end
+<p>#showLinkbacks( $day )</p>
Added: incubator/roller/trunk/web/themes/cheb/images/background.jpg
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/images/background.jpg?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/cheb/images/background.jpg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/cheb/images/titlebar.jpg
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/images/titlebar.jpg?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/cheb/images/titlebar.jpg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/cheb/images/valid-xhtml10.png
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/images/valid-xhtml10.png?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/cheb/images/valid-xhtml10.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/cheb/images/vcss.png
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/images/vcss.png?rev=189602&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/themes/cheb/images/vcss.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/themes/cheb/scripts/global.js
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/scripts/global.js?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/cheb/scripts/global.js (added)
+++ incubator/roller/trunk/web/themes/cheb/scripts/global.js Wed Jun 8 09:06:16 2005
@@ -0,0 +1,229 @@
+/* Function to route non-standards compliant browsers to upgrade */
+/*
+if (!document.getElementById) {
+ window.location =
+ "http://archive.webstandards.org/upgrade/"
+}
+*/
+
+function MM_preloadImages() { //v3.0
+ var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+ var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+ if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_swapImgRestore() { //v3.0
+ var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
+}
+
+function MM_findObj(n, d) { //v4.01
+ var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+ d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+ if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+ for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+ if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_swapImage() { //v3.0
+ var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
+ if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
+}
+
+/* This function is used to change the style class of an element */
+function swapClass(obj, newStyle) {
+ obj.className = newStyle;
+}
+
+function isUndefined(value) {
+ var undef;
+ return value == undef;
+}
+
+/* Function for showing and hiding layers (divs) */
+function toggleBox(szDivID, iState) // 1 visible, 0 hidden
+{
+ var divName = document.getElementById(szDivID);
+ divName.style.visibility = iState ? "visible" : "hidden";
+}
+
+/* Function for showing and hiding rows or divs */
+function toggleRow(szDivID, iState) // 1 visible, 0 hidden
+{
+ isNS = (navigator.appName == "Netscape") ? true : false;
+ var displayType;
+ if (isNS) {
+ displayType = "table-row";
+ } else {
+ displayType = "block";
+ }
+ var obj = document.getElementById(szDivID);
+ obj.style.display = iState ? displayType : "none";
+}
+
+function checkAll(theForm) { // check all the checkboxes in the list
+ for (var i=0;i<theForm.elements.length;i++) {
+ var e = theForm.elements[i];
+ var eName = e.name;
+ if (eName != 'allbox' &&
+ (e.type.indexOf("checkbox") == 0)) {
+ e.checked = theForm.allbox.checked;
+ }
+ }
+}
+
+/* Function to clear a form of all it's values */
+function clearForm(frmObj) {
+ for(var i = 0; i < frmObj.length; i++) {
+ if(frmObj.elements[i].type.indexOf("text") == 0 ||
+ frmObj.elements[i].type.indexOf("password") == 0) {
+ frmObj.elements[i].value="";
+ } else if (frmObj.elements[i].type.indexOf("radio") == 0) {
+ frmObj.elements[i].checked=false;
+ } else if (frmObj.elements[i].type.indexOf("checkbox") == 0) {
+ frmObj.elements[i].checked = false;
+ } else if (frmObj.elements[i].type.indexOf("select") == 0) {
+ for(var j = 0; j < frmObj.elements[i].length ; j++) {
+ frmObj.elements[i].options[j].selected=false;
+ }
+ frmObj.elements[i].options[0].selected=true;
+ }
+ }
+}
+
+/* Function to hide form elements that show through
+ the search form when it is visible */
+function toggleForm(frmObj, iState) // 1 visible, 0 hidden
+{
+ for(var i = 0; i < frmObj.length; i++) {
+ if (frmObj.elements[i].type.indexOf("select") == 0 || frmObj.elements[i].type.indexOf("checkbox") == 0) {
+ frmObj.elements[i].style.visibility = iState ? "visible" : "hidden";
+ }
+ }
+}
+
+/* This function is used to open a pop-up window */
+function openWindow(url, winName, winParams) {
+ popupWin = window.open(url, winName, winParams);
+ popupWin.focus();
+}
+
+// This resizes the browser window to take up the user's
+// entire screen height & width
+function growToFullWindow() {
+ var screenWidth = window.screen.availWidth;
+ var screenHeight = window.screen.availHeight;
+ top.window.resizeTo(screenWidth,screenHeight);
+ top.window.moveTo(0,0);
+}
+
+function shrinkWindow(newWidth, newHeight) {
+ top.window.resizeTo(newWidth,newHeight);
+ top.window.moveTo(0,0);
+}
+
+/* This function is used to set cookies */
+function setCookie(name,value,expires,path,domain,secure) {
+ document.cookie = name + "=" + escape (value) +
+ ((expires) ? "; expires=" + expires.toGMTString() : "") +
+ ((path) ? "; path=" + path : "") +
+ ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
+}
+
+/* This function is used to get cookies */
+function getCookie(name) {
+ var prefix = name + "="
+ var start = document.cookie.indexOf(prefix)
+
+ if (start==-1) {
+ return null;
+ }
+
+ var end = document.cookie.indexOf(";", start+prefix.length)
+ if (end==-1) {
+ end=document.cookie.length;
+ }
+
+ var value=document.cookie.substring(start+prefix.length, end)
+ return unescape(value);
+}
+
+/* This function is used to delete cookies */
+function deleteCookie(name,path,domain) {
+ if (getCookie(name)) {
+ document.cookie = name + "=" +
+ ((path) ? "; path=" + path : "") +
+ ((domain) ? "; domain=" + domain : "") +
+ "; expires=Thu, 01-Jan-70 00:00:01 GMT";
+ }
+}
+
+function setTheme(themeName) {
+ var expires = new Date();
+ expires.setTime(expires.getTime() + 24 * 365 * 60 * 60 * 1000); // sets it for approx 365 days.
+ setCookie("roller-theme",themeName,expires,"/");
+ document.location.reload();
+}
+
+/* This function is used to show/hide elements with a display:none style attribute */
+function toggle(targetId) {
+ if (document.getElementById) {
+ target = document.getElementById(targetId);
+ if (target.style.display == "none") {
+ target.style.display = "";
+ } else {
+ target.style.display = "none";
+ }
+ }
+}
+
+/* The toggleFolder and togglePlusMinus functions are for expanding/contracting folders */
+function toggleFolder(targetId) {
+ var expanded;
+ if (document.getElementById) {
+ target = document.getElementById(targetId);
+ if (target.style.display == "none") {
+ target.style.display = "";
+ expanded = true;
+ } else {
+ target.style.display = "none";
+ expanded = false;
+ }
+ togglePlusMinus("i" + targetId);
+
+ // set a cookie to remember this preference
+ var expires = new Date();
+ expires.setTime(expires.getTime() + 24 * 365 * 60 * 60 * 1000); // sets it for approx 365 days.
+ setCookie("rfolder-"+targetId,expanded,expires,"/");
+ }
+}
+
+function togglePlusMinus(targetId) {
+ if (document.getElementById) {
+ target = document.getElementById(targetId);
+ if (target.innerHTML == "+") {
+ target.innerHTML = "-";
+ } else {
+ target.innerHTML = "+";
+ }
+ }
+}
+
+/* This function is to set folders to expand/contract based on a user's preference */
+function folderPreference(folderId) {
+ var folderCookie = getCookie("rfolder-"+folderId);
+ if (folderCookie != null) { // we have user's last setting
+ folder = document.getElementById(folderId);
+ plusMinus = document.getElementById("i"+folderId);
+ if (folderCookie == "true") { // show
+ folder.style.display = "";
+ plusMinus.innerHTML = "-";
+ } else { // hide
+ folder.style.display = "none";
+ plusMinus.innerHTML = "+";
+ }
+ }
+}
+
+// Show the document's title on the status bar
+window.defaultStatus=document.title;
+
Added: incubator/roller/trunk/web/themes/cheb/theme.css
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/cheb/theme.css?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/cheb/theme.css (added)
+++ incubator/roller/trunk/web/themes/cheb/theme.css Wed Jun 8 09:06:16 2005
@@ -0,0 +1,238 @@
+body {
+ margin: 0px 0px 0px 0px;
+}
+
+h2 {
+ padding-top: 10px;
+}
+
+p,h1,pre {
+ margin: 0px 30px 10px 30px;
+}
+
+#content {
+ margin-right: 185px;
+ padding: 10px;
+ text-align: center; /* centers content */
+}
+
+#content #entries {
+ text-align: left;
+}
+
+#content #title {
+ border: 0px;
+ height: 73px;
+ width: 422px;
+}
+
+#content .rWeblogCategoryChooser {
+ margin-bottom: 10px;
+}
+
+#menu {
+ line-height: 17px;
+ padding: 10px;
+ position: absolute;
+ right: 0px;
+ top: 0px;
+ width: 185px;
+}
+
+#menu #calendar {
+ margin-bottom: 10px;
+ margin-top: 5px;
+ padding: 2px;
+}
+
+/* center the calendar table */
+#menu #calendar table {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#menu .item {
+ padding: 10px 0px 10px 2px;
+}
+
+
+body {
+ /* Here we'll declare the default font-size and font-family.
+ * The rest of the typographical rules use relative sizes based on this font-size.
+ * We can easily modify overall typography by changing or overriding these values.
+ */
+ background: #F4F4D1;
+ color: #573e93;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 70%;
+ margin: 0px;
+}
+
+a {
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline overline;
+}
+
+a:active {
+ text-decoration: none;
+}
+
+.dateStamp {
+ background: transparent;
+ color: #825d9c;
+ font-size: 8pt;
+}
+
+.error {
+ background: transparent;
+ color: #FF0000;
+}
+
+#calendar {
+ color: #412FC8;//825d9c
+}
+
+.hCalendarDay {
+ border-width: thin;
+ font-size: .9em;
+ text-align: center;
+}
+
+.hCalendarDayCurrent {
+ border-style: solid;
+ border-width: medium;
+ font-size: .9em;
+ font-weight: bolder;
+ text-align: center;
+}
+
+.hCalendarDayLinked {
+ border-width: thin;
+ font-size: .9em;
+ font-weight: bolder;
+ text-align: center;
+}
+
+.hCalendarDayNameRow {
+ font-size: .9em;
+ font-weight: bolder;
+ text-align: center;
+}
+
+.hCalendarDayNotInMonth {
+ background: transparent;
+ color: #AAAAAA;
+ font-size: .9em;
+ text-align: center;
+}
+
+.hCalendarNextPrev {
+ text-align: center;
+}
+
+.hCalendarTitle {
+ font-weight: bolder;
+ text-align: center;
+}
+
+#menu {
+ background-color: #000080;
+ background-image: url(#showThemeImagePath("cheb" "background.jpg"));
+ color: #000080;
+ width: 20%;
+}
+
+#menu #calendar {
+ border: 3px solid #575700;
+}
+
+#menu .item {
+ border-top: 2px dashed #575700;
+}
+
+.rFolder, .rNewsfeedTitle {
+ font-weight: 600;
+}
+
+.permalink, .daypermalink {
+ border: 0px;
+ vertical-align: bottom;
+}
+
+/* hide borders for all images with links */
+img a {
+ border: 0px;
+}
+
+#content {
+ background: #F4F4D1;
+ color: #412FC8;
+}
+
+#content a {
+ background: transparent;
+ color: #000080;
+}
+
+#content pre {
+ background: #FFFFCC;
+ color: #573e93;
+ padding: 5px;
+}
+
+.entryHeader {
+ background: #F4F4D1;
+ background-image: url(#showThemeImagePath("cheb" "titlebar.jpg"));
+ background-image: no-repeat;
+ color: #000080;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 1.1em;
+ font-variant: small-caps;
+ font-weight: bold;
+ position: relative;
+ top: 0px;
+ left: 10px;
+ width: 490px;
+ margin: 5px;
+ padding: 5px;
+}
+
+.entryContent {
+ background: #F4F4D1;
+ color: #000080;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 1.1em;
+ position: relative;
+ left: 20px;
+ width: 65%;
+ margin: 5px;
+ padding: 5px;
+}
+
+#menu a {
+ background: transparent;
+ color: #573e93;
+}
+
+#menu .rFolder a, #menu .rNewsfeedTitle a {
+ background: transparent;
+ color: #EFABB3;
+}
+
+#menu .rFolder span, #menu .rNewsfeedTitle span {
+ font-weight: bold;
+}
+
+.rReferersList {
+ font-size:1em;
+ margin-left: 5px;
+ padding-left: 5px;
+}
+
+.rReferersListItem {
+ font-size:0.7em;
+}
Added: incubator/roller/trunk/web/themes/clean/Weblog.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/clean/Weblog.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/clean/Weblog.vm (added)
+++ incubator/roller/trunk/web/themes/clean/Weblog.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ #showContentLanguage($locale.language)
+ <link rel="stylesheet" type="text/css" href="$ctxPath/themes/base.css" />
+ <link rel="stylesheet" type="text/css" href="#showThemePath("clean")/theme.css" />
+ <style type="text/css">#includePage("_css")</style>
+ <title>#showWebsiteTitle()</title>
+</head>
+<body>
+ <table cellpadding="5" cellspacing="15" border="0" align="center" width="95%">
+ <tbody>
+ <tr>
+ <td width="5%" valign="top" bgcolor="#ffffff"> </td>
+ <td width="75%" valign="top" bgcolor="#ffffff">
+ <h2>#showWebsiteTitle()</h2>
+ <h3>#showWebsiteDescription()</h3>
+ #showWeblogCategoryChooser()<br>
+ #showNextPreviousLinks()
+ #showWeblogEntries("_day" 5)
+ </td>
+ <td valign="top" bgcolor="#ffffff" width="20%">
+ <br>#showWeblogCalendar()<br><br>
+ #showRSSBadge()<br><br><br>
+ #showBasicNavBar(true)<br>
+ #showSearchForm()<br>
+ #showBookmarks("Blogroll" true false)<br>
+ #showBookmarks("News" true false)<br>
+ #showEditorNavBar(true)<br>
+ #showReferers(30 20)
+ </td>
+ </tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
Added: incubator/roller/trunk/web/themes/clean/_css.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/clean/_css.vm?rev=189602&view=auto
==============================================================================
(empty)
Added: incubator/roller/trunk/web/themes/clean/_day.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/clean/_day.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/clean/_day.vm (added)
+++ incubator/roller/trunk/web/themes/clean/_day.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,3 @@
+<table>
<tr>
<td style="font-size:11px;">
#showDayPermalink( $day )
#showEntryDate( $day )
</td>
</tr>
+ <tr><td style="font-size:11px;">
#foreach( $entry in $entries )
<p><a name="$utilities.encode($entry.anchor)" id="$utilities.encode($entry.anchor)"></a>
<div class="belowTitle">
<div class="title">
<b>$entry.title</b>
</div>
</div>
<br>
#showEntryText($entry)
<br><br>
<small>(#showTimestamp($entry.updateTime)/#showTimestamp($entry.pubTime))</small>
#showEntryPermalink( $entry )
#showCommentsPageLink( $entry )<br>
Trackback: #showTrackbackURL( $entry )
</p>
#end
</td></tr>
+ <tr><td style="font-size:11px;">
<div class="box">
#showLinkbacks( $day )
</div>
</td></tr>
</table>
\ No newline at end of file
Added: incubator/roller/trunk/web/themes/clean/theme.css
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/themes/clean/theme.css?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/themes/clean/theme.css (added)
+++ incubator/roller/trunk/web/themes/clean/theme.css Wed Jun 8 09:06:16 2005
@@ -0,0 +1,92 @@
+body {
+ margin: 0;
+ padding: 0;
+ color: black;
+ background-color: white;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+}
+h1 {
+ color : #0000FAA;
+}
+h2 {
+ color : #0000AA;
+ font-size: 20px;
+}
+h3 {
+ color : #0000AA;
+ font-size: 11px;
+}
+td{
+ font-size: 10px;
+}
+p {
+ color : #000055;
+ font-size: 10px;
+}
+.rBookmark {
+ font-size: small;
+}
+.hCalendarMonthYearRow {
+ font-size: medium;
+ font-weight: bold;
+ color: #0000AA;
+}
+.hCalendarDayNameRow {
+ font-size: x-small;
+ font-weight: bold;
+}
+.hCalendarDay {
+ font-size: x-small;
+}
+.hCalendarDayCurrent {
+ font-size: x-small;
+ font-weight: bold;
+ border-style: dashed;
+ border-width: thin;
+ border-color: #0000AA;
+ color: #0000AA;
+}
+.hCalendarNextPrev {
+ font-size: x-small;
+ font-weight: bold;
+}
+a {
+ font-family:Verdana, Arial, Helvetica, sans-serif;
+ text-decoration: none;
+ font-size: 10px;
+ font-weight: bold;
+}
+a:hover {
+ font-family:Verdana, Arial, Helvetica, sans-serif;
+ text-decoration: none;
+ font-size: 10px;
+ font-weight: bold;
+}
+div.codeblock {
+ font-size:9px;
+ color:white;
+ border-style:solid;
+ border-width:1px;
+ border-color:black;
+ background-color:#B0B0B0;
+}
+div.title {
+ position: relative;
+ top:2px;
+ left:2px;
+ height:15px;
+ width:300px;
+ color: white;
+ background-color:#0000A0;
+ border-color:white;
+ border-style:solid;
+ border-width:1px;
+}
+div.belowTitle {
+ vertical-align:middle;
+ height:21px;
+ width:306px;
+ color: white;
+ background-color:#0000A0;
+}