[Checkins] SVN: zopeorg.theme/ Initial import of zopeorg.theme
Denis Mishunov
spliter at is.lg.ua
Thu Dec 6 11:22:45 EST 2007
Log message for revision 82164:
Initial import of zopeorg.theme
Changed:
A zopeorg.theme/
A zopeorg.theme/README.txt
A zopeorg.theme/docs/
A zopeorg.theme/docs/HISTORY.txt
A zopeorg.theme/docs/INSTALL.txt
A zopeorg.theme/docs/LICENSE.GPL
A zopeorg.theme/docs/LICENSE.txt
A zopeorg.theme/setup.py
A zopeorg.theme/zopeorg/
A zopeorg.theme/zopeorg/__init__.py
A zopeorg.theme/zopeorg/theme/
A zopeorg.theme/zopeorg/theme/__init__.py
A zopeorg.theme/zopeorg/theme/browser/
A zopeorg.theme/zopeorg/theme/browser/__init__.py
A zopeorg.theme/zopeorg/theme/browser/configure.zcml
A zopeorg.theme/zopeorg/theme/browser/interfaces.py
A zopeorg.theme/zopeorg/theme/browser/templates/
A zopeorg.theme/zopeorg/theme/browser/templates/anonymous_personal_bar.pt
A zopeorg.theme/zopeorg/theme/browser/templates/contentviews.pt
A zopeorg.theme/zopeorg/theme/browser/templates/divider.pt
A zopeorg.theme/zopeorg/theme/browser/templates/feature.pt
A zopeorg.theme/zopeorg/theme/browser/templates/searchbox.pt
A zopeorg.theme/zopeorg/theme/browser/templates/zopeorg_copyright.pt
A zopeorg.theme/zopeorg/theme/browser/templates/zopeorg_footer.pt
A zopeorg.theme/zopeorg/theme/browser/viewlets.py
A zopeorg.theme/zopeorg/theme/configure.zcml
A zopeorg.theme/zopeorg/theme/profiles/
A zopeorg.theme/zopeorg/theme/profiles/default/
A zopeorg.theme/zopeorg/theme/profiles/default/cssregistry.xml
A zopeorg.theme/zopeorg/theme/profiles/default/import_steps.xml
A zopeorg.theme/zopeorg/theme/profiles/default/jsregistry.xml
A zopeorg.theme/zopeorg/theme/profiles/default/skins.xml
A zopeorg.theme/zopeorg/theme/profiles/default/viewlets.xml
A zopeorg.theme/zopeorg/theme/profiles/default/zopeorg.theme_various.txt
A zopeorg.theme/zopeorg/theme/profiles.zcml
A zopeorg.theme/zopeorg/theme/setuphandlers.py
A zopeorg.theme/zopeorg/theme/skins/
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/dark_grey_horizontal.png
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/feature_default.png
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/feature_learn.png
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/light_grey_horizontal.png
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/logo.png
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/orange_horizontal.png
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/search_button_bg.png
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_templates/
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/IEFixes.css.dtml
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/base_properties.props
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/main.css.dtml
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/portlets.css.dtml
A zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/public.css.dtml
A zopeorg.theme/zopeorg/theme/skins.zcml
A zopeorg.theme/zopeorg/theme/tests.py
A zopeorg.theme/zopeorg/theme/version.txt
A zopeorg.theme/zopeorg.theme-configure.zcml
A zopeorg.theme/zopeorg.theme.egg-info/
A zopeorg.theme/zopeorg.theme.egg-info/PKG-INFO
A zopeorg.theme/zopeorg.theme.egg-info/SOURCES.txt
A zopeorg.theme/zopeorg.theme.egg-info/dependency_links.txt
A zopeorg.theme/zopeorg.theme.egg-info/entry_points.txt
A zopeorg.theme/zopeorg.theme.egg-info/namespace_packages.txt
A zopeorg.theme/zopeorg.theme.egg-info/not-zip-safe
A zopeorg.theme/zopeorg.theme.egg-info/paster_plugins.txt
A zopeorg.theme/zopeorg.theme.egg-info/requires.txt
A zopeorg.theme/zopeorg.theme.egg-info/top_level.txt
-=-
Added: zopeorg.theme/README.txt
===================================================================
--- zopeorg.theme/README.txt (rev 0)
+++ zopeorg.theme/README.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,7 @@
+zopeorg.theme Package Readme
+=========================
+
+Overview
+--------
+
+Plone 3.0 visual theme for zope.org project
Added: zopeorg.theme/docs/HISTORY.txt
===================================================================
--- zopeorg.theme/docs/HISTORY.txt (rev 0)
+++ zopeorg.theme/docs/HISTORY.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,9 @@
+Changelog for zopeorg.theme
+
+ (name of developer listed in brackets)
+
+zopeorg.theme - 0.1 Unreleased
+
+ - Initial package structure.
+ [zopeskel]
+
Added: zopeorg.theme/docs/INSTALL.txt
===================================================================
--- zopeorg.theme/docs/INSTALL.txt (rev 0)
+++ zopeorg.theme/docs/INSTALL.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,51 @@
+zopeorg.theme Installation
+=======================
+
+To install zopeorg.theme into the global Python environment (or a workingenv),
+using a traditional Zope 2 instance, you can do this:
+
+ * When you're reading this you have probably already run
+ ``easy_install zopeorg.theme``. Find out how to install setuptools
+ (and EasyInstall) here:
+ http://peak.telecommunity.com/DevCenter/EasyInstall
+
+ * If you are using Zope 2.9 (not 2.10), get `pythonproducts`_ and install it
+ via::
+
+ python setup.py install --home /path/to/instance
+
+ into your Zope instance.
+
+ * Create a file called ``zopeorg.theme-configure.zcml`` in the
+ ``/path/to/instance/etc/package-includes`` directory. The file
+ should only contain this::
+
+ <include package="zopeorg.theme" />
+
+.. _pythonproducts: http://plone.org/products/pythonproducts
+
+Alternatively, if you are using zc.buildout and the plone.recipe.zope2instance
+recipe to manage your project, you can do this:
+
+ * Add ``zopeorg.theme`` to the list of eggs to install, e.g.:
+
+ [buildout]
+ ...
+ eggs =
+ ...
+ zopeorg.theme
+
+ * Tell the plone.recipe.zope2instance recipe to install a ZCML slug:
+
+ [instance]
+ recipe = plone.recipe.zope2instance
+ ...
+ zcml =
+ zopeorg.theme
+
+ * Re-run buildout, e.g. with:
+
+ $ ./bin/buildout
+
+You can skip the ZCML slug if you are going to explicitly include the package
+from another package's configure.zcml file.
\ No newline at end of file
Added: zopeorg.theme/docs/LICENSE.GPL
===================================================================
--- zopeorg.theme/docs/LICENSE.GPL (rev 0)
+++ zopeorg.theme/docs/LICENSE.GPL 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,222 @@
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
Added: zopeorg.theme/docs/LICENSE.txt
===================================================================
--- zopeorg.theme/docs/LICENSE.txt (rev 0)
+++ zopeorg.theme/docs/LICENSE.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,16 @@
+ zopeorg.theme is copyright Denis Mishunov
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ MA 02111-1307 USA.
Added: zopeorg.theme/setup.py
===================================================================
--- zopeorg.theme/setup.py (rev 0)
+++ zopeorg.theme/setup.py 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,34 @@
+from setuptools import setup, find_packages
+
+version = '0.1'
+
+setup(name='zopeorg.theme',
+ version=version,
+ description="Plone 3.0 visual theme for zope.org project",
+ long_description="""\
+""",
+ # Get more strings from http://www.python.org/pypi?%3Aaction=list_classifiers
+ classifiers=[
+ "Framework :: Plone",
+ "Framework :: Zope2",
+ "Framework :: Zope3",
+ "Programming Language :: Python",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+ ],
+ keywords='zope plone theme',
+ author='Denis Mishunov',
+ author_email='denis at webcouturier.com',
+ url='http://zope.org',
+ license='GPL',
+ packages=find_packages(exclude=['ez_setup']),
+ namespace_packages=['zopeorg'],
+ include_package_data=True,
+ zip_safe=False,
+ install_requires=[
+ 'setuptools',
+ # -*- Extra requirements: -*-
+ ],
+ entry_points="""
+ # -*- Entry points: -*-
+ """,
+ )
Added: zopeorg.theme/zopeorg/__init__.py
===================================================================
--- zopeorg.theme/zopeorg/__init__.py (rev 0)
+++ zopeorg.theme/zopeorg/__init__.py 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: zopeorg.theme/zopeorg/theme/__init__.py
===================================================================
--- zopeorg.theme/zopeorg/theme/__init__.py (rev 0)
+++ zopeorg.theme/zopeorg/theme/__init__.py 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,2 @@
+def initialize(context):
+ """Intializer called when used as a Zope 2 product."""
Added: zopeorg.theme/zopeorg/theme/browser/__init__.py
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/__init__.py (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/__init__.py 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+#
Added: zopeorg.theme/zopeorg/theme/browser/configure.zcml
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/configure.zcml (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/configure.zcml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,103 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:browser="http://namespaces.zope.org/browser"
+ i18n_domain="zopeorg.theme">
+
+ <!-- 'Zope.org Theme' Zope 3 skin layer -->
+ <interface
+ interface=".interfaces.IThemeSpecific"
+ type="zope.publisher.interfaces.browser.IBrowserSkinType"
+ name="Zope.org Theme"
+ />
+
+ <browser:viewletManager
+ name="zopeorg.portalfooter"
+ provides=".interfaces.IZopeorgPortalFooter"
+ permission="zope2.View"
+ class="plone.app.viewletmanager.manager.OrderedViewletManager"
+ layer=".interfaces.IThemeSpecific"
+ />
+
+ <!-- Feature viewlet -->
+ <browser:viewlet
+ name="zopeorg.feature"
+ manager="plone.app.layout.viewlets.interfaces.IPortalTop"
+ class=".viewlets.FeatureViewlet"
+ layer=".interfaces.IThemeSpecific"
+ permission="zope2.View"
+ />
+
+ <!-- The customized search box -->
+ <browser:viewlet
+ name="zopeorg.searchbox"
+ manager="plone.app.layout.viewlets.interfaces.IPortalHeader"
+ class=".viewlets.ZopeorgSearchBoxViewlet"
+ layer=".interfaces.IThemeSpecific"
+ permission="zope2.View"
+ />
+
+ <!-- The anonymous personal bar -->
+ <browser:viewlet
+ name="zopeorg.anon.personal_bar"
+ manager="plone.app.layout.viewlets.interfaces.IPortalHeader"
+ class=".viewlets.ZopeorgPersonalBarViewlet"
+ layer=".interfaces.IThemeSpecific"
+ permission="zope2.View"
+ />
+
+ <!-- The logged in personal bar -->
+ <browser:viewlet
+ name="plone.personal_bar"
+ manager="plone.app.layout.viewlets.interfaces.IPortalTop"
+ class="plone.app.layout.viewlets.common.PersonalBarViewlet"
+ layer=".interfaces.IThemeSpecific"
+ permission="cmf.ListPortalMembers"
+ />
+
+ <!-- The anonymous personal bar -->
+ <browser:viewlet
+ name="zopeorg.header.divider"
+ manager="plone.app.layout.viewlets.interfaces.IPortalTop"
+ class=".viewlets.ZopeorgHeaderDividerViewlet"
+ layer=".interfaces.IThemeSpecific"
+ permission="zope2.View"
+ />
+
+ <!-- Content views (tabs) -->
+ <browser:viewlet
+ name="plone.contentviews"
+ manager="plone.app.layout.viewlets.interfaces.IPortalTop"
+ template="templates/contentviews.pt"
+ layer=".interfaces.IThemeSpecific"
+ permission="zope2.View"
+ />
+
+ <!-- The zoperog footer -->
+ <browser:viewlet
+ name="zopeorg.footer"
+ manager="plone.app.layout.viewlets.interfaces.IPortalFooter"
+ template="templates/zopeorg_footer.pt"
+ layer=".interfaces.IThemeSpecific"
+ permission="zope2.View"
+ />
+
+ <!-- The site actions -->
+ <browser:viewlet
+ name="plone.site_actions"
+ manager=".interfaces.IZopeorgPortalFooter"
+ class="plone.app.layout.viewlets.common.SiteActionsViewlet"
+ layer=".interfaces.IThemeSpecific"
+ permission="zope2.View"
+ />
+
+ <!-- The copyright viewlet -->
+ <browser:viewlet
+ name="zopeorg.copyright"
+ manager=".interfaces.IZopeorgPortalFooter"
+ template="templates/zopeorg_copyright.pt"
+ layer=".interfaces.IThemeSpecific"
+ permission="zope2.View"
+ />
+
+
+</configure>
Added: zopeorg.theme/zopeorg/theme/browser/interfaces.py
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/interfaces.py (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/interfaces.py 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,12 @@
+from zope.viewlet.interfaces import IViewletManager
+
+from plone.theme.interfaces import IDefaultPloneLayer
+
+class IThemeSpecific(IDefaultPloneLayer):
+ """Marker interface that defines a Zope 3 skin layer.
+ """
+
+class IZopeorgPortalFooter(IViewletManager):
+ """A viewlet manager that sits in the portal footer
+ of zope.org site. Contains siteactions and copyright
+ """
Added: zopeorg.theme/zopeorg/theme/browser/templates/anonymous_personal_bar.pt
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/templates/anonymous_personal_bar.pt (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/templates/anonymous_personal_bar.pt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,25 @@
+<div id="portal-personaltools-wrapper"
+ i18n:domain="plone"
+ tal:condition="view/anonymous">
+
+<h5 class="hiddenStructure" i18n:translate="heading_personal_tools">Personal tools</h5>
+
+<ul id="portal-personaltools"
+ class="visualInline">
+
+ <tal:actions tal:repeat="action view/user_actions">
+ <li tal:define="icon python:view.getIconFor(action['category'], action['id'], None);
+ class_name string:visualIcon actionicon-${action/category}-${action/id};
+ class_name python:icon is not None and class_name or nothing;"
+ tal:attributes="class class_name">
+ <a href=""
+ tal:attributes="href action/url;
+ class python:icon is not None and 'visualIconPadding' or nothing;"
+ ><tal:actionname i18n:translate=""
+ tal:content="action/title">dummy</tal:actionname
+ ></a>
+ </li>
+ </tal:actions>
+
+</ul>
+</div>
Added: zopeorg.theme/zopeorg/theme/browser/templates/contentviews.pt
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/templates/contentviews.pt (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/templates/contentviews.pt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,32 @@
+<div i18n:domain="plone"
+ tal:omit-tag=""
+ tal:define="ploneview context/@@plone;"
+ tal:condition="ploneview/showEditableBorder">
+
+ <tal:block define="view_actions ploneview/prepareObjectTabs;">
+
+ <h5 class="hiddenStructure"
+ tal:condition="view_actions"
+ i18n:translate="heading_views">Views</h5>
+
+ <ul class="contentViews"
+ i18n:domain="plone">
+
+ <tal:views repeat="action view_actions">
+ <li tal:define="selected action/selected|nothing;"
+ tal:attributes="id string:contentview-${action/id};
+ class python:selected and 'selected' or 'plain'">
+ <a href=""
+ tal:content="action/title"
+ tal:attributes="href action/url;"
+ i18n:translate="">
+ View name
+ </a>
+ </li>
+ </tal:views>
+
+ </ul>
+
+ </tal:block>
+
+</div>
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/browser/templates/divider.pt
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/templates/divider.pt (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/templates/divider.pt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,6 @@
+<div id="portal-header-divider">
+ <p>
+ <a href="#" title="">We should decide what links to put to this
+ divider viewlet.</a>
+ </p>
+</div>
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/browser/templates/feature.pt
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/templates/feature.pt (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/templates/feature.pt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,10 @@
+<div id="portal-feature"
+ i18n:domain="zopeorg.theme">
+ <p>
+ Zope is an open source framework for building web applications. That
+ applications commonly use the <a href="http://python.org"
+ title="Visit main Python web site">Python</a> programming
+ language.<br /> Built over a decade, Zope is leading in flexibility,
+ scalability and reusability.
+ </p>
+</div>
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/browser/templates/searchbox.pt
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/templates/searchbox.pt (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/templates/searchbox.pt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,44 @@
+<div id="portal-searchbox"
+ i18n:domain="plone">
+ <form name="searchform"
+ action="search"
+ tal:attributes="action string:${view/portal_url}/search">
+
+ <label for="searchGadget" class="hiddenStructure"
+ i18n:translate="text_search">Search Site</label>
+
+ <div class="LSBox">
+ <input name="SearchableText"
+ type="text"
+ size="18"
+ value=""
+ title="Search Site"
+ accesskey="4"
+ i18n:attributes="title title_search_site;"
+ tal:attributes="value request/SearchableText|nothing;
+ id view/search_input_id"
+ class="inputLabel" /><button class="searchButton"
+ type="submit"><span
+ i18n:translate="label_search">Search</span></button>
+
+
+ <!-- <input class="searchButton"
+ type="submit"
+ value="Search"
+ i18n:attributes="value label_search;" /> -->
+
+ <div class="LSResult" id="LSResult" style=""><div class="LSShadow" id="LSShadow"></div></div>
+ </div>
+ </form>
+
+ <div id="portal-advanced-search"
+ class="hiddenStructure">
+ <a href="#"
+ tal:attributes="href string:${view/portal_url}/search_form"
+ i18n:translate="label_advanced_search"
+ accesskey="5">
+ Advanced Search…
+ </a>
+ </div>
+
+</div>
Added: zopeorg.theme/zopeorg/theme/browser/templates/zopeorg_copyright.pt
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/templates/zopeorg_copyright.pt (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/templates/zopeorg_copyright.pt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,12 @@
+<div id="zopeorg-copyright"
+ i18n:domain="zopeorg.theme"
+ i18n:translate="text_zopeorg_copyright">
+ <acronym title="Copyright" i18n:name="copyright" i18n:attributes="title title_copyright;">©</acronym>
+ 1992-<span i18n:name="current_year"
+ tal:omit-tag=""
+ tal:define="now modules/DateTime/DateTime"
+ tal:content="now/year" />
+ by the
+ <span i18n:name="zopefoundation" tal:omit-tag="">
+ <a href="http://foundation.zope.org/" i18n:translate="label_plone_foundation">Zope Foundation</a></span>
+</div>
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/browser/templates/zopeorg_footer.pt
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/templates/zopeorg_footer.pt (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/templates/zopeorg_footer.pt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,3 @@
+<div id="zopeorg-footer">
+ <div tal:replace="structure provider:zopeorg.portalfooter" />
+</div>
Added: zopeorg.theme/zopeorg/theme/browser/viewlets.py
===================================================================
--- zopeorg.theme/zopeorg/theme/browser/viewlets.py (rev 0)
+++ zopeorg.theme/zopeorg/theme/browser/viewlets.py 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,30 @@
+from zope.component import getMultiAdapter
+
+from Products.CMFCore.utils import getToolByName
+from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
+
+from plone.app.layout.viewlets.common import ViewletBase, SearchBoxViewlet, PersonalBarViewlet
+
+class FeatureViewlet(ViewletBase):
+ render = ViewPageTemplateFile('templates/feature.pt')
+
+ # def update(self):
+ # self.portal_state = getMultiAdapter((self.context, self.request),
+ # name=u'plone_portal_state')
+ # self.portal_url = self.portal_state.portal_url()
+ # url_tool = getToolByName(self.context, 'portal_url')
+ # contentPath = url_tool.getRelativeContentPath(self.context)
+ #
+ # if contentPath:
+ # self.section = 'default'
+ # else:
+ # self.section = contentPath[0]
+
+class ZopeorgSearchBoxViewlet(SearchBoxViewlet):
+ render = ViewPageTemplateFile('templates/searchbox.pt')
+
+class ZopeorgPersonalBarViewlet(PersonalBarViewlet):
+ render = ViewPageTemplateFile('templates/anonymous_personal_bar.pt')
+
+class ZopeorgHeaderDividerViewlet(ViewletBase):
+ render = ViewPageTemplateFile('templates/divider.pt')
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/configure.zcml
===================================================================
--- zopeorg.theme/zopeorg/theme/configure.zcml (rev 0)
+++ zopeorg.theme/zopeorg/theme/configure.zcml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,14 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:five="http://namespaces.zope.org/five"
+ xmlns:cmf="http://namespaces.zope.org/cmf"
+ i18n_domain="zopeorg.theme">
+
+ <five:registerPackage package="." initialize=".initialize" />
+
+ <include package=".browser" />
+
+ <include file="skins.zcml" />
+ <include file="profiles.zcml" />
+
+</configure>
Added: zopeorg.theme/zopeorg/theme/profiles/default/cssregistry.xml
===================================================================
--- zopeorg.theme/zopeorg/theme/profiles/default/cssregistry.xml (rev 0)
+++ zopeorg.theme/zopeorg/theme/profiles/default/cssregistry.xml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<object name="portal_css">
+
+ <stylesheet title=""
+ id="main.css"
+ media="screen" rel="stylesheet" rendering="import"
+ cacheable="True" compression="safe" cookable="True"
+ enabled="1" expression=""/>
+
+</object>
Added: zopeorg.theme/zopeorg/theme/profiles/default/import_steps.xml
===================================================================
--- zopeorg.theme/zopeorg/theme/profiles/default/import_steps.xml (rev 0)
+++ zopeorg.theme/zopeorg/theme/profiles/default/import_steps.xml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<import-steps>
+ <import-step id="zopeorg.theme.various"
+ version="20071121-01"
+ handler="zopeorg.theme.setuphandlers.setupVarious"
+ title="Zope.org Theme: miscellaneous import steps">
+ <dependency step="skins" />
+ Various import steps that are not handled by GS import/export
+ handlers.
+ </import-step>
+</import-steps>
Added: zopeorg.theme/zopeorg/theme/profiles/default/jsregistry.xml
===================================================================
--- zopeorg.theme/zopeorg/theme/profiles/default/jsregistry.xml (rev 0)
+++ zopeorg.theme/zopeorg/theme/profiles/default/jsregistry.xml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<object name="portal_javascripts">
+
+</object>
Added: zopeorg.theme/zopeorg/theme/profiles/default/skins.xml
===================================================================
--- zopeorg.theme/zopeorg/theme/profiles/default/skins.xml (rev 0)
+++ zopeorg.theme/zopeorg/theme/profiles/default/skins.xml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<object name="portal_skins" allow_any="False" cookie_persistence="False"
+ default_skin="Zope.org Theme">
+
+ <object name="zopeorg_theme_custom_images"
+ meta_type="Filesystem Directory View"
+ directory="zopeorg.theme:skins/zopeorg_theme_custom_images"/>
+ <object name="zopeorg_theme_custom_templates"
+ meta_type="Filesystem Directory View"
+ directory="zopeorg.theme:skins/zopeorg_theme_custom_templates"/>
+ <object name="zopeorg_theme_styles"
+ meta_type="Filesystem Directory View"
+ directory="zopeorg.theme:skins/zopeorg_theme_styles"/>
+
+ <skin-path name="Zope.org Theme" based-on="Plone Default">
+ <layer name="zopeorg_theme_custom_images"
+ insert-after="custom"/>
+ <layer name="zopeorg_theme_custom_templates"
+ insert-after="zopeorg_theme_custom_images"/>
+ <layer name="zopeorg_theme_styles"
+ insert-after="zopeorg_theme_custom_templates"/>
+ </skin-path>
+
+</object>
Added: zopeorg.theme/zopeorg/theme/profiles/default/viewlets.xml
===================================================================
--- zopeorg.theme/zopeorg/theme/profiles/default/viewlets.xml (rev 0)
+++ zopeorg.theme/zopeorg/theme/profiles/default/viewlets.xml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<object>
+ <order manager="plone.portaltop" skinname="Zope.org Theme"
+ based-on="Plone Default">
+ <viewlet name="zopeorg.feature"
+ insert-after="plone.app.i18n.locales.languageselector" />
+ <viewlet name="zopeorg.header.divider"
+ insert-after="zopeorg.feature" />
+ <viewlet name="plone.contentviews"
+ insert-after="*" />
+ </order>
+ <order manager="plone.portalheader" skinname="Zope.org Theme"
+ based-on="Plone Default">
+ <viewlet name="zopeorg.searchbox"
+ insert-after="plone.searchbox" />
+ <viewlet name="zopeorg.anon.personal_bar"
+ insert-before="plone.searchbox" />
+ </order>
+ <order manager="plone.portalfooter" skinname="Zope.org Theme"
+ based-on="Plone Default">
+ <viewlet name="zopeorg.footer"
+ insert-before="*" />
+ </order>
+ <order manager="zopeorg.portalfooter" skinname="Zope.org Theme"
+ based-on="Plone Default">
+ <viewlet name="plone.site_actions"
+ insert-before="*" />
+ <viewlet name="zopeorg.copyright"
+ insert-after="plone.site_actions" />
+ </order>
+
+ <hidden manager="plone.portaltop" skinname="Zope.org Theme">
+ <viewlet name="plone.path_bar" />
+ </hidden>
+ <hidden manager="plone.contentviews" skinname="Zope.org Theme">
+ <viewlet name="plone.contentviews" />
+ </hidden>
+ <hidden manager="plone.portalheader" skinname="Zope.org Theme">
+ <viewlet name="plone.site_actions" />
+ <viewlet name="plone.siteactions" />
+ <viewlet name="plone.searchbox" />
+ </hidden>
+ <hidden manager="plone.portalfooter" skinname="Zope.org Theme">
+ <viewlet name="plone.colophon" />
+ <viewlet name="plone.footer" />
+ </hidden>
+
+</object>
Added: zopeorg.theme/zopeorg/theme/profiles/default/zopeorg.theme_various.txt
===================================================================
--- zopeorg.theme/zopeorg/theme/profiles/default/zopeorg.theme_various.txt (rev 0)
+++ zopeorg.theme/zopeorg/theme/profiles/default/zopeorg.theme_various.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+This file is used as a marker in setuphandlers.py.
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/profiles.zcml
===================================================================
--- zopeorg.theme/zopeorg/theme/profiles.zcml (rev 0)
+++ zopeorg.theme/zopeorg/theme/profiles.zcml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,14 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
+ i18n_domain="zopeorg.theme">
+
+ <genericsetup:registerProfile
+ name="default"
+ title="Zope.org Theme"
+ directory="profiles/default"
+ description='Extension profile for the "Zope.org Theme" Plone theme.'
+ provides="Products.GenericSetup.interfaces.EXTENSION"
+ />
+
+</configure>
Added: zopeorg.theme/zopeorg/theme/setuphandlers.py
===================================================================
--- zopeorg.theme/zopeorg/theme/setuphandlers.py (rev 0)
+++ zopeorg.theme/zopeorg/theme/setuphandlers.py 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,11 @@
+def setupVarious(context):
+
+ # Ordinarily, GenericSetup handlers check for the existence of XML files.
+ # Here, we are not parsing an XML file, but we use this text file as a
+ # flag to check that we actually meant for this import step to be run.
+ # The file is found in profiles/default.
+
+ if context.readDataFile('zopeorg.theme_various.txt') is None:
+ return
+
+ # Add additional setup code here
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/dark_grey_horizontal.png
===================================================================
(Binary files differ)
Property changes on: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/dark_grey_horizontal.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/feature_default.png
===================================================================
(Binary files differ)
Property changes on: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/feature_default.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/feature_learn.png
===================================================================
(Binary files differ)
Property changes on: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/feature_learn.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/light_grey_horizontal.png
===================================================================
(Binary files differ)
Property changes on: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/light_grey_horizontal.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/logo.png
===================================================================
(Binary files differ)
Property changes on: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/logo.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/orange_horizontal.png
===================================================================
(Binary files differ)
Property changes on: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/orange_horizontal.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/search_button_bg.png
===================================================================
(Binary files differ)
Property changes on: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_custom_images/search_button_bg.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/IEFixes.css.dtml
===================================================================
--- zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/IEFixes.css.dtml (rev 0)
+++ zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/IEFixes.css.dtml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,175 @@
+/*
+** Stylesheet with Internet Explorer-specific workarounds.
+*/
+
+/* <dtml-with base_properties> */
+
+* html #portal-columns {
+ width: 100%;
+}
+* html*#portal-columns {
+ width: auto;
+}
+input {
+ margin-bottom: 1px; /* bug fix */
+}
+table.listing td.top {
+ /* insane IE row bug workaround */
+ position: relative;
+ left: -1px;
+ top: -1px;
+}
+div#portal-columns div#portal-column-one,
+div#portal-columns div#portal-column-two {
+ overflow: hidden;
+}
+textarea {
+ width: 97%;
+}
+.visualOverflow {
+ width: 88%;
+}
+.visualGhosted {
+ filter:alpha(opacity=20);
+}
+
+/* make spans within ABBR have a border in IE6 the same way it is in all other browsers */
+* html abbr .explain {
+ border-bottom: &dtml-borderWidth; dotted &dtml-fontColor;;
+}
+
+/* Fix bottom margin on tabs in IE */
+#portal-globalnav li.selected a {
+position: relative;
+}
+#portal-colophon .colophonIcon {
+ height: 0px !important;
+ height /**/: 15px;
+}
+.actionMenu .actionMenuHeader a {
+ display: inline;
+}
+.actionMenu .actionMenuContent {
+ top: 1.4em;
+}
+
+/* Calendar fixes */
+.ploneCalendar {
+ border-collapse:collapse;
+ width:auto;
+ height:1%;
+}
+.ploneCalendar td {
+ width:1%;
+}
+.ploneCalendar .todaynoevent,
+.ploneCalendar .todayevent {
+ position: relative;
+}
+.hiddenStructure { /* This is necessary to eliminate the 1px high object in
+ the document flow in place of .hiddenStructure block objects */
+ position: absolute;
+}
+
+/* These work in IE only, changes the look of the scrollbar + textareas
+ We disabled these in Plone 3.0, but if you want them back, uncomment
+*/
+/*
+body {
+ scrollbar-base-color: &dtml-globalBackgroundColor;;
+ scrollbar-highlight-color: &dtml-globalBackgroundColor;;
+ scrollbar-track-color: &dtml-evenRowBackgroundColor;;
+ scrollbar-darkshadow-color: &dtml-evenRowBackgroundColor;;
+ scrollbar-3dlight-color: &dtml-globalBorderColor;;
+ scrollbar-shadow-color: &dtml-globalBorderColor;;
+ scrollbar-arrow-color: &dtml-globalFontColor;;
+}
+*/
+
+/* Holly hack to kill the Peekaboo bug in IE - details at
+ http://www.positioniseverything.net/explorer/peekaboo.html
+ "* html" syntax is added to hide it from IE5/Mac. ~limi
+ */
+
+#floatholder, #float {
+ height: 1%;
+}
+
+* html .link-external,
+* html .link-external a,
+* html .link-mailto a,
+* html .link-mailto {
+ height: 1%;
+}
+
+/* Fix for IE float bug */
+* html .visualIEFloatFix,
+* html h1,
+* html h2,
+* html h3,
+* html h4,
+* html h5,
+* html h6,
+* html dd,
+* html .documentDescription,
+* html .visualClear,
+* html .portalMessage,
+* html .portalWarningMessage,
+* html .portalStopMessage,
+* html .system-message,
+* html #error-handling,
+* html .documentContent {
+ height: 0.1%;
+}
+
+/* Fix for IE float bug - have to use the Limi Hack here, since the paragraph
+ tag doesn't take nicely to the height hack above in IE. */
+* html p {
+ position: relative;
+}
+* html h1.documentFirstHeading {
+ height: auto;
+}
+
+/* There appears to be a bug in some IE 6 versions that causes dashed borders
+ to get positioned strangely (i.e. out of the portlet in this case), and
+ to move about when scrolling. May be related to:
+ http://mtiki.mmf.at/mt/archives/000011.html */
+dd.portletFooter {
+ border-top-style: solid;
+}
+
+/* Rounded corner workarounds for IE */
+* html .portletHeader {
+ height: 1%;
+}
+.portletTopRight,
+.portletTopLeft {
+ top: 0px;
+}
+.portletTopRight,
+.portletTopLeft,
+.portletBottomRight,
+.portletBottomLeft {
+ font-size: 1px;
+}
+
+/* fix for the horizontal scroll due to the floated searchbox without width definition */
+#portal-searchbox {
+ overflow: auto;
+}
+body.fullscreen #portal-searchbox {
+ overflow: visible;
+}
+
+
+/* IE doesn't know what to do with the caption element, hide it */
+table.ploneCalendar caption {
+ display: none !important;
+}
+
+#searchGadget {
+ height: 21px;
+}
+
+/* </dtml-with> */
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/base_properties.props
===================================================================
--- zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/base_properties.props (rev 0)
+++ zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/base_properties.props 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,54 @@
+title:string=Zope.org Theme's color, font, logo and border defaults
+
+plone_skin:string=Zope.org Theme
+
+logoName:string=logo.png
+
+fontFamily:string="Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif
+fontBaseSize:string=75%
+fontColor:string=#3c3c3c
+fontSmallSize:string=90%
+
+backgroundColor:string=White
+
+linkColor:string=#58cd00
+linkActiveColor:string=#ea6135
+linkVisitedColor:string=#58cd00
+
+borderWidth:string=1px
+borderStyle:string=solid
+borderStyleAnnotations:string=dashed
+
+globalBorderColor:string=#d6d6d6
+globalBackgroundColor:string=#f8f8f8
+globalFontColor:string=#3c3c3c
+
+headingFontFamily:string="Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif
+
+contentViewBorderColor:string=#d6d6d6
+contentViewBackgroundColor:string=#f8f8f8
+contentViewFontColor:string=#3c3c3c
+
+inputFontColor:string=#3c3c3c
+
+textTransform:string=normal
+
+evenRowBackgroundColor:string=#f8f8f8
+oddRowBackgroundColor:string=transparent
+
+notifyBorderColor:string=#ffa500
+notifyBackgroundColor:string=#ffce7b
+
+discreetColor:string=#76797c
+helpBackgroundColor:string=#ffffe1
+
+portalMinWidth:string=70em
+columnOneWidth:string=16em
+columnTwoWidth:string=32em
+
+orangeLinkColor:string=#ff4300
+orangeBackgroundColor:string=#f73f1d
+orangeBorderColor:string=#f85b30
+orangeLightBorderColor:string=#ffcdc8
+
+greenColor:string=#9dc445
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/main.css.dtml
===================================================================
--- zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/main.css.dtml (rev 0)
+++ zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/main.css.dtml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,124 @@
+/*
+ This file is based on the ploneCustom.css.dtml file shipped with Plone.
+
+ <dtml-with base_properties> (do not remove this)
+ <dtml-call "REQUEST.set('portal_url', portal_url())"> (not this either)
+*/
+
+/*
+** CUSTOM STYLES FOR ZOPEORG.THEME
+*/
+
+h1, h2 {
+ font-size: 120%;
+}
+#content a:hover {
+/* color:&dtml-orangeLinkColor;;*/
+ color: #3b80c1;
+}
+#searchGadget {
+/* min-height: 21px;*/
+}
+
+#searchGadget[class] {
+ padding:2px 0; /* Firefox */
+ line-height:15px; /* Safari */
+}
+
+#portal-header {
+ background:&dtml-globalBackgroundColor;;
+ border-bottom:1px solid &dtml-globalBorderColor;;
+}
+
+button.searchButton {
+ background: transparent url('&dtml-portal_url;/search_button_bg.png') 50% 50% no-repeat;
+ width: 30px;
+ height: 21px;
+ margin-left: 3px;
+}
+button.searchButton span {
+ display: none;
+}
+#portal-feature {
+ font-size: 1.5em;
+ background: #fff url("&dtml-portal_url;/feature_default.png") 0% 50% no-repeat;
+ padding: 35px 2em 35px 325px;
+ min-height: 157px;
+}
+
+/* sections features styles */
+body.section-learn #portal-feature {
+ background-image:url("&dtml-portal_url;/feature_learn.png");
+}
+
+#portal-header-divider {
+ background: &dtml-globalBackgroundColor;;
+ border: 1px solid &dtml-globalBorderColor;;
+ border-style: solid none;
+ text-align: center;
+}
+#portal-header-divider p {
+ border-top: 5px solid #ededed;
+ margin: 0;
+ padding: 0.2em 2em 0.5em;
+}
+#portal-column-content {
+ padding: 0;
+}
+.contentViews {
+ background: &dtml-contentViewBackgroundColor; url('&dtml-portal_url;/light_grey_horizontal.png') bottom left repeat-x;
+ margin-top:-1px;
+ line-height:1.8em;
+}
+.contentViews li a {
+ padding: 0.3em 1em;
+ color: &dtml-linkColor;;
+ text-decoration: underline;
+}
+.contentViews .selected a {
+ background-color: #fff;
+ border-bottom-color: #fff;
+ text-decoration: none;
+}
+.contentViews a:hover {
+ text-decoration:none;
+}
+.contentActions {
+ background-color: #fff;
+}
+.actionMenu .actionMenuContent li a:hover {
+ color: &dtml-contentViewFontColor;;
+}
+.documentEditable .documentContent {
+ padding: 1em 1em 2em;
+}
+
+.state-private {
+ color: &dtml-orangeLinkColor; !important;
+}
+
+li.formTab a.selected {
+ color: &dtml-orangeLinkColor;;
+}
+
+/* footer styles */
+#zopeorg-footer {
+ text-align:center;
+ margin: 2em 0;
+ font-size: 0.95em;
+}
+#zopeorg-footer #portal-siteactions,
+#zopeorg-footer #zopeorg-copyright {
+ display:inline;
+}
+#zopeorg-footer a {
+ text-decoration: none;
+ color: &dtml-fontColor;;
+}
+
+
+/* </dtml-with> */
+
+/* Latest version of the documentation on pre-defined properties from Plone
+ can be found in CMFPlone/skins/plone_styles/ploneCustom.css.dtml */
+
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/portlets.css.dtml
===================================================================
--- zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/portlets.css.dtml (rev 0)
+++ zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/portlets.css.dtml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,184 @@
+/*
+ This file is based on the ploneCustom.css.dtml file shipped with Plone.
+
+ <dtml-with base_properties> (do not remove this)
+ <dtml-call "REQUEST.set('portal_url', portal_url())"> (not this either)
+*/
+
+/* Fallback for edit screen if both columns are hidden */
+.managePortletsFallback {
+ margin: 0 0 0 1em;
+}
+
+/* Main portlet elements */
+.portlet {
+ margin: 1px 0 1em 0;
+ border-bottom: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ background-color: &dtml-backgroundColor;;
+}
+.portlet a.tile {
+ display: block;
+ color:&dtml-fontColor;;
+}
+
+.portletItem a:visited,
+.portletFooter a:visited {
+ color:&dtml-fontColor;;
+}
+
+.portletHeader {
+ background: &dtml-globalFontColor; url("&dtml-portal_url;/dark_grey_horizontal.png") bottom left repeat-x;
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ border-style: solid none;
+ padding: 0em 1em;
+ text-transform: &dtml-textTransform;;
+ line-height: 2.2em;
+ color: #fff;
+ text-align: center;
+}
+.portlet.notify .portletHeader {
+ text-align: left;
+}
+.portletHeader a {
+ color: #fff !important;
+ text-decoration: none;
+}
+.portletItem {
+ margin: 0;
+ padding: 1em;
+ border-left: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ border-right: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+}
+.portletItem ol {
+ margin: 0 0 0 1em;
+}
+.portletItemDetails {
+ text-align: right;
+ display: block;
+ color: &dtml-fontColor;;
+}
+.portletFooter {
+ background-color: &dtml-evenRowBackgroundColor;;
+ margin: 0;
+ padding: 0.25em 1em;
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ border-style: dotted &dtml-borderStyle; none &dtml-borderStyle;;
+ text-align: right;
+}
+
+/*
+** Calendar elements - used in the calendar rendering
+*/
+.dayPopup {
+ background-color: &dtml-helpBackgroundColor;;
+ border: &dtml-borderWidth; &dtml-borderStyle; Black;
+ padding: 0.2em;
+ position: absolute;
+ visibility: hidden;
+ width: 12em;
+ z-index: 2;
+}
+.date {
+ font-weight: bold;
+}
+.portletCalendar {
+ width: 100%;
+ margin: 1px 0 1em 0;
+ width: 100%;
+}
+.portletCalendar dd {
+ margin: 0;
+ padding: 0;
+}
+.portletCalendar a {
+ text-decoration: none;
+}
+.portletCalendar a:hover {
+ text-decoration: none;
+}
+.ploneCalendar {
+ border-collapse: collapse;
+ border-spacing:0;
+ width: 100%;
+}
+.ploneCalendar td {
+ background-color: transparent;
+ width: 14%;
+ text-align: center;
+ padding: 2px;
+}
+.ploneCalendar .weekdays th {
+ background-color: &dtml-globalBackgroundColor;;
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ border-style: &dtml-borderStyle; none;
+ text-align: center;
+ padding: 2px;
+ font-weight: normal;
+}
+.ploneCalendar .event {
+ background-color: &dtml-globalBackgroundColor;;
+ font-weight: bold;
+}
+.ploneCalendar .todayevent {
+ background-color: &dtml-globalBackgroundColor;;
+ border: 2px &dtml-borderStyle; &dtml-notifyBorderColor;;
+ font-weight: bold;
+}
+.ploneCalendar .todaynoevent {
+ border-collapse: collapse;
+ border: 2px &dtml-borderStyle; &dtml-notifyBorderColor;;
+}
+
+.managePortletsLink {
+ text-align: center;
+}
+
+div.portlets-manager div.section {
+ padding-top: 1em !important;
+}
+
+div.managedPortlet {
+ padding-top:0.5em;
+ padding-bottom:0.5em;
+}
+
+.managedPortlet .portletHeader {
+ min-height: 3em !important;
+}
+
+.managedPortlet a {
+ text-decoration: underline;
+}
+
+.managedPortletActions {
+ display:block;
+ float:right;
+}
+
+.managedPortletActions a {
+ text-decoration: none;
+}
+
+.managedPortletActions a.up,
+.managedPortletActions a.down {
+ color:blue !important;
+}
+
+.managedPortletActions a.delete {
+ color:red !important;
+}
+
+/* Table of Contents styling - essentially a portlet with smaller fonts and aligned right + limited in width */
+.toc {
+ float: right;
+ width: 30%;
+ font-size: 90%;
+ margin: 0 0 0.5em 0.5em;
+}
+
+
+/* </dtml-with> */
+
+/* Latest version of the documentation on pre-defined properties from Plone
+ can be found in CMFPlone/skins/plone_styles/ploneCustom.css.dtml */
+
Added: zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/public.css.dtml
===================================================================
--- zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/public.css.dtml (rev 0)
+++ zopeorg.theme/zopeorg/theme/skins/zopeorg_theme_styles/public.css.dtml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,976 @@
+/*
+ This file is based on the ploneCustom.css.dtml file shipped with Plone.
+
+ <dtml-with base_properties> (do not remove this)
+ <dtml-call "REQUEST.set('portal_url', portal_url())"> (not this either)
+*/
+
+/* Accessibility elements, applied by JS */
+body.largeText { font-size: 95%; }
+body.smallText { font-size: 60%; }
+
+/* Padding for the columns */
+
+#portal-column-one .visualPadding {
+ padding: 2.7em;
+}
+#portal-column-two .visualPadding {
+ padding: 2.7em;
+}
+
+/* Content area */
+h1, h2 {
+ font-weight: bold;
+}
+/* Compensate for the inline editing hover, since we have a 1px border */
+body.kssActive h2.inlineEditable:hover,
+body.kssActive h1.inlineEditable:hover {
+ padding-bottom: 1px;
+}
+
+.documentFirstHeading {
+ margin-top: 0;
+}
+
+.documentContent {
+ font-size: 110%;
+ padding: 2.7em 1em;
+}
+.documentContent ul {
+ list-style-image: url(&dtml-portal_url;/bullet.gif);
+ list-style-type: square;
+ margin: 0.5em 0 0 1.5em;
+}
+.documentContent ol {
+ margin: 0.5em 0 0 2.5em;
+}
+
+#visual-portal-wrapper {
+ margin: 0;
+ padding: 0;
+}
+
+/* Logo properties */
+#portal-logo img {
+ border: 0;
+ padding: 0;
+ margin: 0.5em 0em 0.5em 36px;
+ float: left;
+}
+
+#portal-top {
+ /* Top section */
+ margin: 0;
+ padding: 0;
+ background-color: transparent;
+}
+
+/* Site-wide action menu - font size, contact, index, sitemap etc */
+#portal-siteactions {
+ background-color: transparent;
+ white-space: nowrap;
+ list-style-image: none;
+ list-style-type: none;
+ margin: 2em 0;
+ height: auto;
+ line-height: normal;
+ padding: 3px 0;
+}
+#portal-siteactions li {
+ display: inline;
+}
+#portal-siteactions li a {
+ color: &dtml-fontColor;;
+ height: auto;
+ padding: 0 0.6em 0 0.2em;
+ margin: 0;
+ text-decoration: none;
+ text-transform: &dtml-textTransform;;
+ border-right: 1px solid &dtml-fontColor;;
+}
+#portal-siteactions li.selected a,
+#portal-siteactions li a:hover {
+ color: &dtml-globalFontColor;;
+}
+
+/* Searchbox style and positioning */
+
+#portal-searchbox {
+ float: right;
+ background-color: transparent;
+ margin: 1.5em 0 0 0;
+ padding: 0 1em 0 0;
+ text-align: right;
+ text-transform: &dtml-textTransform;;
+ white-space: nowrap;
+ z-index: 2;
+}
+#portal-advanced-search {
+ margin-top: 0.2em;
+ clear: both;
+}
+#portal-advanced-search a {
+ color: &dtml-discreetColor;;
+ text-decoration: none;
+ text-transform: &dtml-textTransform;;
+}
+
+/* Search results elements */
+
+dl.searchResults dt {
+ font-size: 140%;
+ font-weight: normal;
+}
+
+form.searchPage {
+ text-align: center;
+}
+
+input.searchPage {
+ font-size: 200% !important;
+}
+
+form.searchPage input.searchButton {
+ background-position:5px 7px;
+ padding:1px 10px 1px 25px;
+}
+
+/* LiveSearch styles */
+.LSRes {
+ font-family: <dtml-var fontFamily>;
+ visibility: visible;
+ color: &dtml-globalFontColor;;
+ background-color: &dtml-backgroundColor;;
+ vertical-align: middle;
+ display:block;
+ list-style-image: none;
+ list-style-type: none;
+ text-align: left;
+ min-width: 16.5em;
+ text-transform: none;
+ margin-left: 0;
+ line-height: 1.1em;
+}
+#LSHighlight,
+.LSHighlight {
+ background-color: &dtml-globalBackgroundColor;;
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ color: &dtml-globalFontColor;;
+}
+.LSRow {
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-backgroundColor;;
+ white-space: normal;
+ padding:0;
+ margin: 0;
+ list-style-image: none;
+ list-style-type: none;
+}
+.LSRow a {
+ text-decoration: none;
+ font-weight:bold;
+ white-space:nowrap
+}
+.LSDescr {
+ color: &dtml-discreetColor;;
+ text-transform: &dtml-textTransform;;
+ padding-left:2.1em;
+ margin-top:-0.1em;
+}
+.LSResult {
+ position: relative;
+ display: block;
+ text-align: right;
+ padding-top: 5px;
+ margin: 0;
+ left: 3px;
+ z-index: 3;
+}
+.LSShadow {
+ position: relative;
+ text-align: right;
+}
+.livesearchContainer {
+ background-color: &dtml-backgroundColor;;
+ margin-top: 0;
+ padding: 0 !important;
+ position: absolute;
+ right: 0px;
+ /* Currently exposes a rendering bug in Mozilla */
+ top: 0;
+ white-space: normal;
+ font-family: <dtml-var fontFamily>;
+ visibility: visible;
+ text-align: left;
+ color: &dtml-globalFontColor;;
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ width: 30em;
+ text-transform: none;
+}
+* html .livesearchContainer {
+ padding: &dtml-borderWidth; !important;
+ padding-top: 0 !important;
+ background-color: &dtml-globalBorderColor;;
+ border: 0;
+}
+#livesearchLegend {
+ line-height: 1em;
+ margin-top: -2em;
+ margin-left: -0.1em;
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ border-bottom: 0;
+}
+* html #livesearchLegend {
+ margin-top: -1.9em;
+ margin-left: -8px;
+ position: relative;
+}
+
+/* Workaround for Internet Explorer's broken z-index implementation */
+.LSIEFix {
+ background-color: &dtml-backgroundColor;;
+ padding: 0.5em !important;
+ z-index: 20;
+}
+.LSBox {
+ clear: left;
+ float: left;
+ text-align: right;
+ padding-right: 1px;
+ display:block;
+}
+#LSNothingFound {
+ text-align: center;
+ padding: 2px;
+}
+.LSBox label {
+ font-weight: normal;
+}
+
+/* The global section tabs. */
+#portal-globalnav {
+ background-color: transparent;
+ padding: 0em;
+ white-space: nowrap;
+ list-style: none;
+ margin: 0;
+ height: auto;
+ line-height: 4em;
+ text-align:center;
+}
+#portal-globalnav li {
+ display: inline;
+}
+#portal-globalnav li a {
+ /* The normal, unselected tabs. They are all links */
+ background-color: transparent;
+ height: auto;
+/* margin-right: 0.5em;*/
+ padding: 0em 1em;
+ text-transform: &dtml-textTransform;;
+ font-weight: bold;
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBackgroundColor;;
+}
+#portal-globalnav li.selected a,
+#portal-globalnav li a:hover {
+ background-color: #fff;
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ color: &dtml-globalFontColor;;
+ text-decoration: none;
+}
+
+#portal-personaltools {
+ /* Bar with personalized menu (user preferences, favorites etc) */
+ line-height: 1.6em;
+ color: &dtml-fontColor;;
+ padding: 0em 1em 0em 1em;
+ margin: 0;
+ text-align: right;
+ text-transform: &dtml-textTransform;;
+ list-style: none;
+ float: right;
+}
+#portal-header #portal-personaltools {
+ margin-top:2em;
+ margin-left: -2em;
+ font-size: &dtml-fontSmallSize;;
+}
+#portal-personaltools .portalUser {
+ background: transparent url(&dtml-portal_url;/user.gif) center left no-repeat;
+ padding-left: 18px;
+}
+#portal-personaltools .portalNotLoggedIn {
+ /* Used on all descriptions relevant to those not logged in */
+ color: &dtml-fontColor;;
+ padding: 0;
+ background: transparent;
+ background-image: none;
+}
+#portal-personaltools li {
+ color: &dtml-globalFontColor;;
+ margin-left: 1em;
+ display: inline;
+}
+#portal-personaltools li a {
+ color: &dtml-linkColor;;
+}
+#portal-personaltools .visualIconPadding {
+ padding-left: 10px;
+}
+.visualCaseSensitive {
+ text-transform: none;
+}
+#portal-languageselector {
+ margin: 0 1em 0 1em;
+ float:right;
+}
+#portal-languageselector li {
+ display: inline;
+}
+
+.documentEditable {
+ padding: 0em 0em 1em 0em;
+}
+#content-news h1 {
+ margin-bottom: 1em;
+}
+/* Only h5/h6 headlines in the content area should have the discreet color */
+#content h5,
+#content h6 {
+ color: &dtml-discreetColor;;
+}
+.newsItem {
+ margin-bottom: 1em;
+ border-bottom: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+}
+.newsImage {
+ border: 1px solid #ccc;
+}
+.newsImageContainer {
+ float:right;
+ margin: 0 0 0.5em 1em;
+ width: 202px;
+}
+.newsContent {
+ padding: 0 1em 1em 1em;
+}
+.newsContent ul,
+.newsContent li {
+ display: block;
+ list-style: none;
+ list-style-image: none;
+ margin: 0;
+ padding: 0;
+}
+.newsAbout {
+ display: block;
+ color: &dtml-discreetColor;;
+ font-size: &dtml-fontSmallSize;;
+ padding: 0;
+ margin-top: 0;
+ list-style: none;
+ list-style-image: none;
+ float: right;
+ text-align: right;
+}
+.newsAbout li {
+ display: inline;
+}
+.newsFooter {
+
+}
+.newsFooter li {
+ display: inline;
+ margin: 0 1em 0 0;
+}
+
+.documentActions {
+ margin: 1em 0;
+ padding: 0;
+ text-align: right;
+ border-top: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+}
+.documentActions ul {
+ margin: 0;
+ padding: 0 0.5em;
+ display: block;
+ margin-top: -0.9em;
+ list-style-type: none;
+ list-style-image: none;
+}
+.documentActions li {
+ display: inline;
+ margin: 0 0.5em;
+ padding: 0 0.25em;
+ background-color: &dtml-backgroundColor;;
+}
+.documentActions a {
+ border: none !important;
+ text-decoration: none;
+ color: &dtml-orangeLinkColor;;
+}
+
+/* Status messages */
+
+dl.portalMessage {
+ font-size: &dtml-fontSmallSize;;
+}
+dl.portalMessage a {
+ color: black;
+ border: none;
+ text-decoration: underline;
+}
+dl.portalMessage dt {
+ background-color: #996;
+ border: 1px solid #996;
+ font-weight: bold;
+ float: left;
+ margin: 0 0.5em 0 0;
+ padding: 0.5em 0.75em;
+ color: White;
+ line-height: 1.25em;
+}
+dl.portalMessage dd {
+ background-color: #ffffe3;
+ border: 1px solid #996;
+ padding: 0.5em 0.5em;
+ margin: 0;
+ line-height: 1.25em;
+}
+dl.warning dt {
+ background-color: #d80;
+ border: 1px solid #d80;
+}
+dl.error dt {
+ background-color: #d00;
+ border-color: #d00;
+}
+dl.warning dd {
+ background-color: #fd7;
+ border-color: #d80;
+}
+dl.error dd {
+ background-color: #fd7;
+ border-color: #d80;
+}
+
+.documentDescription {
+ /* The summary text describing the document */
+ font-weight: bold;
+ display: block;
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1.5em;
+}
+.documentByLine {
+ font-size: &dtml-fontSmallSize;;
+ font-weight: normal;
+ color: &dtml-discreetColor;;
+ margin-bottom: 0.5em;
+}
+dl.searchResults span.documentByLine {
+ display: block;
+}
+#category ul {
+ list-style-image: none;
+ list-style-type: none;
+ display: inline;
+ margin: 0;
+}
+#category ul li {
+ display: inline;
+}
+.discussion {
+ margin-top: 1em;
+}
+.even {
+ background-color: &dtml-evenRowBackgroundColor;;
+}
+.odd {
+ background-color: &dtml-oddRowBackgroundColor;;
+}
+.visualHighlight {
+ background-color: #ffc;
+}
+.discreet {
+ color: &dtml-discreetColor;;
+ font-size: &dtml-fontSmallSize;;
+ font-weight: normal;
+}
+.pullquote {
+ padding: 0 1em 0 1em;
+ margin: 0 0 1em 1em;
+ font-weight: bold;
+ color: &dtml-orangeLinkColor;;
+ float: right;
+ width: 35%;
+ clear: right;
+ background-color: &dtml-backgroundColor;;
+ border-left: 4px solid &dtml-globalBorderColor;;
+}
+.callout {
+ font-weight: bold;
+ color: &dtml-orangeLinkColor;;
+ padding: 0px 1em;
+}
+
+.notify,
+.documentEditable * .notify {
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-notifyBorderColor;;
+}
+.card {
+ background-color: &dtml-globalBackgroundColor;;
+ border-color: &dtml-globalBorderColor;;
+ border-width: &dtml-borderWidth;;
+ border-style: &dtml-borderStyle;;
+ float: left;
+ margin: 1em;
+ text-align: center;
+ width: 110px;
+ padding: 1em 0;
+}
+.card a {
+ text-decoration: none;
+}
+.portrait {
+ background-color: &dtml-globalBackgroundColor;;
+ border-color: &dtml-globalBorderColor;;
+ border-width: &dtml-borderWidth;;
+ border-style: &dtml-borderStyle;;
+ font-size: &dtml-fontSmallSize;;
+ margin: 0.5em;
+ padding: 1em 0 0.5em 0;
+ text-align: center;
+ width: 100px;
+}
+.portraitPhoto {
+ border: 1px solid black;
+}
+/* The table used for listings - horizontal and vertical variants */
+table.listing,
+.stx table {
+ /* The default table for document listings. Contains name, document types, modification times etc in a file-browser-like fashion */
+ border-collapse: collapse;
+ border-left: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ border-bottom: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ font-size: &dtml-fontSmallSize;;
+ margin: 1em 0em 1em 0em;
+}
+table.orangePortlet {
+ border-bottom-color: &dtml-orangeLightBorderColor;;
+ border-left-color: &dtml-orangeLightBorderColor;;
+ font-size: 1em;
+}
+table.listing th,
+.stx table th {
+/* background: &dtml-globalBackgroundColor;;*/
+ background:&dtml-fontColor;;
+ color: #fff;
+ border-top: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ border-bottom: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ border-right: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ font-weight: normal;
+ padding: 0.25em 0.5em;
+ text-transform: &dtml-textTransform;;
+}
+table.orangePortlet th {
+ background: &dtml-orangeBackgroundColor; url('&dtml-portal_url;/orange_horizontal.png') bottom left repeat-x;
+ border-top-color: &dtml-orangeLightBorderColor;;
+ border-bottom-color: &dtml-orangeLightBorderColor;;
+ border-right-color: &dtml-orangeLightBorderColor;;
+ color: #fff;
+ padding: 0 1em;
+ line-height:2.2em;
+}
+table.listing .top {
+ border-left: &dtml-borderWidth; &dtml-borderStyle; &dtml-backgroundColor;;
+ border-top: &dtml-borderWidth; &dtml-borderStyle; &dtml-backgroundColor; ! important;
+ border-right: &dtml-borderWidth; &dtml-borderStyle; &dtml-backgroundColor; ! important;
+ text-align: right ! important;
+ padding: 0em 0em 1em 0em;
+}
+table.listing .listingCheckbox {
+ text-align: center;
+}
+table.listing td,
+.stx table td {
+ border-right: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ padding: 0.25em 0.5em;
+}
+table.orangePortlet td {
+ border-right-color: &dtml-orangeLightBorderColor;;
+}
+table.orangePortlet td a {
+ color: &dtml-orangeLinkColor;;
+}
+table.listing a:hover {
+ text-decoration: underline;
+}
+table.listing img {
+ vertical-align: middle;
+}
+table.listing td a label,
+.stx table td a label {
+ cursor: pointer;
+}
+
+/* Vertical addition class */
+table.vertical {
+ background-color: &dtml-backgroundColor;;
+}
+table.vertical th {
+ padding: 0.5em;
+}
+table.vertical td {
+ border-top: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ padding: 0.5em;
+}
+
+/* grid addition class */
+
+table.grid td {
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ padding: 0.5em;
+}
+
+/* plain table class with light gray borders */
+
+table.plain,
+table.plain td,
+table.plain th {
+ border: 1px solid #ccc;
+ padding: 0.5em;
+ border-collapse: collapse;
+}
+
+/* Batch selector */
+.listingBar {
+ background-color: &dtml-globalBackgroundColor;;
+ border-color: &dtml-globalBorderColor;;
+ border-style: &dtml-borderStyle;;
+ border-width: &dtml-borderWidth;;
+ padding: 0em 1em;
+ text-align: center;
+ text-transform: &dtml-textTransform;;
+ vertical-align: top;
+ margin: 1em 0em;
+ font-size: 94%;
+ clear: both;
+}
+.listingBar span.previous,
+.listingPrevious {
+ text-align: left;
+ float: left;
+ margin-right: 1em;
+}
+.listingBar span.next,
+.listingNext {
+ text-align: right;
+ float: right;
+ margin-left: 1em;
+}
+.listingBar img {
+ vertical-align: middle;
+}
+.listingBar a {
+ text-decoration: none;
+}
+.tileItem {
+ border-top: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+ padding-top: 0.5em;
+ margin-top: 0.5em;
+}
+.tileHeadline {
+ border: none;
+ font-size: 110%;
+ font-weight: bold;
+}
+.tileHeadline a {
+ text-decoration: none;
+}
+.tileBody {
+ margin-bottom: 0.5em;
+}
+.tileImage {
+ float: right;
+ margin: 0 0 0.5em 0.5em;
+ border: 1px solid black;
+}
+.eventDetails {
+ float: right;
+ width: 20em;
+ clear: right;
+}
+/* Useful deviations from regular style on elements */
+
+/* List classes without markers */
+ul.visualNoMarker,
+ol.visualNoMarker {
+ list-style-type: none;
+ list-style-image: none;
+ margin: 0.5em 0 0 0;
+ line-height: 1em;
+}
+
+ul.discreet {
+ list-style-image: none;
+ list-style-type: disc;
+}
+
+textarea.proportional {
+ font: 100% <dtml-var fontFamily>;
+}
+.productCredits {
+ text-align: right;
+ font-size: &dtml-fontSmallSize;;
+ clear: both;
+ font-weight: normal;
+ color: &dtml-discreetColor;;
+}
+#portal-footer {
+ float: none;
+ line-height: 1.2em;
+ margin: 2em 0em 1em 0em;
+ padding: 0.5em 0em 1em 0em;
+ text-align: center;
+}
+#portal-footer p {
+ margin: 0.25em 0;
+}
+#portal-footer a {
+ text-decoration: none;
+ color: &dtml-linkColor;;
+ border: none;
+}
+#portal-footer a:visited {
+ color: &dtml-linkColor;;
+}
+#portal-footer a:hover {
+ text-decoration: underline;
+}
+/* Sitemap styles */
+#portal-sitemap {
+ list-style: none;
+ list-style-image: none;
+ margin: 0;
+ font-size: 90%;
+ border: none;
+}
+#portal-sitemap a {
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-backgroundColor;;
+}
+#portal-sitemap a:hover {
+ border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;
+}
+#portal-sitemap .navTreeLevel1 {
+ padding-left: 1em;
+ border-left: 0.5em solid &dtml-globalBorderColor;;
+ margin: 0 0 0 0.5em;
+}
+#portal-sitemap .navTreeLevel2 {
+ padding-left: 1em;
+ border-left: 0.5em solid &dtml-globalBackgroundColor;;
+ margin: 0 0 0 0.6em;
+}
+
+/* Album view classes */
+.photoAlbumEntry {
+ float: left;
+ height: 185px;
+ width: 143px;
+ margin: 0em;
+ padding: 0px 6px 0px 9px;
+ text-align: center;
+ background-image: url('&dtml-portal_url;/polaroid-single.png');
+ background-repeat: no-repeat;
+}
+.photoAlbumEntry img {
+ border: 1px solid #ccc;
+ display: block;
+ margin: 0 auto;
+}
+.photoAlbumEntryWrapper {
+ /*display: block;*/
+ height: 130px;
+ width: 128px;
+ margin-bottom: 7px;
+}
+.photoAlbumEntry a {
+ display: block;
+ text-decoration: none;
+ font-size: &dtml-fontSmallSize;;
+ height: 169px;
+ width: 130px;
+ margin: 16px auto 0px;
+}
+.photoAlbumFolder {
+ background-image: url('&dtml-portal_url;/polaroid-multi.png');
+ background-repeat: no-repeat;
+}
+.photoAlbumEntryTitle {
+ color: &dtml-discreetColor;;
+ display: block;
+ overflow: hidden;
+ width: 128px;
+ height: 3.6em;
+}
+
+/* Link types */
+a.link-parent {
+ display: block;
+ background: transparent url(&dtml-portal_url;/arrowUp.gif) 4px 5px no-repeat;
+ padding: 1px 0px 10px 16px;
+ font-size: &dtml-fontSmallSize;;
+ text-decoration: none;
+}
+
+/* For ghosted elements */
+.visualGhosted {
+ opacity: 0.2;
+}
+
+/* Fullscreen */
+body.fullscreen #portal-logo,
+body.fullscreen #portal-siteactions {
+ display: none;
+}
+body.fullscreen #portal-globalnav {
+ margin-top: 4em;
+}
+body.fullscreen #portal-searchbox {
+ margin: 0.5em 2em 0 0.5em;
+ padding: 0;
+ position: relative;
+ z-index: 3;
+}
+
+/* Kupu image alignment classes */
+.image-left {
+ float: left;
+ clear: both;
+ margin: 0.5em 1em 0.5em 0;
+ border: 1px solid Black;
+}
+.image-inline {
+ float: none;
+}
+.image-right {
+ float: right;
+ clear: both;
+ margin: 0.5em;
+ border: 1px solid Black;
+}
+dd.image-caption {
+ text-align:left;
+ padding: 0; margin:0;
+}
+dl.captioned {
+ padding: 10px;
+}
+
+/* Dashboard */
+#dashboard-info-message {
+ padding-top: 0.5em;
+}
+
+#dashboard {
+ width: 68em;
+}
+
+#dashboard-portlets1,
+#dashboard-portlets2,
+#dashboard-portlets3
+{
+ float:left;
+ width:16em;
+ padding:0.7em 1.3em 0 0;
+}
+
+#dashboard-portlets4 {
+ float:left;
+ width:16em;
+ padding-top:0.7em;
+}
+
+#dashboard-portlets1 a,
+#dashboard-portlets2 a,
+#dashboard-portlets3 a,
+#dashboard-portlets4 a {
+ border-bottom:medium none;
+}
+
+#dashboard-portlets1 dl.portlet,
+#dashboard-portlets2 dl.portlet,
+#dashboard-portlets3 dl.portlet,
+#dashboard-portlets4 dl.portlet {
+ margin-bottom:1.5em;
+}
+
+div.managedPortlet.portlet {
+ border-bottom:none;
+}
+#dashboard select {
+ width:100%;
+}
+
+.portletAssignments {
+ margin-top:1.5em;
+}
+#dashboard-portlets1 div.managedPortlet a,
+#dashboard-portlets2 div.managedPortlet a,
+#dashboard-portlets3 div.managedPortlet a,
+#dashboard-portlets4 div.managedPortlet a {
+ text-decoration: none;
+ color: &dtml-globalFontColor;;
+ border-bottom:1px solid &dtml-globalFontColor;;
+}
+
+div.managedPortlet .portletHeader {
+ text-align:left;
+}
+
+#dashboard-portlets1 div.managedPortlet .portletHeader a,
+#dashboard-portlets2 div.managedPortlet .portletHeader a,
+#dashboard-portlets3 div.managedPortlet .portletHeader a,
+#dashboard-portlets4 div.managedPortlet .portletHeader a {
+ color: #fff;
+}
+
+#dashboard-portlets1 div.managedPortlet span a,
+#dashboard-portlets2 div.managedPortlet span a,
+#dashboard-portlets3 div.managedPortlet span a,
+#dashboard-portlets4 div.managedPortlet span a{
+ border-bottom:none;
+}
+
+#dashboard-actions {
+ float:right;
+}
+
+#dashboard-actions ul {
+ list-style-image:none;
+ list-style-position:outside;
+ list-style-type:none;
+ margin-top:0;
+}
+
+#dashboard-actions ul li {
+ display:inline;
+ padding-left:0.7em;
+}
+
+#dashboard-actions ul li.portalUser {
+ background:transparent url(&dtml-portal_url;/user.gif) no-repeat scroll left center;
+ padding-left:18px;
+}
+
+/* manage portlets */
+
+.section div {
+ padding-top:0.5em;
+ padding-bottom:0.5em;
+}
+
+/* </dtml-with> */
+
+/* Latest version of the documentation on pre-defined properties from Plone
+ can be found in CMFPlone/skins/plone_styles/ploneCustom.css.dtml */
+
Added: zopeorg.theme/zopeorg/theme/skins.zcml
===================================================================
--- zopeorg.theme/zopeorg/theme/skins.zcml (rev 0)
+++ zopeorg.theme/zopeorg/theme/skins.zcml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,10 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:cmf="http://namespaces.zope.org/cmf"
+ i18n_domain="zopeorg.theme">
+
+ <cmf:registerDirectory name="zopeorg_theme_custom_images"/>
+ <cmf:registerDirectory name="zopeorg_theme_custom_templates"/>
+ <cmf:registerDirectory name="zopeorg_theme_styles"/>
+
+</configure>
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/tests.py
===================================================================
--- zopeorg.theme/zopeorg/theme/tests.py (rev 0)
+++ zopeorg.theme/zopeorg/theme/tests.py 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,54 @@
+import unittest
+
+from zope.testing import doctestunit
+from zope.component import testing
+from Testing import ZopeTestCase as ztc
+
+from Products.Five import zcml
+from Products.Five import fiveconfigure
+from Products.PloneTestCase import PloneTestCase as ptc
+from Products.PloneTestCase.layer import PloneSite
+ptc.setupPloneSite()
+
+import zopeorg.theme
+
+class TestCase(ptc.PloneTestCase):
+ class layer(PloneSite):
+ @classmethod
+ def setUp(cls):
+ fiveconfigure.debug_mode = True
+ zcml.load_config('configure.zcml',
+ zopeorg.theme)
+ fiveconfigure.debug_mode = False
+
+ @classmethod
+ def tearDown(cls):
+ pass
+
+
+def test_suite():
+ return unittest.TestSuite([
+
+ # Unit tests
+ #doctestunit.DocFileSuite(
+ # 'README.txt', package='zopeorg.theme',
+ # setUp=testing.setUp, tearDown=testing.tearDown),
+
+ #doctestunit.DocTestSuite(
+ # module='zopeorg.theme.mymodule',
+ # setUp=testing.setUp, tearDown=testing.tearDown),
+
+
+ # Integration tests that use PloneTestCase
+ #ztc.ZopeDocFileSuite(
+ # 'README.txt', package='zopeorg.theme',
+ # test_class=TestCase),
+
+ #ztc.FunctionalDocFileSuite(
+ # 'browser.txt', package='zopeorg.theme',
+ # test_class=TestCase),
+
+ ])
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='test_suite')
\ No newline at end of file
Added: zopeorg.theme/zopeorg/theme/version.txt
===================================================================
--- zopeorg.theme/zopeorg/theme/version.txt (rev 0)
+++ zopeorg.theme/zopeorg/theme/version.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+0.1
\ No newline at end of file
Added: zopeorg.theme/zopeorg.theme-configure.zcml
===================================================================
--- zopeorg.theme/zopeorg.theme-configure.zcml (rev 0)
+++ zopeorg.theme/zopeorg.theme-configure.zcml 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+<include package="zopeorg.theme" />
\ No newline at end of file
Added: zopeorg.theme/zopeorg.theme.egg-info/PKG-INFO
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/PKG-INFO (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/PKG-INFO 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,16 @@
+Metadata-Version: 1.0
+Name: zopeorg.theme
+Version: 0.1dev
+Summary: Plone 3.0 visual theme for zope.org project
+Home-page: http://zope.org
+Author: Denis Mishunov
+Author-email: denis at webcouturier.com
+License: GPL
+Description: UNKNOWN
+Keywords: zope plone theme
+Platform: UNKNOWN
+Classifier: Framework :: Plone
+Classifier: Framework :: Zope2
+Classifier: Framework :: Zope3
+Classifier: Programming Language :: Python
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
Added: zopeorg.theme/zopeorg.theme.egg-info/SOURCES.txt
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/SOURCES.txt (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/SOURCES.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,18 @@
+README.txt
+setup.cfg
+setup.py
+zopeorg/__init__.py
+zopeorg.theme.egg-info/PKG-INFO
+zopeorg.theme.egg-info/SOURCES.txt
+zopeorg.theme.egg-info/dependency_links.txt
+zopeorg.theme.egg-info/entry_points.txt
+zopeorg.theme.egg-info/namespace_packages.txt
+zopeorg.theme.egg-info/not-zip-safe
+zopeorg.theme.egg-info/requires.txt
+zopeorg.theme.egg-info/top_level.txt
+zopeorg/theme/__init__.py
+zopeorg/theme/setuphandlers.py
+zopeorg/theme/tests.py
+zopeorg/theme/browser/__init__.py
+zopeorg/theme/browser/interfaces.py
+zopeorg/theme/browser/viewlets.py
Added: zopeorg.theme/zopeorg.theme.egg-info/dependency_links.txt
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/dependency_links.txt (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/dependency_links.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+
Added: zopeorg.theme/zopeorg.theme.egg-info/entry_points.txt
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/entry_points.txt (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/entry_points.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1,3 @@
+
+ # -*- Entry points: -*-
+
\ No newline at end of file
Added: zopeorg.theme/zopeorg.theme.egg-info/namespace_packages.txt
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/namespace_packages.txt (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/namespace_packages.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+zopeorg
Added: zopeorg.theme/zopeorg.theme.egg-info/not-zip-safe
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/not-zip-safe (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/not-zip-safe 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+
Added: zopeorg.theme/zopeorg.theme.egg-info/paster_plugins.txt
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/paster_plugins.txt (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/paster_plugins.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+PasteScript
Added: zopeorg.theme/zopeorg.theme.egg-info/requires.txt
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/requires.txt (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/requires.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+setuptools
\ No newline at end of file
Added: zopeorg.theme/zopeorg.theme.egg-info/top_level.txt
===================================================================
--- zopeorg.theme/zopeorg.theme.egg-info/top_level.txt (rev 0)
+++ zopeorg.theme/zopeorg.theme.egg-info/top_level.txt 2007-12-06 16:22:44 UTC (rev 82164)
@@ -0,0 +1 @@
+zopeorg
More information about the Checkins
mailing list