diff --git a/themes/README.txt b/themes/README.txt deleted file mode 100644 index a4b7eb2..0000000 --- a/themes/README.txt +++ /dev/null @@ -1,8 +0,0 @@ -This directory is reserved for core theme files. Custom or contributed -themes should be placed in their own subdirectory of the sites/all/themes -directory. For multisite installations, they can also be placed in a subdirectory -under /sites/{sitename}/themes/, where {sitename} is the name of your site -(e.g., www.example.com). This will allow you to more easily update Drupal core files. - -For more details, see: http://drupal.org/node/176043 - diff --git a/themes/zen/CHANGELOG.txt b/themes/zen/CHANGELOG.txt new file mode 100644 index 0000000..4acfb06 --- /dev/null +++ b/themes/zen/CHANGELOG.txt @@ -0,0 +1,390 @@ +Zen 6.x-2.1, 2011-04-05 +----------------------- +- #774836 by hefox: Check if node $title is set before outputting +- #705264 by JohnAlbin, Jehu, mlncn and zenic: Allow Zen (and subthemes) to be used without a database +- #1046090 by daniels and JohnAlbin: $styles is destroyed by rare bug with APC +- #1083700: Add $submitted variable back into node.tpl +- #1086820 by tacituseu: Views classes redundant since Views 6.x-2.9 +- #1017062 by adrinux: Block edit links span entire block on RTL pages +- #774838 by bangpound, hefox and JohnAlbin: Add default case for build_mode +- #919838 by saem, rgbivens and JohnAlbin: Theme description links to wrong docs +- #992616 by JohnAlbin and adrinux: Comments in layout RTL stylesheets are incorrect +- #822570 by JohnAlbin and AaronCollier: Add focus styling to tabs +- #1072268: Zen theme doesn't load RTL styles +- #929630 by juan_g and akalata: URL for overriding stylesheets documentation has changed +- #742208: Conflict with domain theme module +- #1063226 by tacituseu, danillonunes and barraponto: Unpublished comment style is not applied +- #962356: Convert region template suggestions into theme hook suggestions +- #978640 by marcvangend: Whitespace before comment causes jQuery error +- #1046394 by n8tron and JohnAlbin: Add first and last classes to blocks +- #870080 by mverbaar: Correction to README.TXT for STARTERKIT +- #707410 by AdrianB: improve detection of Panels pages +- #634552 by JohnAlbin and tim.plunkett: Conflict with context module +- #941714: Modules setting $classes in preprocess functions breaks expected Zen classes +- #932826: mytheme_links__system_main_menu() doesn't work as expected +- Fix PHP warning on maintenance page +- #690026: Cannot override region.tpl.php + +Zen 6.x-2.0, 2010-06-26 +----------------------- +- #791056 by meatsack and JohnAlbin: Zen clobbers Views 3 classes +- #838338: element-invisible class doesn't fully hide elements +- #723514 by kmonty: Link in STARTERKIT description incorrect +- Skip navigation's ID changed from #skip-to-nav to #skip-link +- Added $block_html_id to block.tpl.php +- #772488 by andreiashu: Fatal error: Call to undefined function + ctools_menu_primary_local_tasks() +- #707410 by agentrickard and JohnAlbin: Add page-views and page-panels body classes +- #691426: Add D7-style named implementations of theme_links in page.tpl +- #683904: SUBTHEME_process functions do not work +- #552156: broken clearfix class causes overlapping containers in IE7 +- #593290 by sfyn and JohnAlbin: Chaos Tools/Panels edit tab not working with Zen +- #661628 by Jacine and JohnAlbin: Integration with Skinr module +- by Jacine: Added views-view.tpl.php with support for $classes variables +- by caroltron, gleroux02, _natron, and JohnAlbin: Add panels 3 layouts using + Zen layout method + +Zen 6.x-2.0-beta1, 2009-11-10 +----------------------------- +- #478134 by mithrill: Improve docs about sites/all/themes and sites/default/themes folders +- #628070 by Aren Cambre: Change "jquery" to "JavaScript" in STARTERKIT.info.txt +- #626868 by alefteris: Replace Bitstream Vera with DejaVu fonts +- #624818 by Aren Cambre and Garrett Albright: Tahoma shouldn't be first font pick +- #600344 by mgifford: Use of absolute font size in block editing links breaks WCAG 2.0 +- #546904 by Jennifer_M: List $node as available variable in page.tpl.php +- #583716 by droidenator: Empty title can cause breadcrumbs to display incorrectly +- #600920 by kto.3decb: Fix incorrect comment block class name +- #624046: Replace zen_id_safe() with drupal_html_class() and drupal_html_id() +- Renamed $closure_region region to $page_closure +- #622324: Update page.tpl to use ideas from D7 + - Renamed #page and #page-inner to #page-wrapper and #page + - Added around site name + - Moved #skip-to-nav styling to pages.css + - Removed #navigation link anchor + - Renamed div#header-inner to div.section which can be themed with #header .section + - Renamed #main and #main-inner to #main-wrapper and #main + - Renamed div#content-inner to div.section which can be themed with #content .section + - Removed #content-header div + - Added $highlight region + - Renamed #navbar div to #navigation + - Renamed $navbar region to $navigation + - Renamed .with-navbar class to .with-navigation + - Added #navigation .section div + - Removed #sidebar-first, #sidebar-first-inner, #sidebar-second, #sidebar-second-inner and moved styles to .region-sidebar-first, .region-sidebar-first .section, .region-sidebar-second, .region-sidebar-second .section + - Added #footer .section div +- Added region-sidebar.tpl.php template suggestion +- #308254: Make "skip to nav" styling more useful and less intrusive +- #621798: Change sidebar variables to be RTL friendly and $shows_blocks compatible +- #547696: Update node.tpl to use ideas from D7 + - Renamed $picture to $user_picture in node.tpl.php + - Renamed .sticky class to .node-sticky in node.tpl.php + - Removed #node-inner div + - Added $display_submitted variable and deprecated $submitted variable + - Renamed the .node-mine class to .node-by-viewer +- #620794: Update block.tpl to use ideas from D7 + - Removed .block-inner div + - Renamed $block->subject variable to $title + - Renamed $block->content variable to $content +- #548994: Update comment.tpl and comment-wrapper.tpl to use ideas from D7 + - Renamed comment-wrapper's h2#comments-title to #comments h2.title + - Added $created to comment.tpl and deprecated $submitted + - Removed #comment-inner div + - comment div classes changed: + - .comment-by-anon changed to .comment-by-anonymous + - .comment-by-author changed to .comment-by-node-author + - .comment-mine changed to .comment-by-viewer + - .comment-published was removed +- #311458: Search box gets disabled after arbitrary amount of time +- Added $classes and $classes_array to all templates, not just Zen's templates +- Renamed page.tpl's $body_classes and $body_classes_array to $classes and $classes_array +- #564068: Views classes are missing from $classes variable +- Simplified header, content_top, content_bottom, navbar, and footer region markup +- Add region.tpl.php template +- Render $edit_links_array in zen_process_block +- #546858: Add THEME_process_HOOK functions to Zen +- #317417 by JohnAlbin and quicksketch: Fix off-line maintenance page since drupal_get_path('theme', 'zen') won't work +- #549798 by caroltron: page-backgrounds.css missing from .info file +- Remove ie5.css from STARTERKIT and deprecate support for IE5 +- #547696: Update node.tpl to use ideas from D7 +- Renamed $picture to $user_picture in node.tpl.php +- Renamed sticky class to node-sticky in node.tpl.php +- Added $build_mode variable to node.tpl.php +- #445814: Change primary/secondary link rendering and move secondary menu to footer +- #445822: Simplify wrapper divs around logo, site name, slogan +- #546862: Add D7's element-hidden and element-invisible for accessibility features +- #547382: Rename Zen's reset stylesheet to html-reset.css from html-elements.css +- #527494: Follow Drupal's proposed CSS coding standards +- #480610 by kdebaas: css class .field-type-image does not exist anymore in 6.x version of the module +- #545320 by Deslack: Use of split() generate E_DEPRECATED warnings on PHP 5.3.0 +- #542818: Using alternate layout method causes .clearfix class to disappear +- #546828: Move tpl.php files to a templates folder in the root zen directory +- #546792: Remove box.tpl.php +- #513926: Sub-themes cannot reorder the stylesheets of the base theme +- #456136: Move zen stylesheets into STARTERKIT/css +- #544750 by kdebaas: Wrong sidebar class naming in maintenance-page.tpl.php +- #529796: Make block edit links easier to edit/turn off individually +- Added $classes_array variable to node, block and comment templates +- Add layout.css in Zen's .info file to properly position sub-theme's layout.css +- #379902: Make all stylesheets RTL compatible +- #472694: Drupal 6.11 broke Zen's OpenID overrides +- #375976 by JohnAlbin and Amitaibu: Flip sidebar positioning on RTL +- #375953 by Amitaibu and JohnAlbin: Change sidebar names to be RTL friendly +- Updated screenshot.png to use Zen logo since an actual screenshot is boring +- Changed "or" back to "||" in node.tpl.php since themers do need to learn a little PHP +- #254821: Sub-theme's .info file triggers incorrect "out of date" flag in update module +- Added blockquote indent stlying +- Removed navigation-top named anchor from page templates +- #382598: .node div.links ruleset doesn't match html in node template +- #452118: Removed redundant wrapper div around comment links +- #382480 by Ognyan Kulev: #block-menu-2 should be #block-menu-primary-links +- #374349: breadcrumb often broken when zen_breadcrumb_title is on +- #426750: Removed Zen Classic sub theme +- #445830: Rename clear-block CSS class to clearfix +- #445790: Move search box to header +- #445562: q0rban and JohnAlbin: Allow modules to declare their own block edit links +- Added optional node-type-specific preprocess functions +- Added notes about mobile stylesheets to STARTERKIT.info +- #200495 by JohnAlbin, caroltron, and Toe: Split up monolithic zen.css into smaller, logical stylesheets +- #328221 by kmonty and JohnAlbin: Split up ie.css to remove CSS hacks + +Zen 6.x-1.2, 2011-02-26 +----------------------- +- #593290 by sfyn and JohnAlbin: Chaos Tools/Panels edit tab not working with Zen + +Zen 6.x-1.1, 2009-11-10 +----------------------- +- #478134 by mithrill: Improve docs about sites/all/themes and sites/default/themes folders +- #600758 by mattyoung: Secondary links run together in one line with primary links +- #600344 by mgifford: Use of absolute font size in block editing links breaks WCAG 2.0 +- #546904 by Jennifer_M: List $node as available variable in page.tpl.php +- #583716 by droidenator: Empty title can cause breadcrumbs to display incorrectly +- #600920 by kto.3decb: Fix incorrect comment block class name +- #297084: Remove ctype_lower() from zen_id_safe() to prevent WSOD/Fatal error on some systems +- #317417 by JohnAlbin and quicksketch: Fix off-line maintenance page since drupal_get_path('theme', 'zen') won't work +- #545320 by Deslack: Use of split() generate E_DEPRECATED warnings on PHP 5.3.0 +- #472694: Drupal 6.11 broke Zen's OpenID overrides +- Updated screenshot.png to use Zen logo since an actual screenshot is boring +- Changed "or" back to "||" in node.tpl.php since themers do need to learn a little PHP +- #254821: Sub-theme's .info file triggers incorrect "out of date" flag in update module +- #327455 by grendzy and erifneerg: name and id mismatch in named anchor causing validation error +- #382598: .node div.links ruleset doesn't match html in node template +- #382480 by Ognyan Kulev: #block-menu-2 should be #block-menu-primary-links +- #374349: breadcrumb often broken when zen_breadcrumb_title is on +- #426750: Removed Zen Classic sub theme +- #445562: q0rban and JohnAlbin: Allow modules to declare their own block edit links + +Zen 6.x-1.0, 2009-02-14 +----------------------- +- #342004 by Amitaibu: Add css hint to prevent cramped-looking tables +- #290657: Liquid layout does not have min-width enforced +- #329769 by kmonty: Update zen_id_safe to remove underscores +- #275832: hook_theme implementation breaks maintenance page when database is down +- #362104: layout breaks on Zen-themed maintenance page +- Changed "or" back to "||" in template files since themers do need to learn a little PHP +- #346867 by debonator: navbar-inner is missing the "clear-block" class +- #325610 by Garrett Albright: Site name and logo don't link to frontpage on multilingual site +- #281106: Erroneous whitespace when div.clear-block touches bottom edge of viewport +- #365631: Zen's table-styling-fix breaks update module's styling +- #322480 by grendzy, mr.baileys, Bevan, and JohnAlbin: Make registry rebuild warning less obtrusive +- #325630: Broken link in "Theme registry rebuilt" warning when Clean URLs is off +- #324104 by JohnAlbin and dalin: Broken block editing link for Views 2 +- #365205: block editing link doesn't work with Menu Block 6.x-2.1 and later +- #308251 by Garrett Albright: Improve icon placement on status, warning, and error messages +- Added $body_classes_array variable to page template +- #343945: Fix zen_breadcrumb_title setting to use proper menu_get_active_item() +- #279896 by lutegrass: Help prevent double H1 tags on homepage that is not /node +- #310507 by MikeyLikesIt: Footer region not output in Zen Classic +- #347195: Remove theme registry fix that was needed for broken Drupal 6.0 - 6.6 +- #346706 by jsaints: Content clipped after page one when printing in Firefox +- #311529: Remove core's page-ARG0 body class, leaving zen's page-PATH +- Simplified body class generation code +- #334956 by hansrossel: Remove no-longer-needed fix for "Flash of Unstyled Content in IE" +- Fixed theme settings CSS for IE6 users +- Added Photoshop file for STARTERKIT screenshot +- Added Photoshop file for messages +- Allow easier CSS rule overriding by including THEMENAME.css file last +- Fixed message styling in Zen Classic +- #308957: html-elements.css not enabled in STARTERKIT +- #288213 by budda: Tabs in IE have a text select cursor rather than hand pointer +- #310818: Auto theme-registry rebuild warns themer multiple times + +Zen 6.x-1.0-beta3, 2008-09-15 +----------------------------- +- #308251: Add useful styling for status, warning, and error messages +- #307309: Add feature to rebuild theme registry during theme development +- Removed path_to_zentheme() since we're not conditionally including wireframes.css or block-editing.css +- #245832: Add IE conditional stylesheets to .info file +- #263228: Allow sub-themes to override wireframes.css +- #260605: Can't override block-editing.css +- #308266: Don't display footer if no footer message or footer blocks +- Changed $block_classes to $classes and $comment_classes to $classes and $node_classes to $classes +- #290838 by thehong: Only display comments block when comments content is not empty +- Don't display comment wrapper title on forums +- #299397: Synchronize Zen's tpl files with core's tpl files +- #281106 by kmonty: Erroneous whitespace when div.clear-block touches bottom edge of viewport +- Changed "||" to "or" in template files since its more intuitive to PHP newbies +- #279896: Help prevent double H1 tags on homepage that is not /node +- #279896: Moved styles to zen.css that should never have been in layout.css +- #255265 by kmonty: Don't "skip to nav" if there's no nav +- Re-arranged sidebar classes so they are in no-sidebars -> two-sidebars order in the layout CSS files +- #306856: Optimize code by adding conditional includes +- Moved some comments from zen to STARTERKIT where they belong +- Optimized zen_breadcrumb() +- Folded template-menus.php back into template.php since its not conditionally included +- Removed theme_username from STARTERKIT and zen_classic since it was fixed in Drupal 6.3 +- Optimized zen_menu_item_link() +- #305311: CSS files makes reference to to drupal5-reference.css +- #299419: Remove empty zen.css in sub-themes +- #284798: PHP warning when settings section of .info file is missing +- #272655: Make STARTERKIT_theme easier to extend + +Zen 6.x-1.0-beta2, 2008-05-20 +----------------------------- +- #260016: PHP 4 Parse error: syntax error, unexpected '&' + +Zen 6.x-1.0-beta1, 2008-05-15 +----------------------------- +- #253609 by jjeff: Add 'region' class to regions +- #258123 by jjeff: Rearrange placement of #site-name strong +- #248103: Allow themes to set defaults for settings in their .info files +- #249532: Allow subthemes to have preprocess hooks without tpl files +- #223518: Option to show page title in breadcrumbs +- #253249: zen_id_safe fails when first character is extended latin +- #251632: Make the closure region more useful +- #199682: 'Submitted by' text is shown for content even if setting is disabled +- #222339: Blocks in Zen Classic header and closure lack padding +- #248780: admin table styles override update_status styling +- #232840: OpenID login block displaying incorrectly +- #246110 by jjeff: zen.css breaks .container-inline +- #229661: Search Box doesn't return any results or warnings +- #244023 by jjeff: Make block editing links go to actual menu edit pages +- #245968 by jjeff: Put the word "Comments" above comments +- #238387: Update README on how to edit the .info file +- #227297 by Aragorn450: CSS Include for wireframes broken +- Prevented "notice: Undefined variable: edit_links" for anonymous users +- Made block-editing.css a "theme"-type CSS file +- #224416 by sykora: displaying on mouse over on block heading +- Added complete Drupal 6 CSS for easy reference by theme developers +- Added Photoshop file for tabs +- #222299: Block editing link in Zen Classic footer is white on white + +Zen 5.x-1.2, 2009-02-15 +----------------------- +- #342004 by Amitaibu: Add css hint to prevent cramped-looking tables +- #290657: Liquid layout does not have min-width enforced +- #279896 by lutegrass: Help prevent double H1 tags on homepage that is not /node +- #346706 by jsaints: Content clipped after page one when printing in Firefox +- Added $body_classes_array variable to page template +- Simplified body class generation code +- Fixed theme settings CSS for IE6 users +- #288213 by budda: Tabs in IE have a text select cursor rather than hand pointer +- #249823: Add options to toggle display of primary and secondary links +- #281106 by kmonty: Erroneous whitespace when div.clear-block touches bottom edge of viewport +- #279896: Help prevent double H1 tags on homepage that is not /node +- #279896: Moved styles to zen.css that should never have been in layout.css +- #255265 by kmonty: Don't "skip to nav" if there's no nav +- #263228: Allow sub-themes to override wireframes.css +- Added sample override template file for search block's form +- Fixed _zen_hook() to look in sub-theme directory when $hook is not valid PHP function name +- #223518: Option to show page title in breadcrumbs +- #255263: Don't call preprocess functions twice when Zen is active theme +- #253249: zen_id_safe fails when first character is extended latin + +Zen 5.x-1.1, 2008-04-21 +----------------------- +- #246109: Add MODULE_preprocess_HOOK functions to Zen +- #199682: 'Submitted by' text is shown for content even if setting is disabled +- #247960: Add THEME_preprocess() hook to Zen +- #222339: Blocks in Zen Classic header and closure lack padding +- #248720 by matt@antinomia: Only UPDATE {system} table WHERE type = 'theme' +- #248780: admin table styles override update_status styling +- #246110 by jjeff: zen.css breaks .container-inline +- Prevented "notice: Undefined variable: edit_links" for anonymous users +- Made block-editing.css a "theme"-type CSS file +- Added Photoshop file for tabs +- #222299: Block editing link in Zen Classic footer is white on white + +Zen 5.x-1.0, 2008-02-14 +----------------------- +- #220161: Change SUBTHEME to STARTERKIT to prevent accidental WSOD +- #221545 by jjeff: Add theme_comment_wrapper() and theme_username() from Zengine +- #220551: IE6: sidebars disappear when resizing window +- Added body classes: section-node-add, section-node-edit, section-node-delete +- Prevented display of empty help from node_help() +- #219401: Add theme override examples for all functions used in Zen core + +Zen 5.x-1.0-beta2, 2008-01-29 +----------------------------- +- #214777: sub-theme's search-theme-form.tpl is ignored +- #206707: tr.even/odd border-bottom is missing in IE +- #207743 by jjeff: Added translatable "Unpublished" text as background +- #207743 by jjeff: Added block editing links on hover +- Added extended block classes (zebra class by jjeff) +- #207743 by jjeff: Allow a sub-theme to add/alter block variables +- #110897: oversize content causes IE6 layout breakage (now fixed in Zen Classic) +- #211156 by jjeff: $subtheme_directory variable in page.tpl.php never gets populated +- #206060: changed inline styling method for navbar links from inline to float + +Zen 5.x-1.0-beta1, 2008-01-06 +----------------------------- +- Removed named anchors from doc flow to prevent any styles from appearing +- #203213 by kdebaas: Add node-teaser class to nodes displayed as teasers +- #203112 by kdebaas: Un-localizable string in search-theme-form.tpl.php +- #201793: Fixed fatal error when no settings are added to a sub-theme's settings +- #196181: _phptemplate_callback doesn't look in sub-theme folder for .tpl.php files +- Added sample override template file for drupal search form +- Added SUBTHEME directory as a starter sub-theme for developers +- #199036 by joachim: Make padding on #squeeze conditional +- #199578: Fatal error on Zen Classic theme settings when using admin theme +- #200380 by psynaptic: missing semi-colon in layout-fixed.css +- #196230: Tabs broken in IE5 and IE6 +- #199682: 'Submitted by' text is shown even if setting is disabled +- #171201: Remove un-localizable date/time format from base theme +- Added theme settings to control layout method and wireframes inclusion +- Added fixed layout stylesheet + +Zen 5.x-0.8, 2007-11-29 +----------------------- +- #196223: IE5 always loads @import print stylesheet +- #184232: Add README documentation +- #121991: Source rendering order needs adjustment +- #110897: oversize content causes IE6 layout breakage +- Added unique classes for each page and website section +- Added customizable breadcrumb settings +- Split template.php into multiple files to ease theme developer overload +- Add prettier tab styling +- #141784: Add conditional IE stylesheets +- Merge zen-fixed with zen_classic +- Add optional Theme Settings API integration +- #169359: Base CSS and tpl files don't get loaded (sub-theme with page.tpl.php) +- #171464: Create starter theme; migrate current style to a sub-theme +- Add ability to change regions in a sub-theme +- Add complete Drupal 5 CSS for easy reference by theme developers +- #183936: Backport Drupal 6 $body_classes + +Zen 5.x-0.7, 2007-10-15 +----------------------- +- #100894: For SEO, H1#site-name should be div#site-name strong +- #118467 by leandrosiow: Screen redraw errors with resizable textareas in Firefox +- #154937 by msonnabaum: add skip navigation for screen readers/mobility impaired +- #122592: Ability to theme each primary link +- #178560 by incognito: Shifting avatars in the comment blocks +- #110553 by rport: Use png instead of gif for images +- #120052: Add linux fonts +- #183360: Empty H2 appears on blocks with no titles +- #121101: zen.css does not validate +- #110902: IE6: text falls outside and to the left of content area +- #183354: Add a div around the feed icons +- #120341: Sidebar has unwanted 5em bottom margin +- #122938: Enabling CSS aggregation messes up the CSS in Safari +- #110897: oversize content causes IE6 layout breakage +- #119270: profile pictures indenting +- #118170 by mr700: blockquote css border has two widths +- #110810: change .submitted span to div +- #100899: don't use sidebar class for widths +- #182130 by joachim: links in h2 and h3 different sizes +- #182556: Added CHANGELOG + +Zen 5.x-0.6, 2007-01-17 +----------------------- +- Initial pre-release diff --git a/themes/zen/LICENSE.txt b/themes/zen/LICENSE.txt new file mode 100644 index 0000000..2c095c8 --- /dev/null +++ b/themes/zen/LICENSE.txt @@ -0,0 +1,274 @@ +GNU GENERAL PUBLIC LICENSE + + Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, +Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute +verbatim copies of this license document, but changing it is not allowed. + + Preamble + +The licenses for most software are designed to take away your freedom to +share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free software--to +make sure the software is free for all its users. This General Public License +applies to most of the Free Software Foundation's software and to any other +program whose authors commit to using it. (Some other Free Software +Foundation software is covered by the GNU Library General Public License +instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the +freedom to distribute copies of free software (and charge for this service if +you wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must make +sure that they, too, receive or can get the source code. And you must show +them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients +to know that what they have is not the original, so that any problems +introduced by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will individually +obtain patent licenses, in effect making the program proprietary. To prevent +this, we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + + 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 diff --git a/themes/zen/README-FIRST.txt b/themes/zen/README-FIRST.txt new file mode 100644 index 0000000..8c11896 --- /dev/null +++ b/themes/zen/README-FIRST.txt @@ -0,0 +1,79 @@ +WHERE TO START +-------------- + +Yay! You opened the correct file first. The first thing that people notice when +they download the Zen theme is that there are A LOT of files -- way more than +other themes. + +Don't worry! You don't need to learn everything all at once in order to make a +drupal theme. Zen will do the bits you haven't learned and patiently wait for +you to discover the documentation and inline comments about them. + + +SUGGESTED READING +----------------- + +Installation + If you don't know how to install a Drupal theme, there is a quick primer later + in this document. + +Building a sub-theme + See the STARTERKIT/README.txt file for full instructions. + +Theme .info file + Your sub-theme's .info file holds the basic information about your theme that + Drupal needs to know: its name, description, features, template regions, CSS + files, and JavaScript. Don't worry about all these lines just yet. + +CSS + Once you have created your sub-theme, look at the README.txt in your + sub-theme's css folder. + +Templates + Now take a look at the README.txt in your sub-theme's templates folder. + + +ONLINE READING +-------------- + +Full documentation on the Zen theme can be found in Drupal's Handbook: + http://drupal.org/node/193318 + +Excellent documentation on Drupal theming can be found in the Theme Guide: + http://drupal.org/theme-guide + + +INSTALLATION +------------ + + 1. Download Zen from http://drupal.org/project/zen + + 2. Unpack the downloaded file, take the entire zen folder and place it in your + Drupal installation under one of the following locations: + sites/all/themes + making it available to the default Drupal site and to all Drupal sites + in a multi-site configuration + sites/default/themes + making it available to only the default Drupal site + sites/example.com/themes + making it available to only the example.com site if there is a + sites/example.com/settings.php configuration file + + Please note: you will need to create the "theme" folder under "sites/all/" + or "sites/default/". + + For more information about acceptable theme installation directories, read + the sites/default/default.settings.php file in your Drupal installation. + + 3. Log in as an administrator on your Drupal site and go to Administer > Site + building > Themes (admin/build/themes). You will see the Zen theme there + with links on how to create your own sub-theme. You can optionally make Zen + the default theme. + + 4. Now build your own sub-theme by reading the STARTERKIT/README.txt file. + + 5. Internet explorer has a nasty bug that limits you to 31 stylsheets total. To + get around this limitation during theme development, download, install and + configure the "IE CSS Optimizer" module. + + http://drupal.org/project/ie_css_optimizer diff --git a/themes/zen/STARTERKIT/README.txt b/themes/zen/STARTERKIT/README.txt new file mode 100644 index 0000000..d5c3515 --- /dev/null +++ b/themes/zen/STARTERKIT/README.txt @@ -0,0 +1,127 @@ +BUILD YOUR OWN SUB-THEME +------------------------ + +*** IMPORTANT *** + +* In Drupal 6, the theme system caches template files and which theme functions + should be called. What that means is if you add a new theme or preprocess + function to your template.php file or add a new template (.tpl.php) file to + your sub-theme, you will need to rebuild the "theme registry." See + http://drupal.org/node/173880#theme-registry + +* Drupal 6 also stores a cache of the data in .info files. If you modify any + lines in your sub-theme's .info file, you MUST refresh Drupal 6's cache by + simply visiting the admin/build/themes page. + + +The base Zen theme is designed to be easily extended by its sub-themes. You +shouldn't modify any of the CSS or PHP files in the zen/ folder; but instead you +should create a sub-theme of zen which is located in a folder outside of the +root zen/ folder. The examples below assume zen and your sub-theme will be +installed in sites/all/themes/, but any valid theme directory is acceptable +(read the sites/default/default.settings.php for more info.) + + Why? To learn why you shouldn't modify any of the files in the zen/ folder, + see http://drupal.org/node/245802 + + 1. Copy the STARTERKIT folder out of the zen/ folder and rename it to be your + new sub-theme. IMPORTANT: The name of your sub-theme must start with an + alphabetic character and can only contain lowercase letters, numbers and + underscores. + + For example, copy the sites/all/themes/zen/STARTERKIT folder and rename it + as sites/all/themes/foo. + + Why? Each theme should reside in its own folder. To make it easier to + upgrade Zen, sub-themes should reside in a folder separate from their base + theme. + + 2. In your new sub-theme folder, rename the STARTERKIT.info.txt file to include + the name of your new sub-theme and remove the ".txt" extension. Then edit + the .info file by editing the name and description field. + + For example, rename the foo/STARTERKIT.info.txt file to foo/foo.info. Edit + the foo.info file and change "name = Zen Sub-theme Starter Kit" to + "name = Foo" and "description = Read..." to "description = A Zen sub-theme". + + Why? The .info file describes the basic things about your theme: its + name, description, features, template regions, CSS files, and JavaScript + files. See the Drupal 6 Theme Guide for more info: + http://drupal.org/node/171205 + + Then, visit your site's admin/build/themes to refresh Drupal 6's cache of + .info file data. + + 3. By default your new sub-theme is using a fixed-width layout. If you want a + liquid layout for your theme, delete the unneeded layout-fixed.css and + layout-fixed-rtl.css files and edit your sub-theme's .info file and replace + the reference to layout-fixed.css with layout-liquid.css. + + For example, edit foo/foo.info and change this line: + stylesheets[all][] = css/layout-fixed.css + to: + stylesheets[all][] = css/layout-liquid.css + + Why? The "stylesheets" lines in your .info file describe the media type + and path to the CSS file you want to include. The format for these lines + is: stylesheets[MEDIA][] = path/to/file.css + + Then, visit your site's admin/build/themes to refresh Drupal 6's cache of + .info file data. + + Alternatively, if you are more familiar with a different CSS layout method, + such as Blueprint or 960.gs, you can replace the "css/layout-fixed.css" line + in your .info file with a line pointing at your choice of layout CSS file. + + 4. Edit the template.php and theme-settings.php files in your sub-theme's + folder; replace ALL occurrences of "STARTERKIT" with the name of your + sub-theme. + + For example, edit foo/template.php and foo/theme-settings.php and replace + every occurrence of "STARTERKIT" with "foo". + + It is recommended to use a text editing application with search and + "replace all" functionality. + + 5. Log in as an administrator on your Drupal site and go to Administer > Site + building > Themes (admin/build/themes) and enable your new sub-theme. + + 6. Internet explorer has a nasty bug that limits you to 31 stylsheets total. To + get around this limitation during theme development, download, install and + configure the "IE CSS Optimizer" module. + + http://drupal.org/project/ie_css_optimizer + + On a production server, you should enable full optimization of the "Optimize + CSS files" option on the Admin Performance page at + admin/settings/performance. + + +Optional: + + 7. MODIFYING ZEN CORE TEMPLATE FILES: + If you decide you want to modify any of the .tpl.php template files in the + zen folder, copy them to your sub-theme's folder before making any changes. + And then rebuild the theme registry. + + For example, copy zen/templates/page.tpl.php to foo/templates/page.tpl.php. + + 8. THEMEING DRUPAL'S SEARCH FORM: + Copy the search-theme-form.tpl.php template file from the modules/search/ + folder and place it in your sub-theme's folder. And then rebuild the theme + registry. + + You can find a full list of Drupal templates that you can override in the + templates/README.txt file or http://drupal.org/node/190815 + + Why? In Drupal 6 theming, if you want to modify a template included by a + module, you should copy the template file from the module's directory to + your sub-theme's directory and then rebuild the theme registry. See the + Drupal 6 Theme Guide for more info: http://drupal.org/node/173880 + + 9. FURTHER EXTENSIONS OF YOUR SUB-THEME: + Discover further ways to extend your sub-theme by reading Zen's + documentation online at: + http://drupal.org/node/193318 + and Drupal 6's Theme Guide online at: + http://drupal.org/theme-guide diff --git a/themes/zen/STARTERKIT/STARTERKIT.info.txt b/themes/zen/STARTERKIT/STARTERKIT.info.txt new file mode 100644 index 0000000..4492544 --- /dev/null +++ b/themes/zen/STARTERKIT/STARTERKIT.info.txt @@ -0,0 +1,96 @@ + ; The name and description of the theme used on the admin/build/themes page. +name = Zen Sub-theme Starter Kit +description = Read the online docs or the included README.txt on how to create a Zen sub-theme. + + ; The screenshot used on the admin/build/themes page. +screenshot = screenshot.png + + ; "core" specifies the version of Drupal that this theme is compatible with. + ; "base theme" specifies that this is a theme that uses the "zen" theme as its + ; base theme. Its unlikely you will ever need to change these, but they are + ; required fields for a Zen sub-theme. The "engine" field is not used in a + ; sub-theme since the engine is inherited from its base theme. +core = 6.x +base theme = zen + + ; This section adds CSS files to your theme. The media type is specified in + ; the brackets. Typical CSS media types include "all", "screen", "print", and + ; "handheld". See http://www.w3.org/TR/CSS21/media.html#media-types for a full + ; list of stylesheet media types in CSS 2.1. The iPhone's preferred media type + ; is based on the CSS3 Media queries. http://www.w3.org/TR/css3-mediaqueries/ + ; + ; You can also override any of Zen's stylesheets or any module's stylesheets, + ; an /extremely/ useful feature. See the excellent Drupal 6 Theme Guide at + ; http://drupal.org/node/263967 for more details. +stylesheets[all][] = css/html-reset.css +stylesheets[all][] = css/wireframes.css +stylesheets[all][] = css/layout-fixed.css +stylesheets[all][] = css/page-backgrounds.css +stylesheets[all][] = css/tabs.css +stylesheets[all][] = css/messages.css +stylesheets[all][] = css/pages.css +stylesheets[all][] = css/block-editing.css +stylesheets[all][] = css/blocks.css +stylesheets[all][] = css/navigation.css +stylesheets[all][] = css/panels-styles.css +stylesheets[all][] = css/views-styles.css +stylesheets[all][] = css/nodes.css +stylesheets[all][] = css/comments.css +stylesheets[all][] = css/forms.css +stylesheets[all][] = css/fields.css +stylesheets[print][] = css/print.css +; stylesheets[handheld][] = css/mobile.css +; stylesheets[only screen and (max-device-width: 480px)][] = css/iphone.css + + ; Set the conditional stylesheets that are processed by IE. +conditional-stylesheets[if IE][all][] = css/ie.css +conditional-stylesheets[if lte IE 6][all][] = css/ie6.css + + ; Optionally add some JavaScripts to your theme. +; scripts[] = js/script.js + + ; The regions defined in Zen's default page.tpl.php file. The name in + ; brackets is the name of the variable in the page.tpl.php file, (e.g. + ; "[content_top]" in the .info file means there should be a $content_top + ; variable in the page.tpl.php file.) The text after the equals sign is a + ; descriptive text used on the admin/build/blocks page. + ; + ; To add a new region, copy Zen's page.tpl.php to your sub-theme's directory, + ; add a line line to this file, and then add the new variable to your + ; page.tpl.php template. +regions[sidebar_first] = First sidebar +regions[sidebar_second] = Second sidebar +regions[navigation] = Navigation bar +regions[highlight] = Highlighted content +regions[content_top] = Content top +regions[content_bottom] = Content bottom +regions[header] = Header +regions[footer] = Footer +regions[page_closure] = Page closure + + ; Various page elements output by the theme can be toggled on and off. The + ; "features" control which of these check boxes display on the + ; admin/build/themes config page. This is useful for suppressing check boxes + ; for elements not used by your sub-theme. To suppress a check box, omit the + ; entry for it below. See the Drupal 6 Theme Guide for more info: + ; http://drupal.org/node/171205#features +features[] = logo +features[] = name +features[] = slogan +features[] = mission +features[] = node_user_picture +features[] = comment_user_picture +features[] = search +features[] = favicon +features[] = primary_links +features[] = secondary_links + + ; Set the default settings to be used in theme-settings.php +settings[zen_block_editing] = 1 +settings[zen_breadcrumb] = yes +settings[zen_breadcrumb_separator] = ' › ' +settings[zen_breadcrumb_home] = 1 +settings[zen_breadcrumb_trailing] = 1 +settings[zen_breadcrumb_title] = 0 +settings[zen_rebuild_registry] = 1 +settings[zen_wireframes] = 0 diff --git a/themes/zen/STARTERKIT/css/README.txt b/themes/zen/STARTERKIT/css/README.txt new file mode 100644 index 0000000..3a128ae --- /dev/null +++ b/themes/zen/STARTERKIT/css/README.txt @@ -0,0 +1,134 @@ +ZEN'S STYLESHEETS +----------------- + +Don't panic! + +There are 28 CSS files in this sub-theme, but its not as bad as it first seems: +- The drupal6-reference.css is just a reference file and isn't used directly by + your sub-theme. See below. +- There are 9 CSS files whose names end in "-rtl.css". Those are CSS files + needed to style content written in Right-to-Left languages, such as Arabic and + Hebrew. If your website doesn't use such languages, you can safely delete all + of those CSS files. +- If you aren't using this theme while doing wireframes of the functionality of + your sub-theme, you can remove wireframes.css from your sub-theme's .info file + and delete the file as well. + +That leaves just 17 CSS files. (Okay, still quite a few, but better than 28.) + +- Instead of one monolithic stylesheet, your sub-theme's CSS files are organized + into several smaller stylesheets that are grouped to allow cascading across + common Drupal template files. +- The order of the stylesheets is designed to allow CSS authors to use the + lowest specificity possible to achieve the required styling. + + +ORDER AND PURPOSE OF DEFAULT STYLESHEETS +---------------------------------------- + +First off, if you find you don't like this organization of stylesheets, you are +free to change it; simply edit the stylesheet declarations in your sub-theme's +.info file. This structure was crafted based on several years of experience +theming Drupal websites. + +- html-reset.css: + This is the place where you should set the default styling for all HTML + elements and standardize the styling across browsers. If you prefer a specific + reset method, feel free to add it. + +- layout-fixed.css: +- layout-liquid.css: + Zen's default layout is based on the Zen Columns layout method. The + layout-fixed.css file is used by default and can be swapped with the + layout-liquid.css file. These files are designed to be easily replaced. If you + are more familiar with a different CSS layout method, such as Blueprint or + 960.gs, you can replace these files with your choice of layout CSS file. + +- page-backgrounds.css: + Layered backgrounds across scattered divs can be easier to manage if they are + centralized in one location. + +- tabs.css: +- messages.css: + While most of the CSS rulesets in your sub-theme are guidelines without any + actual properties, the tabs and messages stylesheets contain actual styling + for Drupal tabs and Drupal status messages; two common Drupal elements that + are often neglected by site desiners. Zen provides some basic styling which + you are free to use or to rip out and replace. + +- pages.css: + Page styling for the markup in the page.tpl.php template. + +- blocks.css: + Block styling for the markup in the block.tpl.php template. + +- navigation.css: + The styling for your site's menus can get quite bulky and its easier to see + all the styles if they are grouped together rather then across the + header/footer sections of pages.css and in blocks.css. + +- views-styles.css: + Views styling for the markup in various views templates. You'll notice this + stylesheet isn't called "views.css" as that would override (remove) the Views + module's stylesheet. + +- nodes.css: + Node styling for the markkup in the node.tpl.php template. + +- comments.css: + Comment styling for the markup in the comment-wrapper.tpl.php and + comments.tpl.php templates. + +- forms.css: + Form styling for the markup in various Drupal forms. + +- fields.css: + Field styling for the markup produced by theme_field(). + +- print.css: + The print styles for all markup. + +- ie.css: +- ie6.css: + The Internet Explorer stylesheets are added via conditional comments. Many CSS + authors find using IE "conditional stylesheets" much easier then writing + rulesets with CSS hacks that are known to only apply to various versions of + IE. An alternative method presented by Paul Irish can be found at + http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ + +In these stylesheets, we have included all of the classes and IDs from this +theme's tpl.php files. We have also included many of the useful Drupal core +styles to make it easier for theme developers to see them. + + +DRUPAL CORE'S STYLESHEETS +------------------------- + +Many of these styles are over-riding Drupal's core stylesheets, so if you remove +a declaration from them, the styles may still not be what you want since +Drupal's core stylesheets are still styling the element. See the +drupal6-reference.css file for a complete list of all Drupal 6.x core styles. + +In addition to the style declarations in these stylesheets, other Drupal styles +that you might want to override or augment are those for: + + Book Navigation See line 74 of drupal6-reference.css file + Forum See line 197 of drupal6-reference.css file + Menus See line 667 of drupal6-reference.css file + News Aggregator See line 20 of drupal6-reference.css file + Polls See line 287 of drupal6-reference.css file + Search See line 320 of drupal6-reference.css file + User Profiles See line 945 of drupal6-reference.css file + + +INTERNET EXLORER HATES YOU +-------------------------- + +All versions of IE limit you to 31 stylesheets total. What that means is that +only the first 31 stylesheets will load, ignoring the others. So you'll have +missing styles in IE7 and later and a broken layout in IE6. + +This is a known bug in IE: http://support.microsoft.com/kb/262161 + +Please read http://john.albin.net/css/ie-stylesheets-not-loading for the gory +details. diff --git a/themes/zen/STARTERKIT/css/block-editing-rtl.css b/themes/zen/STARTERKIT/css/block-editing-rtl.css new file mode 100644 index 0000000..2b7cc47 --- /dev/null +++ b/themes/zen/STARTERKIT/css/block-editing-rtl.css @@ -0,0 +1,10 @@ +/** + * @file + * RTL companion for the block-editing.css file. + */ + + +div.block.with-block-editing div.edit { + left: 0; + right: auto; +} diff --git a/themes/zen/STARTERKIT/css/block-editing.css b/themes/zen/STARTERKIT/css/block-editing.css new file mode 100644 index 0000000..ba86d71 --- /dev/null +++ b/themes/zen/STARTERKIT/css/block-editing.css @@ -0,0 +1,25 @@ +/** + * @file + * Zen's rollover edit links for blocks. + */ + + +div.block.with-block-editing { + position: relative; +} + +div.block.with-block-editing div.edit { + display: none; + position: absolute; + right: 0; /* LTR */ + top: 0; + z-index: 40; + border: 1px solid #eee; + padding: 0 2px; + font-size: 0.75em; + background-color: #fff; +} + +div.block.with-block-editing:hover div.edit { + display: block; +} diff --git a/themes/zen/STARTERKIT/css/blocks.css b/themes/zen/STARTERKIT/css/blocks.css new file mode 100644 index 0000000..1a050be --- /dev/null +++ b/themes/zen/STARTERKIT/css/blocks.css @@ -0,0 +1,96 @@ +/** + * @file + * Block Styling + */ + + +.block /* Block wrapper */ { + margin-bottom: 1em; +} + +.block.first /* The first block in the region */ { +} + +.block.last /* The last block in the region */ { +} + +.block.region-odd /* Zebra striping for each block in the region */ { +} + +.block.region-even /* Zebra striping for each block in the region */ { +} + +.block.odd /* Zebra striping independent of each region */ { +} + +.block.even /* Zebra striping independent of each region */ { +} + +.region-count-1 /* Incremental count for each block in the region */ { +} + +.count-1 /* Incremental count independent of each region */ { +} + +.block h2.title /* Block title */ { +} + +.block .content /* Block's content wrapper */ { +} + +#block-aggregator-category-1 /* Block for the latest news items in the first category */ { +} + +#block-aggregator-feed-1 /* Block for the latest news items in the first feed */ { +} + +#block-block-1 /* First administrator-defined block */ { +} + +#block-blog-0 /* "Recent blog posts" block */ { +} + +#block-book-0 /* "Book navigation" block for the current book's table of contents */ { +} + +#block-comment-0 /* "Recent comments" block */ { +} + +#block-forum-0 /* "Active forum topics" block */ { +} + +#block-forum-1 /* "New forum topics" block */ { +} + +#block-menu-primary-links /* "Primary links" block */ { +} + +#block-menu-secondary-links /* "Secondary links" block */ { +} + +#block-node-0 /* "Syndicate" block for primary RSS feed */ { +} + +#block-poll-0 /* "Most recent poll" block */ { +} + +#block-profile-0 /* "Author information" block for the profile of the page's author */ { +} + +#block-search-0 /* "Search form" block */ { +} + +#block-statistics-0 /* "Popular content" block */ { +} + +#block-user-0 /* "User login form" block */ { +} + +#block-user-1 /* "Navigation" block for Drupal navigation menu */ { +} + +#block-user-2 /* "Who's new" block for a list of the newest users */ { +} + +#block-user-3 /* "Who's online" block for a list of the online users */ { +} diff --git a/themes/zen/STARTERKIT/css/comments.css b/themes/zen/STARTERKIT/css/comments.css new file mode 100644 index 0000000..0eed0cb --- /dev/null +++ b/themes/zen/STARTERKIT/css/comments.css @@ -0,0 +1,79 @@ +/** + * @file + * Comment Styling + */ + + +#comments /* Wrapper for the list of comments and its title */ { + margin: 1em 0; +} + +#comments h2.title /* Heading for the list of comments */ { +} + +.comment /* Wrapper for a single comment */ { +} + +.comment-preview /* Preview of the comment before submitting new or updated comment */ { +} + +.comment.new /* A new comment since the user last viewed the page. */ { +} + +.comment.first /* The first comment in the list of comments */ { +} + +.comment.last /* The last comment in the list of comments */ { +} + +.comment.odd /* An odd-numbered comment in the list of comments */ { +} + +.comment.even /* An even-numbered comment in the list of comments */ { +} + +.comment-unpublished /* Unpublished comments */ { + /* background-color: #fff4f4; */ /* Drupal core uses a #fff4f4 background */ +} + +.comment-unpublished div.unpublished /* The word "Unpublished" displayed underneath the content. See also the div.unpublished declaration in the nodes.css. */ { +} + +.comment-by-anonymous /* A comment created by an anonymous user */ { +} + +.comment-by-node-author /* A comment created by the node's author */ { +} + +.comment-by-viewer /* A comment created by the current user */ { +} + +.comment h3.title /* Comment title */ { +} + +.new /* "New" marker for comments that are new for the current user */ { + color: #c00; +} + +.comment .picture /* The picture of the comment author */ { +} + +.comment .submitted /* The "posted by" information */ { +} + +.comment .content /* Comment's content wrapper */ { +} + +.comment .user-signature /* The user's signature */ { +} + +.comment ul.links /* Comment links. See also the ul.links declaration in the pages.css. */ { +} + +.indented /* Nested comments are indented */ { + /* margin-left: 25px; */ /* Drupal core uses a 25px left margin */ +} + +.preview .comment /* Preview of the comment before submitting new or updated comment */ { + /* background-color: #ffffea; */ /* Drupal core uses a #ffffea background */ +} diff --git a/themes/zen/STARTERKIT/css/drupal6-reference.css b/themes/zen/STARTERKIT/css/drupal6-reference.css new file mode 100644 index 0000000..14df3ef --- /dev/null +++ b/themes/zen/STARTERKIT/css/drupal6-reference.css @@ -0,0 +1,1983 @@ +/** + * @file + * DRUPAL 6.x Reference CSS + * + * THIS FILE IS FOR REFERENCE ONLY AND IS NOT USED IN ANY WAY BY THE ZEN THEME. + * + * Drupal has very modular CSS. Which means that only the CSS that is needed + * for a particular page is loaded. This is a good thing. + * + * However, this makes it difficult for theme developers to discover how and + * where a particular style is coming from. So, here in all its glory is the + * complete CSS included with Drupal core 6.x. + * + * And, if you're not already, you should check out the free Firebug extension + * for Firefox. With it, you can inspect elements and easily view and play with + * its CSS styles. http://www.getfirebug.com + */ + + +/* + * modules/aggregator/aggregator-rtl.css + */ + +#aggregator .feed-source .feed-icon { + float: left; +} + + +/* + * modules/aggregator/aggregator.css + */ + +#aggregator .feed-source .feed-title { + margin-top: 0; +} +#aggregator .feed-source .feed-image img { + margin-bottom: 0.75em; +} +#aggregator .feed-source .feed-icon { + float: right; /* LTR */ + display: block; +} +#aggregator .feed-item { + margin-bottom: 1.5em; +} +#aggregator .feed-item-title { + margin-bottom: 0; + font-size: 1.3em; +} +#aggregator .feed-item-meta, #aggregator .feed-item-body { + margin-bottom: 0.5em; +} +#aggregator .feed-item-categories { + font-size: 0.9em; +} +#aggregator td { + vertical-align: bottom; +} +#aggregator td.categorize-item { + white-space: nowrap; +} +#aggregator .categorize-item .news-item .body { + margin-top: 0; +} +#aggregator .categorize-item h3 { + margin-bottom: 1em; + margin-top: 0; +} + + +/* + * modules/block/block.css + */ + +#blocks td.region { + font-weight: bold; +} +#blocks tr.region-message { + font-weight: normal; + color: #999; +} +#blocks tr.region-populated { + display: none; +} +.block-region { + background-color: #ff6; + margin-top: 4px; + margin-bottom: 4px; + padding: 3px; +} + + +/* + * modules/book/book-rtl.css + */ + +.book-navigation .page-previous { + float: right; +} +.book-navigation .page-up { + float: right; +} + + +/* + * modules/book/book.css + */ + +.book-navigation .menu { + border-top: 1px solid #888; + padding: 1em 0 0 3em; +} +.book-navigation .page-links { + border-top: 1px solid #888; + border-bottom: 1px solid #888; + text-align: center; + padding: 0.5em; +} +.book-navigation .page-previous { + text-align: left; + width: 42%; + display: block; + float: left; /* LTR */ +} +.book-navigation .page-up { + margin: 0 5%; + width: 4%; + display: block; + float: left; /* LTR */ +} +.book-navigation .page-next { + text-align: right; + width: 42%; + display: block; + float: right; +} +#book-outline { + min-width: 56em; +} +.book-outline-form .form-item { + margin-top: 0; + margin-bottom: 0; +} +#edit-book-bid-wrapper .description { + clear: both; +} +#book-admin-edit select { + margin-right: 24px; +} +#book-admin-edit select.progress-disabled { + margin-right: 0; +} +#book-admin-edit tr.ahah-new-content { + background-color: #ffd; +} +#book-admin-edit .form-item { + float: left; +} + + +/* + * modules/color/color-rtl.css + */ + +#placeholder { + left: 0; + right: auto; +} + +/* Palette */ +.color-form .form-item { + padding-left: 0; + padding-right: 1em; +} +.color-form label { + float: right; + clear: right; +} +.color-form .form-text, .color-form .form-select { + float: right; +} +.color-form .form-text { + margin-right: 0; + margin-left: 5px; +} + +#palette .hook { + float: right; +} +#palette .down, #palette .up, #palette .both { + background: url(images/hook-rtl.png) no-repeat 0 0; +} +#palette .up { + background-position: 0 -27px; +} +#palette .both { + background-position: 0 -54px; +} + +#palette .lock { + float: right; + right: -10px; +} +html.js #preview { + float: right; +} + + +/* + * modules/color/color.css + */ + +/* Farbtastic placement */ +.color-form { + max-width: 50em; + position: relative; +} +#placeholder { + position: absolute; + top: 0; + right: 0; /* LTR */ +} + +/* Palette */ +.color-form .form-item { + height: 2em; + line-height: 2em; + padding-left: 1em; /* LTR */ + margin: 0.5em 0; +} +.color-form label { + float: left; /* LTR */ + clear: left; /* LTR */ + width: 10em; +} +.color-form .form-text, .color-form .form-select { + float: left; /* LTR */ +} +.color-form .form-text { + text-align: center; + margin-right: 5px; /* LTR */ + cursor: pointer; +} + +#palette .hook { + float: left; /* LTR */ + margin-top: 3px; + width: 16px; + height: 16px; +} +#palette .down, #palette .up, #palette .both { + background: url(images/hook.png) no-repeat 100% 0; /* LTR */ +} +#palette .up { + background-position: 100% -27px; /* LTR */ +} +#palette .both { + background-position: 100% -54px; /* LTR */ +} + +#palette .lock { + float: left; /* LTR */ + position: relative; + top: -1.4em; + left: -10px; /* LTR */ + width: 20px; + height: 25px; + background: url(images/lock.png) no-repeat 50% 2px; + cursor: pointer; +} +#palette .unlocked { + background-position: 50% -22px; +} +#palette .form-item { + width: 20em; +} +#palette .item-selected { + background: #eee; +} + +/* Preview */ +#preview { + display: none; +} +html.js #preview { + display: block; + position: relative; + float: left; /* LTR */ +} + + +/* + * modules/comment/comment-rtl.css + */ + +.indented { + margin-left: 0; + margin-right: 25px; +} + + +/* + * modules/comment/comment.css + */ + +.indented { + margin-left: 25px; /* LTR */ +} +.comment-unpublished { + background-color: #fff4f4; +} +.preview .comment { + background-color: #ffffea; +} + + +/* + * modules/dblog/dblog-rtl.css + */ + +#edit-type-wrapper, #edit-severity-wrapper { + float: right; + padding-right: 0; + padding-left: .8em; +} + + +/* + * modules/dblog/dblog.css + */ + +#edit-type-wrapper, #edit-severity-wrapper { + float: left; /* LTR */ + padding-right: .8em; /* LTR */ + margin: 0.1em; + /** + * In Opera 9, DOM elements with the property of "overflow: auto" + * will partially hide its contents with unnecessary scrollbars when + * its immediate child is floated without an explicit width set. + */ + width: 15em; +} +#dblog-filter-form .form-item select.form-select { + width: 100%; +} +tr.dblog-user { + background: #ffd; +} +tr.dblog-user .active { + background: #eed; +} +tr.dblog-content { + background: #ddf; +} +tr.dblog-content .active { + background: #cce; +} +tr.dblog-page-not-found, tr.dblog-access-denied { + background: #dfd; +} +tr.dblog-page-not-found .active, tr.dblog-access-denied .active { + background: #cec; +} +tr.dblog-error { + background: #ffc9c9; +} +tr.dblog-error .active { + background: #eeb9b9; +} + + +/* + * modules/forum/forum-rtl.css + */ + +#forum tr td.forum { + padding-left: 0.5em; + padding-right: 25px; + background-position: 98% 2px; +} +.forum-topic-navigation { + padding: 1em 3em 0 0; +} +.forum-topic-navigation .topic-previous { + text-align: left; + float: right; +} +.forum-topic-navigation .topic-next { + text-align: right; + float: left; +} + + +/* + * modules/forum/forum.css + */ + +#forum .description { + font-size: 0.9em; + margin: 0.5em; +} +#forum td.created, #forum td.posts, #forum td.topics, #forum td.last-reply, #forum td.replies, #forum td.pager { + white-space: nowrap; +} +#forum td.posts, #forum td.topics, #forum td.replies, #forum td.pager { + text-align: center; +} +#forum tr td.forum { + padding-left: 25px; /* LTR */ + background-position: 2px 2px; /* LTR */ + background-image: url(../../misc/forum-default.png); + background-repeat: no-repeat; +} +#forum tr.new-topics td.forum { + background-image: url(../../misc/forum-new.png); +} +#forum div.indent { + margin-left: 20px; +} + +.forum-topic-navigation { + padding: 1em 0 0 3em; /* LTR */ + border-top: 1px solid #888; + border-bottom: 1px solid #888; + text-align: center; + padding: 0.5em; +} +.forum-topic-navigation .topic-previous { + text-align: right; /* LTR */ + float: left; /* LTR */ + width: 46%; +} +.forum-topic-navigation .topic-next { + text-align: left; /* LTR */ + float: right; /* LTR */ + width: 46%; +} + + +/* + * modules/help/help-rtl.css + */ + +.help-items { + float: right; + padding-right: 0; + padding-left: 3%; +} +.help-items-last { + padding-right: 0; + padding-left: 0; +} + + +/* + * modules/help/help.css + */ + +.help-items { + float: left; /* LTR */ + width: 22%; + padding-right: 3%; /* LTR */ +} +.help-items-last { + padding-right: 0; /* LTR */ +} + + +/* + * modules/locale/locale.css + */ + +.locale-untranslated { + font-style: normal; + text-decoration: line-through; +} + + +/* + * modules/node/node-rtl.css + */ + +#node-admin-buttons { + float: right; + margin-left: 0; + margin-right: 0.5em; + clear: left; +} + + +/* + * modules/node/node.css + */ + +.node-unpublished { + background-color: #fff4f4; +} +.preview .node { + background-color: #ffffea; +} +#node-admin-filter ul { + list-style-type: none; + padding: 0; + margin: 0; + width: 100%; +} +#node-admin-buttons { + float: left; /* LTR */ + margin-left: 0.5em; /* LTR */ + clear: right; /* LTR */ +} +td.revision-current { + background: #ffc; +} +.node-form .form-text { + display: block; + width: 95%; +} +.node-form .container-inline .form-text { + display: inline; + width: auto; +} +.node-form .standard { + clear: both; +} +.node-form textarea { + display: block; + width: 95%; +} +.node-form .attachments fieldset { + float: none; + display: block; +} +.terms-inline { + display: inline; +} + + +/* + * modules/openid/openid.css + */ + +#edit-openid-identifier { + background-image: url("login-bg.png"); + background-position: 0% 50%; + background-repeat: no-repeat; + padding-left: 20px; +} +div#edit-openid-identifier-wrapper { + display: block; +} +html.js #user-login-form div#edit-openid-identifier-wrapper, +html.js #user-login div#edit-openid-identifier-wrapper { + display: none; +} +html.js #user-login-form li.openid-link, +html.js #user-login li.openid-link { + display : block; + list-style: none; +} +#user-login-form ul { + margin-top: 0; +} +#user-login ul { + margin: 0 0 5px; +} +#user-login ul li { + margin: 0; +} +#user-login-form li.openid-link, +#user-login-form li.user-link, +#user-login li.openid-link, +#user-login li.user-link { + display: none; +} +#user-login-form li.openid-link a, +#user-login li.openid-link a { + background: transparent url("login-bg.png") no-repeat 0 2px; + padding: 0 20px; +} + + +/* + * modules/poll/poll-rtl.css + */ + +.poll .bar .foreground { + float: right; +} +.poll .percent { + text-align: left; +} +.poll .vote-form .choices { + text-align: right; +} + + +/* + * modules/poll/poll.css + */ + +.poll .bar { + height: 1em; + margin: 1px 0; + background-color: #ddd; +} +.poll .bar .foreground { + background-color: #000; + height: 1em; + float: left; /* LTR */ +} +.poll .links { + text-align: center; +} +.poll .percent { + text-align: right; /* LTR */ +} +.poll .total { + text-align: center; +} +.poll .vote-form { + text-align: center; +} +.poll .vote-form .choices { + text-align: left; /* LTR */ + margin: 0 auto; + display: table; +} +.poll .vote-form .choices .title { + font-weight: bold; +} +.node-form #edit-poll-more { + margin: 0; +} +td.poll-chtext { + width: 80%; +} +td.poll-chvotes .form-text { + width: 85%; +} + + +/* + * modules/profile/profile.css + */ + +#profile-fields td.category { + font-weight: bold; +} +#profile-fields tr.category-message { + color: #999; +} +#profile-fields tr.category-populated { + display: none; +} + + +/* + * modules/search/search-rtl.css + */ + +.search-advanced .criterion { + float: right; + margin-right: 0; + margin-left: 2em; +} +.search-advanced .action { + float: right; + clear: right; +} + + +/* + * modules/search/search.css + */ + +.search-form { + margin-bottom: 1em; +} +.search-form input { + margin-top: 0; + margin-bottom: 0; +} +.search-results p { + margin-top: 0; +} +.search-results dt { + font-size: 1.1em; +} +.search-results dd { + margin-bottom: 1em; +} +.search-results .search-info { + font-size: 0.85em; +} +.search-advanced .criterion { + float: left; /* LTR */ + margin-right: 2em; /* LTR */ +} +.search-advanced .action { + float: left; /* LTR */ + clear: left; /* LTR */ +} + + +/* + * modules/system/admin-rtl.css + */ + +div.admin-panel .body { + padding: 0 8px 2px 4px; +} + +div.admin .expert-link { + text-align: left; + margin-right: 0; + margin-left: 1em; + padding-right: 0; + padding-left: 4px; +} + +table.system-status-report th, table.system-status-report tr.merge-up td { + padding-right: 30px; +} + +table.system-status-report th { + background-position: 95% 50%; +} + +table.screenshot { + margin-left: 1em; +} + +.date-container { + clear: right; +} +.date-container .select-container, .date-container .custom-container { + float: right; +} +.date-container .custom-container { + margin-left: 0; + margin-right: 15px; +} + + +/* + * modules/system/admin.css + */ + +/* +** Formatting for administration page +*/ +div.admin-panel { + margin: 0; + padding: 5px 5px 15px 5px; +} + +div.admin-panel .description { + margin: 0 0 3px; + padding: 2px 0 3px 0; +} + +div.admin-panel .body { + padding: 0 4px 2px 8px; /* LTR */ +} + +div.admin { + padding-top: 15px; +} + +div.admin .left { + float: left; + width: 47%; + margin-left: 1em; +} +div.admin .right { + float: right; + width: 47%; + margin-right: 1em; +} + +div.admin .expert-link { + text-align: right; /* LTR */ + margin-right: 1em; /* LTR */ + padding-right: 4px; /* LTR */ +} + +table.package { + width: 100%; +} +table.package .description { + width: 100%; +} +table.package .version { + direction: ltr; +} +div.admin-dependencies, div.admin-required { + font-size: 0.9em; + color: #444; +} +span.admin-disabled { + color: #800; +} +span.admin-enabled { + color: #080; +} +span.admin-missing { + color: #f00; +} + +/** + * Formatting for status report + */ +table.system-status-report th { + border-bottom: 1px solid #ccc; +} +table.system-status-report th, table.system-status-report tr.merge-up td { + padding-left: 30px; /* LTR */ +} +table.system-status-report th { + background-repeat: no-repeat; + background-position: 5px 50%; /* LTR */ + padding-top: 6px; + padding-bottom: 6px; +} +table.system-status-report tr.error th { + background-image: url(../../misc/watchdog-error.png); +} +table.system-status-report tr.warning th { + background-image: url(../../misc/watchdog-warning.png); +} +table.system-status-report tr.ok th { + background-image: url(../../misc/watchdog-ok.png); +} + +/** + * Formatting for theme configuration + */ +.theme-settings-left { + float: left; + width: 49%; +} +.theme-settings-right { + float: right; + width: 49%; +} +.theme-settings-bottom { + clear: both; +} + +/** + * Formatting for theme overview + */ +table.screenshot { + margin-right: 1em; /* LTR */ +} +.theme-info h2 { + margin-bottom: 0; +} +.theme-info p { + margin-top: 0; +} + + +/** + * Date and time settings page + */ +.date-container { + overflow: auto; + clear: left; /* LTR */ +} +.date-container .form-item { + margin-top: 0; +} +.date-container .select-container, .date-container .custom-container { + float: left; /* LTR */ +} +.date-container .custom-container { + margin-left: 15px; /* LTR */ + width: 50%; +} +html.js .custom-container label { + visibility: hidden; +} + + +/* + * modules/system/defaults-rtl.css + */ + +th { + text-align: right; + padding-right: 0; + padding-left: 1em; +} + + +/* + * modules/system/defaults.css + */ + +/* +** HTML elements +*/ +fieldset { + margin-bottom: 1em; + padding: .5em; +} +form { + margin: 0; + padding: 0; +} +hr { + height: 1px; + border: 1px solid gray; +} +img { + border: 0; +} +table { + border-collapse: collapse; +} +th { + text-align: left; /* LTR */ + padding-right: 1em; /* LTR */ + border-bottom: 3px solid #ccc; +} + +/* +** Markup free clearing +** Details: http://www.positioniseverything.net/easyclearing.html +*/ +.clear-block:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.clear-block { + display: inline-block; +} + +/* Hides from IE-mac \*/ +* html .clear-block { + height: 1%; +} +.clear-block { + display: block; +} +/* End hide from IE-mac */ + + +/* + * modules/system/maintenance.css + */ + +/* Update styles */ +#update-results { + margin-top: 3em; + padding: 0.25em; + border: 1px solid #ccc; + background: #eee; + font-size: smaller; +} +#update-results h2 { + margin-top: 0.25em; +} +#update-results h4 { + margin-bottom: 0.25em; +} +#update-results li.none { + color: #888; + font-style: italic; +} +#update-results li.failure strong { + color: #b63300; +} + + +/* + * modules/system/system-menus-rtl.css + */ + +ul.menu { + text-align:right; +} +ul.menu li { + margin: 0 0.5em 0 0; +} +li.expanded { + padding: 0.2em 0 0 0.5em; +} +li.collapsed { + list-style-image: url(../../misc/menu-collapsed-rtl.png); + padding: 0.2em 0 0 0.5em; +} +li.leaf { + padding: 0.2em 0 0 0.5em; +} + + +/* + * modules/system/system-menus.css + */ + +ul.menu { + list-style: none; + border: none; + text-align:left; /* LTR */ +} +ul.menu li { + margin: 0 0 0 0.5em; /* LTR */ +} +li.expanded { + list-style-type: circle; + list-style-image: url(../../misc/menu-expanded.png); + padding: 0.2em 0.5em 0 0; /* LTR */ + margin: 0; +} +li.collapsed { + list-style-type: disc; + list-style-image: url(../../misc/menu-collapsed.png); /* LTR */ + padding: 0.2em 0.5em 0 0; /* LTR */ + margin: 0; +} +li.leaf { + list-style-type: square; + list-style-image: url(../../misc/menu-leaf.png); + padding: 0.2em 0.5em 0 0; /* LTR */ + margin: 0; +} +li a.active { + color: #000; +} +td.menu-disabled { + background: #ccc; +} +ul.links { + margin: 0; + padding: 0; +} +ul.links.inline { + display: inline; +} +ul.links li { + display: inline; + list-style-type: none; + padding: 0 0.5em; +} +.block ul { + margin: 0; + padding: 0 0 0.25em 1em; /* LTR */ +} + + +/* + * modules/system/system-rtl.css + */ + +thead th { + text-align: right; + padding-left: 1em; + padding-right: 0.5em; +} + +.item-list .icon { + float: left; + padding-left: 0; + padding-right: 0.25em; + clear: left; +} +.item-list ul li { + margin: 0 1.5em 0.25em 0; +} + +.more-link { + text-align: left; +} +.more-help-link { + text-align: left; +} + +dl.multiselect dt, dl.multiselect dd { + float: right; + margin: 0 0 0 1em; +} + +.block ul { + padding: 0 1em 0.25em 0; +} + +ul.primary { + padding: 0 1em 0 0; +} +ul.primary li a { + margin-right: 5px; + margin-left: 0.5em; +} +ul.secondary li { + display: inline; + padding: 0 1em; + border-right: none; + border-left: 1px solid #ccc; +} +html.js input.form-autocomplete { + background-position: 0% 2px; +} +html.js input.throbbing { + background-position: 0% -18px; +} + +html.js fieldset.collapsible legend a { + padding-left: 0; + padding-right: 15px; + background-position: 98% 75%; +} +html.js fieldset.collapsed legend a { + background-image: url(../../misc/menu-collapsed-rtl.png); + background-position: 98% 50%; +} + +div.teaser-button-wrapper { + float: left; + padding-right: 0; + padding-left: 5%; +} +.teaser-checkbox div.form-item { + float: left; + margin: 0 0 0 5%; +} +.progress .percentage { + float: left; +} +.progess-disabled { + float: right; +} +.ahah-progress { + float: right; +} +.ahah-progress .throbber { + float: right; +} +input.password-field { + margin-left: 10px; + margin-right: 0; +} +input.password-confirm { + margin-left: 10px; + margin-right: 0; +} + +.draggable a.tabledrag-handle { + float: right; + margin: -0.4em -0.5em -0.4em 0; + padding: 0.42em 0.5em 0.42em 1.5em; +} +div.indentation { + margin: -0.4em -0.4em -0.4em 0.2em; + padding: 0.42em 0.6em 0.42em 0; + float: right; +} +div.tree-child, div.tree-child-last { + background-position: -65px center; +} + + +/* + * modules/system/system.css + */ + +/* +** HTML elements +*/ +body.drag { + cursor: move; +} +th.active img { + display: inline; +} +tr.even, tr.odd { + background-color: #eee; + border-bottom: 1px solid #ccc; + padding: 0.1em 0.6em; +} +tr.drag { + background-color: #fffff0; +} +tr.drag-previous { + background-color: #ffd; +} +td.active { + background-color: #ddd; +} +td.checkbox, th.checkbox { + text-align: center; +} +tbody { + border-top: 1px solid #ccc; +} +tbody th { + border-bottom: 1px solid #ccc; +} +thead th { + text-align: left; /* LTR */ + padding-right: 1em; /* LTR */ + border-bottom: 3px solid #ccc; +} + +/* +** Other common styles +*/ +.breadcrumb { + padding-bottom: .5em +} +div.indentation { + width: 20px; + height: 1.7em; + margin: -0.4em 0.2em -0.4em -0.4em; /* LTR */ + padding: 0.42em 0 0.42em 0.6em; /* LTR */ + float: left; /* LTR */ +} +div.tree-child { + background: url(../../misc/tree.png) no-repeat 11px center; /* LTR */ +} +div.tree-child-last { + background: url(../../misc/tree-bottom.png) no-repeat 11px center; /* LTR */ +} +div.tree-child-horizontal { + background: url(../../misc/tree.png) no-repeat -11px center; +} +.error { + color: #e55; +} +div.error { + border: 1px solid #d77; +} +div.error, tr.error { + background: #fcc; + color: #200; + padding: 2px; +} +.warning { + color: #e09010; +} +div.warning { + border: 1px solid #f0c020; +} +div.warning, tr.warning { + background: #ffd; + color: #220; + padding: 2px; +} +.ok { + color: #008000; +} +div.ok { + border: 1px solid #00aa00; +} +div.ok, tr.ok { + background: #dfd; + color: #020; + padding: 2px; +} +.item-list .icon { + color: #555; + float: right; /* LTR */ + padding-left: 0.25em; /* LTR */ + clear: right; /* LTR */ +} +.item-list .title { + font-weight: bold; +} +.item-list ul { + margin: 0 0 0.75em 0; + padding: 0; +} +.item-list ul li { + margin: 0 0 0.25em 1.5em; /* LTR */ + padding: 0; + list-style: disc; +} +ol.task-list li.active { + font-weight: bold; +} +.form-item { + margin-top: 1em; + margin-bottom: 1em; +} +tr.odd .form-item, tr.even .form-item { + margin-top: 0; + margin-bottom: 0; + white-space: nowrap; +} +tr.merge-down, tr.merge-down td, tr.merge-down th { + border-bottom-width: 0 !important; +} +tr.merge-up, tr.merge-up td, tr.merge-up th { + border-top-width: 0 !important; +} +.form-item input.error, .form-item textarea.error, .form-item select.error { + border: 2px solid red; +} +.form-item .description { + font-size: 0.85em; +} +.form-item label { + display: block; + font-weight: bold; +} +.form-item label.option { + display: inline; + font-weight: normal; +} +.form-checkboxes, .form-radios { + margin: 1em 0; +} +.form-checkboxes .form-item, .form-radios .form-item { + margin-top: 0.4em; + margin-bottom: 0.4em; +} +.marker, .form-required { + color: #f00; +} +.more-link { + text-align: right; /* LTR */ +} +.more-help-link { + font-size: 0.85em; + text-align: right; /* LTR */ +} +.nowrap { + white-space: nowrap; +} +.item-list .pager { + clear: both; + text-align: center; +} +.item-list .pager li { + background-image:none; + display:inline; + list-style-type:none; + padding: 0.5em; +} +.pager-current { + font-weight:bold; +} +.tips { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; + font-size: 0.9em; +} +dl.multiselect dd.b, dl.multiselect dd.b .form-item, dl.multiselect dd.b select { + font-family: inherit; + font-size: inherit; + width: 14em; +} +dl.multiselect dd.a, dl.multiselect dd.a .form-item { + width: 8em; +} +dl.multiselect dt, dl.multiselect dd { + float: left; /* LTR */ + line-height: 1.75em; + padding: 0; + margin: 0 1em 0 0; /* LTR */ +} +dl.multiselect .form-item { + height: 1.75em; + margin: 0; +} + +/* +** Inline items (need to override above) +*/ +.container-inline div, .container-inline label { + display: inline; +} + +/* +** Tab navigation +*/ +ul.primary { + border-collapse: collapse; + padding: 0 0 0 1em; /* LTR */ + white-space: nowrap; + list-style: none; + margin: 5px; + height: auto; + line-height: normal; + border-bottom: 1px solid #bbb; +} +ul.primary li { + display: inline; +} +ul.primary li a { + background-color: #ddd; + border-color: #bbb; + border-width: 1px; + border-style: solid solid none solid; + height: auto; + margin-right: 0.5em; /* LTR */ + padding: 0 1em; + text-decoration: none; +} +ul.primary li.active a { + background-color: #fff; + border: 1px solid #bbb; + border-bottom: #fff 1px solid; +} +ul.primary li a:hover { + background-color: #eee; + border-color: #ccc; + border-bottom-color: #eee; +} +ul.secondary { + border-bottom: 1px solid #bbb; + padding: 0.5em 1em; + margin: 5px; +} +ul.secondary li { + display: inline; + padding: 0 1em; + border-right: 1px solid #ccc; /* LTR */ +} +ul.secondary a { + padding: 0; + text-decoration: none; +} +ul.secondary a.active { + border-bottom: 4px solid #999; +} + +/* +** Autocomplete styles +*/ +/* Suggestion list */ +#autocomplete { + position: absolute; + border: 1px solid; + overflow: hidden; + z-index: 100; +} +#autocomplete ul { + margin: 0; + padding: 0; + list-style: none; +} +#autocomplete li { + background: #fff; + color: #000; + white-space: pre; + cursor: default; +} +#autocomplete li.selected { + background: #0072b9; + color: #fff; +} +/* Animated throbber */ +html.js input.form-autocomplete { + background-image: url(../../misc/throbber.gif); + background-repeat: no-repeat; + background-position: 100% 2px; /* LTR */ +} +html.js input.throbbing { + background-position: 100% -18px; /* LTR */ +} + +/* +** Collapsing fieldsets +*/ +html.js fieldset.collapsed { + border-bottom-width: 0; + border-left-width: 0; + border-right-width: 0; + margin-bottom: 0; + height: 1em; +} +html.js fieldset.collapsed * { + display: none; +} +html.js fieldset.collapsed legend { + display: block; +} +html.js fieldset.collapsible legend a { + padding-left: 15px; /* LTR */ + background: url(../../misc/menu-expanded.png) 5px 75% no-repeat; /* LTR */ +} +html.js fieldset.collapsed legend a { + background-image: url(../../misc/menu-collapsed.png); /* LTR */ + background-position: 5px 50%; /* LTR */ +} +/* Note: IE-only fix due to '* html' (breaks Konqueror otherwise). */ +* html.js fieldset.collapsed legend, +* html.js fieldset.collapsed legend *, +* html.js fieldset.collapsed table * { + display: inline; +} +/* For Safari 2 to prevent collapsible fieldsets containing tables from dissapearing due to tableheader.js. */ +html.js fieldset.collapsible { + position: relative; +} +html.js fieldset.collapsible legend a { + display: block; +} +/* Avoid jumping around due to margins collapsing into collapsible fieldset border */ +html.js fieldset.collapsible .fieldset-wrapper { + overflow: auto; +} + +/* +** Resizable text areas +*/ +.resizable-textarea { + width: 95%; +} +.resizable-textarea .grippie { + height: 9px; + overflow: hidden; + background: #eee url(../../misc/grippie.png) no-repeat center 2px; + border: 1px solid #ddd; + border-top-width: 0; + cursor: s-resize; +} +html.js .resizable-textarea textarea { + margin-bottom: 0; + width: 100%; + display: block; +} + +/* +** Table drag and drop. +*/ +.draggable a.tabledrag-handle { + cursor: move; + float: left; /* LTR */ + height: 1.7em; + margin: -0.4em 0 -0.4em -0.5em; /* LTR */ + padding: 0.42em 1.5em 0.42em 0.5em; /* LTR */ + text-decoration: none; +} +a.tabledrag-handle:hover { + text-decoration: none; +} +a.tabledrag-handle .handle { + margin-top: 4px; + height: 13px; + width: 13px; + background: url(../../misc/draggable.png) no-repeat 0 0; +} +a.tabledrag-handle-hover .handle { + background-position: 0 -20px; +} + +/* +** Teaser splitter +*/ +.joined + .grippie { + height: 5px; + background-position: center 1px; + margin-bottom: -2px; +} +/* Keeps inner content contained in Opera 9. */ +.teaser-checkbox { + padding-top: 1px; +} +div.teaser-button-wrapper { + float: right; /* LTR */ + padding-right: 5%; /* LTR */ + margin: 0; +} +.teaser-checkbox div.form-item { + float: right; /* LTR */ + margin: 0 5% 0 0; /* LTR */ + padding: 0; +} +textarea.teaser { + display: none; +} +html.js .no-js { + display: none; +} + +/* +** Progressbar styles +*/ +.progress { + font-weight: bold; +} +.progress .bar { + background: #fff url(../../misc/progress.gif); + border: 1px solid #00375a; + height: 1.5em; + margin: 0 0.2em; +} +.progress .filled { + background: #0072b9; + height: 1em; + border-bottom: 0.5em solid #004a73; + width: 0%; +} +.progress .percentage { + float: right; /* LTR */ +} +.progress-disabled { + float: left; /* LTR */ +} +.ahah-progress { + float: left; /* LTR */ +} +.ahah-progress .throbber { + width: 15px; + height: 15px; + margin: 2px; + background: transparent url(../../misc/throbber.gif) no-repeat 0px -18px; + float: left; /* LTR */ +} +tr .ahah-progress .throbber { + margin: 0 2px; +} +.ahah-progress-bar { + width: 16em; +} + +/* +** Formatting for welcome page +*/ +#first-time strong { + display: block; + padding: 1.5em 0 .5em; +} + +/* +** To be used with tableselect.js +*/ +tr.selected td { + background: #ffc; +} + +/* +** Floating header for tableheader.js +*/ +table.sticky-header { + margin-top: 0; + background: #fff; +} + +/* +** Installation clean URLs +*/ +#clean-url.install { + display: none; +} + +/* +** For anything you want to hide on page load when JS is enabled, so +** that you can use the JS to control visibility and avoid flicker. +*/ +html.js .js-hide { + display: none; +} + +/* +** Styles for the system modules page (admin/build/modules) +*/ +#system-modules div.incompatible { + font-weight: bold; +} + +/* +** Styles for the system themes page (admin/build/themes) +*/ +#system-themes-form div.incompatible { + font-weight: bold; +} + +/* +** Password strength indicator +*/ +span.password-strength { + visibility: hidden; +} +input.password-field { + margin-right: 10px; /* LTR */ +} +div.password-description { + padding: 0 2px; + margin: 4px 0 0 0; + font-size: 0.85em; + max-width: 500px; +} +div.password-description ul { + margin-bottom: 0; +} +.password-parent { + margin: 0 0 0 0; +} +/* +** Password confirmation checker +*/ +input.password-confirm { + margin-right: 10px; /* LTR */ +} +.confirm-parent { + margin: 5px 0 0 0; +} +span.password-confirm { + visibility: hidden; +} +span.password-confirm span { + font-weight: normal; +} + + +/* + * modules/taxonomy/taxonomy.css + */ + +tr.taxonomy-term-preview { + background-color: #EEE; +} +tr.taxonomy-term-divider-top { + border-bottom: none; +} +tr.taxonomy-term-divider-bottom { + border-top: 1px dotted #CCC; +} +.taxonomy-term-description { + margin: 5px 0 20px; +} + + +/* + * modules/tracker/tracker.css + */ + +#tracker td.replies { + text-align: center; +} +#tracker table { + width: 100%; +} + + +/* + * modules/update/update-rtl.css + */ + +.update .project { + padding-right: .25em; +} + +.update .version-status { + float: left; + padding-left: 10px; +} + +.update .version-status .icon { + padding-right: .5em; +} + +.update table.version .version-title { + padding-left: 1em; +} + +.update table.version .version-details { + padding-left: .5em; + direction: ltr; +} + +.update table.version .version-links { + text-align: left; + padding-left: 1em; +} + +.update .check-manually { + padding-right: 1em; +} + + +/* + * modules/update/update.css + */ + +.update .project { + font-weight: bold; + font-size: 110%; + padding-left: .25em; /* LTR */ + height: 22px; +} + +.update .version-status { + float: right; /* LTR */ + padding-right: 10px; /* LTR */ + font-size: 110%; + height: 20px; +} + +.update .version-status .icon { + padding-left: .5em; /* LTR */ +} + +.update .version-date { + white-space: nowrap; +} + +.update .info { + margin: 0; + padding: 1em 1em .25em 1em; +} + +.update tr td { + border-top: 1px solid #ccc; + border-bottom: 1px solid #ccc; +} + +.update tr.error { + background: #fcc; +} + +.update tr.error .version-recommended { + background: #fdd; +} + +.update tr.ok { + background: #dfd; +} + +.update tr.warning { + background: #ffd; +} + +.update tr.warning .version-recommended { + background: #ffe; +} + +.current-version, .new-version { + direction: ltr; /* Note: version numbers should always be LTR. */ +} + +.update tr.unknown { + background: #ddd; +} + +table.update, +.update table.version { + width: 100%; + margin-top: .5em; +} + +.update table.version tbody { + border: none; +} + +.update table.version tr, +.update table.version td { + line-height: .9em; + padding: 0; + margin: 0; + border: none; +} + +.update table.version .version-title { + padding-left: 1em; /* LTR */ + width: 14em; +} + +.update table.version .version-details { + padding-right: .5em; /* LTR */ +} + +.update table.version .version-links { + text-align: right; /* LTR */ + padding-right: 1em; /* LTR */ +} + +.update table.version-security .version-title { + color: #970F00; +} + +.update table.version-recommended-strong .version-title { + font-weight: bold; +} + +.update .security-error { + font-weight: bold; + color: #970F00; +} + +.update .check-manually { + padding-left: 1em; /* LTR */ +} + + +/* + * modules/user/user-rtl.css + */ + +#permissions td.permission { + padding-left: 0; + padding-right: 1.5em; +} +#access-rules .access-type, #access-rules .rule-type { + margin-right: 0; + margin-left: 1em; + float: right; +} +#user-admin-buttons { + float: right; + margin-left: 0; + margin-right: 0.5em; + clear: left; +} + +.profile .picture { + float: left; + margin: 0 0 1em 1em; +} + + +/* + * modules/user/user.css + */ + +#permissions td.module { + font-weight: bold; +} +#permissions td.permission { + padding-left: 1.5em; /* LTR */ +} +#access-rules .access-type, #access-rules .rule-type { + margin-right: 1em; /* LTR */ + float: left; /* LTR */ +} +#access-rules .access-type .form-item, #access-rules .rule-type .form-item { + margin-top: 0; +} +#access-rules .mask { + clear: both; +} +#user-login-form { + text-align: center; +} +#user-admin-filter ul { + list-style-type: none; + padding: 0; + margin: 0; + width: 100%; +} +#user-admin-buttons { + float: left; /* LTR */ + margin-left: 0.5em; /* LTR */ + clear: right; /* LTR */ +} +#user-admin-settings fieldset .description { + font-size: 0.85em; + padding-bottom: .5em; +} + +/* Generated by user.module but used by profile.module: */ +.profile { + clear: both; + margin: 1em 0; +} +.profile .picture { + float: right; /* LTR */ + margin: 0 1em 1em 0; /* LTR */ +} +.profile h3 { + border-bottom: 1px solid #ccc; +} +.profile dl { + margin: 0 0 1.5em 0; +} +.profile dt { + margin: 0 0 0.2em 0; + font-weight: bold; +} +.profile dd { + margin: 0 0 1em 0; +} diff --git a/themes/zen/STARTERKIT/css/fields.css b/themes/zen/STARTERKIT/css/fields.css new file mode 100644 index 0000000..a3d1c18 --- /dev/null +++ b/themes/zen/STARTERKIT/css/fields.css @@ -0,0 +1,44 @@ +/** + * @file + * Field Styling + */ + + +/* + * Field types + */ + +.field /* Wrapper for any CCK field. */ { +} + +.field-type-datetime /* Always use "datetime" when creating new CCK date fields. "date" and "datestamp" are legacy types. */ { +} + +.field-type-filefield /* Field from filefield module */ { +} + +.field-type-nodereference { +} + +.field-type-number-decimal { +} + +.field-type-number-float { +} + +.field-type-number-integer { +} + +.field-type-text { +} + +.field-type-userreference { +} + + +/* + * Named fields + */ + +.field-field-FIELDNAME /* Underscores in field name are replaced with dashes. */ { +} diff --git a/themes/zen/STARTERKIT/css/forms-rtl.css b/themes/zen/STARTERKIT/css/forms-rtl.css new file mode 100644 index 0000000..4e4318e --- /dev/null +++ b/themes/zen/STARTERKIT/css/forms-rtl.css @@ -0,0 +1,46 @@ +/** + * @file + * RTL companion for the forms.css file. + */ + + +/* + * Drupal's default login form block + */ +#user-login-form { + text-align: right; +} + + +/* + * OpenID + * + * The default styling for the OpenID login link seems to assume Garland's + * styling of list items. + */ + +#user-login-form li.openid-link /* The "Log in using OpenID" link. */ { + margin-left: 0; + margin-right: -20px; /* Un-do some of the padding on the ul list. */ +} + +#user-login li.openid-link, +#user-login li.user-link /* The OpenID links on the /user form. */ { + margin-left: 0; + margin-right: -2em; /* Un-do all of the padding on the ul list. */ +} + + +/* + * Drupal admin tables + * + * We overrode these styles in html-elements.css, but restore them for the admin + * section of the site. + */ + +form th, +form thead th { + text-align: right; + padding-left: 1em; + padding-right: 0; +} diff --git a/themes/zen/STARTERKIT/css/forms.css b/themes/zen/STARTERKIT/css/forms.css new file mode 100644 index 0000000..696702f --- /dev/null +++ b/themes/zen/STARTERKIT/css/forms.css @@ -0,0 +1,134 @@ +/** + * @file + * Form Styling + */ + + +.form-item, +.form-checkboxes, +.form-radios /* Wrapper for a form element (or group of form elements) and its label */ { + margin: 1em 0; +} + +.form-item input.error, +.form-item textarea.error, +.form-item select.error /* Highlight the form elements that caused a form submission error */ { + border: 2px solid #c00; +} + +.form-item label /* The label for a form element */ { + display: block; + font-weight: bold; +} + +.form-item label.option /* The label for a radio button or checkbox */ { + display: inline; + font-weight: normal; +} + +.form-required /* The part of the label that indicates a required field */ { + color: #c00; +} + +.form-item .description /* The descriptive help text (separate from the label) */ { + font-size: 0.85em; +} + +.form-checkboxes .form-item, +.form-radios .form-item /* Pack groups of checkboxes and radio buttons closer together */ { + margin: 0.4em 0; +} + +.form-submit /* The submit button */ { +} + +.container-inline div, +.container-inline label /* Inline labels and form divs */ { + display: inline; +} + +.tips /* Tips for Drupal's input formats */ { +} + + +/* + * Search (search-theme-form.tpl.php) + */ +#search-box /* Wrapper for the search form */ { +} + +#edit-search-theme-form-1-wrapper label /* Label that says "Search this site:" */ { + display: none; +} + + +/* + * Search (search-block-form.tpl.php) + */ +#search-block-form /* Wrapper for the search form */ { +} + +#edit-search-block-form-1-wrapper label /* Label that says "Search this site:" */ { + display: none; +} + + +/* + * Drupal's default login form block + */ +#user-login-form { + text-align: left; /* LTR */ +} + + +/* + * OpenID + * + * The default styling for the OpenID login link seems to assume Garland's + * styling of list items. + */ + +#user-login-form ul /* OpenID creates a new ul above the login form's links. */ { + margin-bottom: 0; /* Position OpenID's ul next to the rest of the links. */ +} + +#user-login-form li.openid-link /* The "Log in using OpenID" link. */ { + margin-top: 1em; + margin-left: -20px; /* LTR */ /* Un-do some of the padding on the ul list. */ +} + +#user-login-form li.user-link /* The "Cancel OpenID login" link. */ { + margin-top: 1em; +} + +#user-login ul { + margin: 1em 0; +} + +#user-login li.openid-link, +#user-login li.user-link /* The OpenID links on the /user form. */ { + margin-left: -2em; /* LTR */ /* Un-do all of the padding on the ul list. */ +} + + +/* + * Drupal admin tables + * + * We overrode these styles in html-elements.css, but restore them for the admin + * section of the site. + */ + +form tbody { + border-top: 1px solid #ccc; +} + +form th, +form thead th { + text-align: left; /* LTR */ + padding-right: 1em; /* LTR */ + border-bottom: 3px solid #ccc; +} + +form tbody th { + border-bottom: 1px solid #ccc; +} diff --git a/themes/zen/STARTERKIT/css/html-reset-rtl.css b/themes/zen/STARTERKIT/css/html-reset-rtl.css new file mode 100644 index 0000000..0260d5e --- /dev/null +++ b/themes/zen/STARTERKIT/css/html-reset-rtl.css @@ -0,0 +1,37 @@ +/** + * @file + * RTL companion for the html-reset.css file. + */ + + +/* + * Lists + * + * We need to standardize the list item indentation. + */ +ul, +ol { + padding-left: 0; + padding-right: 2em; +} + +.block ul, +.item-list ul /* Drupal overrides */ { + padding: 0 2em 0 0; +} + +dd { + margin: 0 2em 0 0; +} + +/* + * Tables + * + * Drupal provides table styling which is only useful for its admin section + * forms, so we override this default CSS. (We set it back in forms.css.) + */ +th, +thead th, +tbody th { + text-align: right; +} diff --git a/themes/zen/STARTERKIT/css/html-reset.css b/themes/zen/STARTERKIT/css/html-reset.css new file mode 100644 index 0000000..d57fa3a --- /dev/null +++ b/themes/zen/STARTERKIT/css/html-reset.css @@ -0,0 +1,291 @@ +/** + * @file + * HTML Element Styling + * + * Ok, I admit it. I fooled you. This isn't a "reset" stylesheet. Instead this + * is the place where you should set (not reset) the default styling for all + * HTML elements. + * + * @see http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/ + * @see http://snook.ca/archives/html_and_css/no_css_reset/ + */ + + +/* + * Fonts + * + * Our font size and line height declarations are based on the following ALA + * article: + * http://www.alistapart.com/articles/howtosizetextincss + * + * All modern browsrs use a 16px default font size. Specifying the font-size + * and line-height in ems (relative to the 16px default font) allows the user + * to resize the font in the browser and produces the most consistent results + * across different browsers. + */ +body { + font-size: 100%; /* Fixes exaggerated text resizing in IE6 and IE7 */ +} + +#skip-link, +#page { + /* + * To use a 12px font size on the page, delete the 14px declarations. + * to use a 14px font size on the page, delete the 12px declarations. + */ + + /* Use a 12px base font size with a 16px line height */ + font-size: 0.75em; /* 16px x .75 = 12px */ + line-height: 1.333em; /* 12px x 1.333 = 16px */ + + /* Use a 14px base font size with a 18px line height */ + font-size: 0.875em; /* 16px x .875 = 14px */ + line-height: 1.286em; /* 14px x 1.286 = 18px */ +} + +body, +caption, +th, +td, +input, +textarea, +select, +option, +legend, +fieldset { + /* The following font family declarations are based on the Microsoft core web + * fonts which are common fonts available on most computer systems. The DejaVu + * fonts are commonly available on Linux systems where the MS fonts are less + * common. Tahoma and Helvetica are also widely available. + * + * A user's web browser will look at the comma-separated list and will + * attempt to use each font in turn until it finds one that is available + * on the user's computer. The final "generic" font (sans-serif or serif) + * hints at what type of font to use if the web browser doesn't find any + * of the fonts in the list. + + font-family: "Times New Roman", Times, Georgia, "DejaVu Serif", serif; + font-family: Times, "Times New Roman", Georgia, "DejaVu Serif", serif; + font-family: Georgia, "Times New Roman", "DejaVu Serif", serif; + + font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif; + font-family: Tahoma, Verdana, "DejaVu Sans", sans-serif; + font-family: Helvetica, Arial, "Nimbus Sans L", sans-serif; + font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; + + font-family: "Courier New", "DejaVu Sans Mono", monospace; + + */ + + font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif; +} + +pre, +code { + font-size: 1.1em; /* Monospace fonts can be hard to read */ + font-family: "Courier New", "DejaVu Sans Mono", monospace; +} + +/* + * Headings + */ +h1 { + font-size: 2em; + line-height: 1.3em; + margin-top: 0; + margin-bottom: 0.5em; /* 0.5em is equavalent to 1em in the page's base font. + Remember, a margin specified in ems is relative to + the element's font-size, not to the pages' base + font size. So, for example, if we want a 1em margin + (relative to the base font), we have to divide that + length by the element's font-size: + 1em / 2em = 0.5em */ +} + +h2 { + font-size: 1.5em; + line-height: 1.3em; + margin-top: 0.667em; /* Equivalent to 1em in the page's base font: 1 / 1.5 = 0.667em */ + margin-bottom: 0.667em; +} + +h3 { + font-size: 1.3em; + line-height: 1.3em; + margin-top: 0.769em; /* Equivalent to 1em in the page's base font: 1 / 1.3 = 0.769 */ + margin-bottom: 0.769em; +} + +h4, +h5, +h6 { + font-size: 1.1em; + line-height: 1.3em; + margin-top: 0.909em; /* Equivalent to 1em in the page's base font: 1 / 1.1 = 0.909 */ + margin-bottom: 0.909em; +} + +/* + * Block-level elements + */ +p, +ul, +ol, +dl, +pre, +table, +fieldset { + margin: 1em 0; +} + +blockquote { + margin: 1em 2em; +} + +/* + * Lists + * + * We need to standardize the list item indentation. + */ +ul, +ol { + margin-left: 0; + padding-left: 2em; /* LTR */ +} + +.block ul, +.item-list ul /* Drupal overrides */ { + margin: 1em 0; + padding: 0 0 0 2em; /* LTR */ +} + +ul ul, ul ol, +ol ol, ol ul, +.block ul ul, .block ul ol, +.block ol ol, .block ol ul, +.item-list ul ul, .item-list ul ol, +.item-list ol ol, .item-list ol ul { + margin: 0; +} + +li { + margin: 0; + padding: 0; +} + +.item-list ul li /* Drupal override */ { + margin: 0; + padding: 0; + list-style: inherit; +} + +ul.menu li, +li.expanded, +li.collapsed, +li.leaf /* Drupal override */ { + margin: 0; + padding: 0; +} + +ul { list-style-type: disc; } +ul ul { list-style-type: circle; } +ul ul ul { list-style-type: square; } +ul ul ul ul { list-style-type: circle; } +ol { list-style-type: decimal; } +ol ol { list-style-type: lower-alpha; } +ol ol ol { list-style-type: decimal; } + +dt { + margin: 0; + padding: 0; +} + +dd { + margin: 0 0 0 2em; + padding: 0; +} + +/* + * Links + * + * The order of link states are based on Eric Meyer's article: + * http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states + */ +a:link { +} + +a:visited { +} + +a:hover, +a:focus { +} + +a:active { +} + +/* + * Tables + * + * Drupal provides table styling which is only useful for its admin section + * forms, so we override this default CSS. (We set it back in forms.css.) + */ +table { + border-collapse: collapse; + /* width: 100%; */ /* Prevent cramped-looking tables */ +} + +th, +thead th, +tbody th { + text-align: left; /* LTR */ + padding: 0; + border-bottom: none; +} + +tbody { + border-top: none; +} + +/* + * Abbreviations + */ +abbr { + border-bottom: 1px dotted #666; + cursor: help; + white-space: nowrap; +} + +abbr.created /* Date-based "abbreviations" show computer-friendly timestamps which are not human-friendly. */ { + border: none; + cursor: auto; + white-space: normal; +} + +/* + * Images + */ +img { + border: 0; +} + +/* + * Horizontal rules + */ +hr { + height: 1px; + border: 1px solid #666; +} + +/* + * Forms + */ +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 1em 0; + padding: 0.5em; +} diff --git a/themes/zen/STARTERKIT/css/ie.css b/themes/zen/STARTERKIT/css/ie.css new file mode 100644 index 0000000..9eb0bb7 --- /dev/null +++ b/themes/zen/STARTERKIT/css/ie.css @@ -0,0 +1,47 @@ +/** + * @file + * CSS targeted specifically for Internet Explorer for Windows. + * + * Any CSS in this file will apply to all versions of IE. You can target + * specific versions of IE by using conditional comments. See your sub-theme's + * .info file for an easy way to use them. + * + * While building your theme, you should be aware that IE limits Drupal to 31 + * stylesheets total. The work-around for the bug is to enable CSS aggregation + * under: admin / settings / performance. + */ + + +/* + * Tabs + */ +ul.primary li a, +ul.primary li a .tab, +ul.secondary li a, +ul.secondary li a .tab { + cursor: pointer; +} + +/* + * Drupal nodes + */ +.node-unpublished .node-inner>* { + position: relative; /* Otherwise these elements will appear below the "Unpublished" text. */ +} + +/* + * Drupal admin tables + */ +tr.even th, +tr.even td, +tr.odd th, +tr.odd td { + border-bottom: 1px solid #ccc; /* IE doesn't display borders on table rows */ +} + +/* + * Markup free clearing + */ +.clearfix { + zoom: 1; +} diff --git a/themes/zen/STARTERKIT/css/ie6-rtl.css b/themes/zen/STARTERKIT/css/ie6-rtl.css new file mode 100644 index 0000000..4d6f40c --- /dev/null +++ b/themes/zen/STARTERKIT/css/ie6-rtl.css @@ -0,0 +1,12 @@ +/** + * @file + * RTL companion for the ie6.css file. + */ + + +/* + * Layout CSS + */ +#page { + text-align: right; /* 2nd part of IE5/IE6quirks centering hack */ +} diff --git a/themes/zen/STARTERKIT/css/ie6.css b/themes/zen/STARTERKIT/css/ie6.css new file mode 100644 index 0000000..4441e47 --- /dev/null +++ b/themes/zen/STARTERKIT/css/ie6.css @@ -0,0 +1,105 @@ +/** + * @file + * CSS targeted specifically for Internet Explorer 5 and 6 for Windows. + * + * Any CSS in this file will override the rules specified in the ie.css file. + */ + + +/* + * Layout CSS + */ + +body { + text-align: center; /* 1st part of IE5/IE6quirks centering hack */ +} + +#page { + text-align: left; /* LTR */ /* 2nd part of IE5/IE6quirks centering hack */ +} + +#main-wrapper { + zoom: 1; /* Otherwise with a liquid layout, sidebars disappear when resizing the windows in IE6 */ +} + +#content, +#navigation, +.region-sidebar-first, +.region-sidebar-second /* Floating divs */ { + display: inline; /* display inline or double your floated margin! [1] */ + overflow: hidden; /* in ie6, overflow auto is broken [2] and so is overflow visible [3] */ + overflow-y: visible; +} + +/* + * Tabs - IE 5 and 6 don't support PNGs with alpha transparency. + */ + +ul.primary li a, +ul.primary li a .tab, +ul.secondary li a, +ul.secondary li a .tab { + display: inline-block; /* Otherwise the blocks mistakenly get 100% width in IE6 */ +} + +ul.primary li a { + background: url(../images/tab-left-ie6.png) no-repeat left -38px; +} + +ul.primary li a .tab { + background: url(../images/tab-right-ie6.png) no-repeat right -38px; +} + +ul.primary li a:hover, +ul.primary li a:focus { + background: url(../images/tab-left-ie6.png) no-repeat left -76px; +} + +ul.primary li a:hover .tab, +ul.primary li a:focus .tab { + background: url(../images/tab-right-ie6.png) no-repeat right -76px; +} + +ul.primary li.active a, +ul.primary li.active a:hover, +ul.primary li.active a:focus { + background: url(../images/tab-left-ie6.png) no-repeat left 0; +} + +ul.primary li.active a .tab, +ul.primary li.active a:hover .tab, +ul.primary li.active a:focus .tab { + background: url(../images/tab-right-ie6.png) no-repeat right 0; +} + +/* + * Messages - IE 5 and 6 don't support PNGs with alpha transparency. + */ + +div.messages, +div.status, +div.warning, +div.error /* Important messages (status, warning, and error) for the user */ { + background-image: url(../images/messages-status-ie6.png); +} + +div.warning /* Medium priority messages */ { + background-image: url(../images/messages-warning-ie6.png); +} + +div.error /* High priority messages. See also the .error declaration below. */ { + background-image: url(../images/messages-error-ie6.png); +} + + +/* + * REFERENCES + * + +1. http://www.positioniseverything.net/explorer/doubled-margin.html +2. http://browservulsel.blogspot.com/2005/04/ie-overflow-auto-scrollbar-overlap.html +3. http://www.howtocreate.co.uk/wrongWithIE/?chapter=overflow%3Avisible%3B +4. http://www.ryanbrill.com/archives/multiple-classes-in-ie + + * + */ diff --git a/themes/zen/STARTERKIT/css/layout-fixed-rtl.css b/themes/zen/STARTERKIT/css/layout-fixed-rtl.css new file mode 100644 index 0000000..7e12e0b --- /dev/null +++ b/themes/zen/STARTERKIT/css/layout-fixed-rtl.css @@ -0,0 +1,74 @@ +/** + * @file + * RTL companion for the layout-fixed.css file. + */ + + +/* + * Content + */ +#content, +.no-sidebars #content { + float: right; + margin-left: -960px; /* Negative value of #content's width + right margin. */ + margin-right: 0; +} + +.sidebar-first #content { + margin-left: -960px; /* Negative value of #content's width + right margin. */ + margin-right: 200px; /* The width of .region-sidebar-first. */ +} + +.sidebar-second #content { + margin-left: -760px; /* Negative value of #content's width + right margin. */ + margin-right: 0; +} + +.two-sidebars #content { + margin-left: -760px; /* Negative value of #content's width + right margin. */ + margin-right: 200px; /* The width of .region-sidebar-first */ +} + +/* + * Navigation + */ +#navigation { + float: right; + margin-left: -100%; /* Negative value of #navigation's width + right margin. */ + margin-right: 0; +} + +#navigation ul /* Primary and secondary links */ { + text-align: right; +} + +#navigation li /* A simple method to get navigation links to appear in one line. */ { + float: right; + padding: 0 0 0 10px; +} + +/* + * First sidebar + */ +.region-sidebar-first { + float: right; + margin-left: -200px; /* Negative value of .region-sidebar-first's width + right margin. */ + margin-right: 0; +} + +.region-sidebar-first .section { + margin: 0 0 0 20px; +} + +/* + * Second sidebar + */ +.region-sidebar-second { + float: right; + margin-left: -960px; /* Negative value of .region-sidebar-second's width + right margin. */ + margin-right: 760px; /* Width of content + sidebar-first. */ +} + +.region-sidebar-second .section { + margin: 0 20px 0 0; +} diff --git a/themes/zen/STARTERKIT/css/layout-fixed.css b/themes/zen/STARTERKIT/css/layout-fixed.css new file mode 100644 index 0000000..4cf5b36 --- /dev/null +++ b/themes/zen/STARTERKIT/css/layout-fixed.css @@ -0,0 +1,212 @@ +/** + * @file + * Layout Styling (DIV Positioning) + * + * Define CSS classes to create a table-free, 3-column, 2-column, or single + * column layout depending on whether blocks are enabled in the left or right + * columns. + * + * This layout is based on the Zen Columns layout method. + * http://drupal.org/node/201428 + * + * Only CSS that affects the layout (positioning) of major elements should be + * listed here. Such as: + * display, position, float, clear, width, height, min-width, min-height + * margin, border, padding, overflow + */ + + +/* + * Body + */ +body { +} + +#page-wrapper, +.region-page-closure { + /* + * If you want to make the page a fixed width and centered in the viewport, + * this is the standards-compliant way to do that. See also the ie6.css file + * for the necessary IE5/IE6quirks hack to center a div. + */ + margin-left: auto; + margin-right: auto; + width: 960px; +} + +#page { +} + +/* + * Header + */ +#header { +} + +#header .section { +} + +#search-box { +} + +.region-header { + clear: both; /* Clear the logo */ +} + +/* + * Main (container for everything else) + */ +#main-wrapper { + position: relative; +} + +#main { +} + +/* + * Content + */ +#content, +.no-sidebars #content { + float: left; /* LTR */ + width: 960px; + margin-left: 0; /* LTR */ + margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content .section. */ +} + +.sidebar-first #content { + width: 760px; + margin-left: 200px; /* LTR */ /* The width of .region-sidebar-first. */ + margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */ +} + +.sidebar-second #content { + width: 760px; + margin-left: 0; /* LTR */ + margin-right: -760px; /* LTR */ /* Negative value of #content's width + left margin. */ +} + +.two-sidebars #content { + width: 560px; + margin-left: 200px; /* LTR */ /* The width of .region-sidebar-first */ + margin-right: -760px; /* LTR */ /* Negative value of #content's width + left margin. */ +} + +#content .section { + margin: 0; + padding: 0; +} + +/* + * Navigation + */ +#navigation { + float: left; /* LTR */ + width: 100%; + margin-left: 0; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #navigation's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #navigation .section. */ + height: 2.3em; /* The navigation can have any arbritrary height. We picked one + that is the line-height plus 1em: 1.3 + 1 = 2.3 + Set this to the same value as the margin-top below. */ +} + +.with-navigation #content, +.with-navigation .region-sidebar-first, +.with-navigation .region-sidebar-second { + margin-top: 2.3em; /* Set this to the same value as the navigation height above. */ +} + +#navigation .section { +} + +#navigation ul /* Primary and secondary links */ { + margin: 0; + padding: 0; + text-align: left; /* LTR */ +} + +#navigation li /* A simple method to get navigation links to appear in one line. */ { + float: left; /* LTR */ + padding: 0 10px 0 0; /* LTR */ +} + +/* + * First sidebar + */ +.region-sidebar-first { + float: left; /* LTR */ + width: 200px; + margin-left: 0; /* LTR */ + margin-right: -200px; /* LTR */ /* Negative value of .region-sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-first .section. */ +} + +.region-sidebar-first .section { + margin: 0 20px 0 0; /* LTR */ + padding: 0; +} + +/* + * Second sidebar + */ +.region-sidebar-second { + float: left; /* LTR */ + width: 200px; + margin-left: 760px; /* LTR */ /* Width of content + sidebar-first. */ + margin-right: -960px; /* LTR */ /* Negative value of .region-sidebar-second's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-second .section. */ +} + +.region-sidebar-second .section { + margin: 0 0 0 20px; /* LTR */ + padding: 0; +} + +/* + * Footer + */ +#footer { +} + +#footer .section { +} + +/* + * Closure + */ +.region-page-closure /* See also the #page-wrapper declaration above that this div shares. */ { +} + +/* + * Prevent overflowing content + */ +#header, +#content, +#navigation, +.region-sidebar-first, +.region-sidebar-second, +#footer, +.region-page-closure { + overflow: visible; + word-wrap: break-word; /* A very nice CSS3 property */ +} + +#navigation { + overflow: hidden; /* May need to be removed if using a dynamic drop-down menu */ +} + +/* + * If a div.clearfix doesn't have any content after it and its bottom edge + * touches the bottom of the viewport, Firefox and Safari will mistakenly + * place several pixels worth of space between the bottom of the div and the + * bottom of the viewport. Uncomment this CSS property to fix this. + * Note: with some over-large content, this property might cause scrollbars + * to appear on the #page-wrapper div. + */ +/* +#page-wrapper { + overflow-y: hidden; +} +*/ diff --git a/themes/zen/STARTERKIT/css/layout-liquid-rtl.css b/themes/zen/STARTERKIT/css/layout-liquid-rtl.css new file mode 100644 index 0000000..c3aed02 --- /dev/null +++ b/themes/zen/STARTERKIT/css/layout-liquid-rtl.css @@ -0,0 +1,68 @@ +/** + * @file + * RTL companion for the layout-liquid.css file. + */ + + +/* + * Content + */ +#content { + float: right; + margin-left: -100%; /* Negative value of #content's width + right margin. */ + margin-right: 0; +} + +.sidebar-first #content .section { + padding-left: 0; + padding-right: 200px; /* The width + right margin of .region-sidebar-first. */ +} + +.sidebar-second #content .section { + padding-left: 200px; /* The width + left margin of .region-sidebar-second. */ + padding-right: 0; +} + +/* + * Navigation + */ +#navigation { + float: right; + margin-left: -100%; /* Negative value of #navigation's width + right margin. */ + margin-right: 0; +} + +#navigation ul /* Primary and secondary links */ { + text-align: right; +} + +#navigation li /* A simple method to get navigation links to appear in one line. */ { + float: right; + padding: 0 0 0 10px; +} + +/* + * First sidebar + */ +.region-sidebar-first { + float: right; + margin-left: -200px; /* Negative value of .region-sidebar-first's width + right margin. */ + margin-right: 0; +} + +.region-sidebar-first .section { + margin: 0 0 0 20px; +} + +/* + * Second sidebar + */ +.region-sidebar-second { + float: left; + margin-left: 0; + margin-right: -200px; /* Negative value of .region-sidebar-second's width + left margin. */ +} + +.region-sidebar-second .section { + margin: 0 20px 0 0; +} diff --git a/themes/zen/STARTERKIT/css/layout-liquid.css b/themes/zen/STARTERKIT/css/layout-liquid.css new file mode 100644 index 0000000..e5aefad --- /dev/null +++ b/themes/zen/STARTERKIT/css/layout-liquid.css @@ -0,0 +1,202 @@ +/** + * @file + * Layout Styling (DIV Positioning) + * + * Define CSS classes to create a table-free, 3-column, 2-column, or single + * column layout depending on whether blocks are enabled in the left or right + * columns. + * + * This layout is based on the Zen Columns layout method. + * http://drupal.org/node/201428 + * + * Only CSS that affects the layout (positioning) of major elements should be + * listed here. Such as: + * display, position, float, clear, width, height, min-width, min-height + * margin, border, padding, overflow + */ + + +/* + * Body + */ +body { +} + +#page-wrapper, +.region-page-closure { + min-width: 960px; /* Don't allow the browser to make the site unreadable. */ +} + +#page { +} + +/* + * Header + */ +#header { +} + +#header .section { +} + +#search-box { +} + +.region-header { + clear: both; /* Clear the logo */ +} + +/* + * Main (container for everything else) + */ +#main-wrapper { + position: relative; +} + +#main { +} + +/* + * Content + */ +#content { + float: left; /* LTR */ + width: 100%; + margin-left: 0; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content .section. */ +} + +#content .section, +.no-sidebars #content .section { + margin: 0; + padding: 0; +} + +.sidebar-first #content .section { + padding-left: 200px; /* LTR */ /* The width + left margin of .region-sidebar-first. */ + padding-right: 0; /* LTR */ +} + +.sidebar-second #content .section { + padding-left: 0; /* LTR */ + padding-right: 200px; /* LTR */ /* The width + right margin of .region-sidebar-second. */ +} + +.two-sidebars #content .section { + padding-left: 200px; /* The width + left margin of .region-sidebar-first. */ + padding-right: 200px; /* The width + right margin of .region-sidebar-second. */ +} + +/* + * Navigation + */ +#navigation { + float: left; /* LTR */ + width: 100%; + margin-left: 0; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #navigation's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #navigation .section. */ + height: 2.3em; /* The navigation can have any arbritrary height. We picked one + that is the line-height plus 1em: 1.3 + 1 = 2.3 + Set this to the same value as the margin-top below. */ +} + +.with-navigation #content, +.with-navigation .region-sidebar-first, +.with-navigation .region-sidebar-second { + margin-top: 2.3em; /* Set this to the same value as the navigation height above. */ +} + +#navigation .section { +} + +#navigation ul /* Primary and secondary links */ { + margin: 0; + padding: 0; + text-align: left; /* LTR */ +} + +#navigation li /* A simple method to get navigation links to appear in one line. */ { + float: left; /* LTR */ + padding: 0 10px 0 0; /* LTR */ +} + +/* + * First sidebar + */ +.region-sidebar-first { + float: left; /* LTR */ + width: 200px; + margin-left: 0; /* LTR */ + margin-right: -200px; /* LTR */ /* Negative value of .region-sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-first .section. */ +} + +.region-sidebar-first .section { + margin: 0 20px 0 0; /* LTR */ + padding: 0; +} + +/* + * Second sidebar + */ +.region-sidebar-second { + float: right; /* LTR */ + width: 200px; + margin-left: -200px; /* LTR */ /* Negative value of .region-sidebar-second's width + right margin. */ + margin-right: 0; /* LTR */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-second .section. */ +} + +.region-sidebar-second .section { + margin: 0 0 0 20px; /* LTR */ + padding: 0; +} + +/* + * Footer + */ +#footer { +} + +#footer .section { +} + +/* + * Closure + */ +.region-page-closure /* See also the #page-wrapper declaration above that this div shares. */ { +} + +/* + * Prevent overflowing content + */ +#header, +#content, +#navigation, +.region-sidebar-first, +.region-sidebar-second, +#footer, +.region-page-closure { + overflow: visible; + word-wrap: break-word; /* A very nice CSS3 property */ +} + +#navigation { + overflow: hidden; /* May need to be removed if using a dynamic drop-down menu */ +} + +/* + * If a div.clearfix doesn't have any content after it and its bottom edge + * touches the bottom of the viewport, Firefox and Safari will mistakenly + * place several pixels worth of space between the bottom of the div and the + * bottom of the viewport. Uncomment this CSS property to fix this. + * Note: with some over-large content, this property might cause scrollbars + * to appear on the #page-wrapper div. + */ +/* +#page-wrapper { + overflow-y: hidden; +} +*/ diff --git a/themes/zen/STARTERKIT/css/messages-rtl.css b/themes/zen/STARTERKIT/css/messages-rtl.css new file mode 100644 index 0000000..681f838 --- /dev/null +++ b/themes/zen/STARTERKIT/css/messages-rtl.css @@ -0,0 +1,13 @@ +/** + * @file + * RTL companion for the messages.css file. + */ + + +div.messages, +div.status, +div.warning, +div.error /* Important messages (status, warning, and error) for the user */ { + padding: 5px 35px 5px 5px; + background-position: 99.5% 5px; +} diff --git a/themes/zen/STARTERKIT/css/messages.css b/themes/zen/STARTERKIT/css/messages.css new file mode 100644 index 0000000..ed47ee0 --- /dev/null +++ b/themes/zen/STARTERKIT/css/messages.css @@ -0,0 +1,53 @@ +/** + * @file + * Message Styling + * + * Sensible styling for Drupal's error/warning/status messages. + */ + + +div.messages, +div.status, +div.warning, +div.error /* Important messages (status, warning, and error) for the user */ { + min-height: 21px; + margin: 0 1em 5px 1em; + border: 2px solid #ff7; + padding: 5px 5px 5px 35px; /* LTR */ + color: #000; + background-color: #ffc; + background-image: url(../images/messages-status.png); + background-repeat: no-repeat; + background-position: 5px 5px; /* LTR */ +} + +div.status /* Normal priority messages */ { +} + +div.warning /* Medium priority messages */ { + border-color: #fc0; + background-image: url(../images/messages-warning.png); +} + +div.warning, +tr.warning { + color: #000; /* Drupal core uses #220 */ + background-color: #ffc; +} + +div.error /* High priority messages. See also the .error declaration in pages.css. */ { + /* border: 1px solid #d77; */ /* Drupal core uses: 1px solid #d77 */ + border-color: #c00; + background-image: url(../images/messages-error.png); +} + +div.error, +tr.error { + color: #900; /* Drupal core uses #200 */ + background-color: #fee; +} + +div.messages ul { + margin-top: 0; + margin-bottom: 0; +} diff --git a/themes/zen/STARTERKIT/css/navigation.css b/themes/zen/STARTERKIT/css/navigation.css new file mode 100644 index 0000000..49d8f72 --- /dev/null +++ b/themes/zen/STARTERKIT/css/navigation.css @@ -0,0 +1,44 @@ +/** + * @file + * Navigation Styling + * + * Default menu styling (ul.menu) is defined in system-menus.css. + */ + + +/* + * The active item in a Drupal menu + */ +li a.active { + color: #000; +} + +/* + * Navigation bar + */ +#navigation { +} + +.region-navigation { +} + +/* + * Primary and Secondary menu links + */ +#main-menu { +} + +#secondary-menu { +} + +/* + * Menu blocks + */ +.block-menu { +} + +/* + * "Menu block" blocks. See http://drupal.org/project/menu_block + */ +.block-menu_block { +} diff --git a/themes/zen/STARTERKIT/css/nodes.css b/themes/zen/STARTERKIT/css/nodes.css new file mode 100644 index 0000000..c1e4929 --- /dev/null +++ b/themes/zen/STARTERKIT/css/nodes.css @@ -0,0 +1,81 @@ +/** + * @file + * Node Styling + * + * Style anything that isn't in the $content variable. + */ + + +.node /* Node wrapper */ { +} + +.node-sticky /* A sticky node (displayed before others in a list) */ { +} + +.node-unpublished /* Unpublished nodes */ { + /* background-color: #fff4f4; */ /* Drupal core uses a #fff4f4 background */ +} + +.node-unpublished div.unpublished, +.comment-unpublished div.unpublished /* The word "Unpublished" displayed underneath the content. */ { + height: 0; + overflow: visible; + color: #d8d8d8; + font-size: 75px; + line-height: 1; + font-family: Impact, "Arial Narrow", Helvetica, sans-serif; + font-weight: bold; + text-transform: uppercase; + text-align: center; + word-wrap: break-word; /* A very nice CSS3 property */ +} + +.node-by-viewer /* A node created by the current user */ { +} + +.node-teaser /* A node displayed as teaser */ { +} + +/* All nodes are given a node-type-FOO class that describes the type of + * content that it is. If you create a new content type called + * "my-custom-type", it will receive a "node-type-my-custom-type" class. + */ +.node-type-page /* Page content node */ { +} + +.node-type-story /* Story content node */ { +} + +.node h2.title /* Node title */ { +} + +.marker /* "New" or "Updated" marker for content that is new or updated for the current user */ { + color: #c00; +} + +.node .picture /* The picture of the node author */ { +} + +.node.node-unpublished .picture, +.comment.comment-unpublished .picture { + position: relative; /* Otherwise floated pictures will appear below the "Unpublished" text. */ +} + +.node .meta /* Wrapper for submitted and terms data */ { +} + +.node .submitted /* The "posted by" information */ { +} + +.node .terms /* Node terms (taxonomy) */ { +} + +.node .content /* Node's content wrapper */ { +} + +.node ul.links /* Node links. See also the ul.links declaration in the pages.css. */ { +} + +.preview .node /* Preview of the content before submitting new or updated content */ { + /* background-color: #ffffea; */ /* Drupal core uses a #ffffea background */ +} diff --git a/themes/zen/STARTERKIT/css/page-backgrounds.css b/themes/zen/STARTERKIT/css/page-backgrounds.css new file mode 100644 index 0000000..5a8559d --- /dev/null +++ b/themes/zen/STARTERKIT/css/page-backgrounds.css @@ -0,0 +1,38 @@ +/** + * @file + * Page Background Styling + * + * The default layout method of Zen doesn't give themers equal-height columns. + * However, equal-height columns are difficult to achieve and totally + * unnecessary. Instead, use the Faux Columns method described in the following + * ALA article: + * http://www.alistapart.com/articles/fauxcolumns/ + */ + + +body { +} + +#page-wrapper { +} + +#page { +} + +#header { +} + +#header .section { +} + +#main-wrapper { +} + +#main { +} + +#footer { +} + +#footer .section { +} diff --git a/themes/zen/STARTERKIT/css/pages-rtl.css b/themes/zen/STARTERKIT/css/pages-rtl.css new file mode 100644 index 0000000..08f35af --- /dev/null +++ b/themes/zen/STARTERKIT/css/pages-rtl.css @@ -0,0 +1,19 @@ +/** + * @file + * RTL companion for the pages.css file. + */ + + +/* + * Header + */ +#logo /* Wrapping link for logo */ { + float: right; +} + +/* + * Content + */ +.more-link /* Aggregator, blog, and forum more link */ { + text-align: left; +} diff --git a/themes/zen/STARTERKIT/css/pages.css b/themes/zen/STARTERKIT/css/pages.css new file mode 100644 index 0000000..3a59538 --- /dev/null +++ b/themes/zen/STARTERKIT/css/pages.css @@ -0,0 +1,314 @@ +/** + * @file + * Page Styling + * + * Style the markup found in page.tpl.php. Also includes some styling of + * miscellaneous Drupal elements that appear in the $content variable, such as + * ul.links, .pager, .more-link, etc. + */ + + +/* + * Body + */ +body { + margin: 0; + padding: 0; +} + +#page-wrapper { +} + +#page { +} + +/* + * The skip navigation link will be completely hidden until a user tabs to the + * link. See http://www.webaim.org/techniques/skipnav/ + */ +#skip-link a, +#skip-link a:visited { + position: absolute; + display: block; + left: 0; + top: -500px; + width: 1px; + height: 1px; + overflow: hidden; + text-align: center; + background-color: #666; + color: #fff; +} + +#skip-link a:hover, +#skip-link a:active, +#skip-link a:focus { + position: static; + width: 100%; + height: auto; + padding: 2px 0 3px 0; +} + +/* + * Header + */ +#header { +} + +#header .section { +} + +#logo /* Wrapping link for logo */ { + float: left; /* LTR */ + margin: 0; + padding: 0; +} + +#logo img { + vertical-align: bottom; +} + +#name-and-slogan /* Wrapper for website name and slogan */ { +} + +h1#site-name, +div#site-name /* The name of the website */ { + margin: 0; + font-size: 2em; + line-height: 1.3em; +} + +#site-name a:link, +#site-name a:visited { + color: #000; + text-decoration: none; +} + +#site-name a:hover, +#site-name a:focus { + text-decoration: underline; +} + +#site-slogan /* The slogan (or tagline) of a website */ { +} + +.region-header /* Wrapper for any blocks placed in the header region */ { +} + +/* + * Main (container for everything else) + */ +#main-wrapper { +} + +#main { +} + +/* + * Content + */ +#content { +} + +#content .section { +} + +#mission /* The mission statement of the site (displayed on homepage) */ { +} + +.region-content-top /* Wrapper for any blocks placed in the "content top" region */ { +} + +.breadcrumb /* The path to the current page in the form of a list of links */ { + padding-bottom: 0; /* Undo system.css */ +} + +h1.title, /* The title of the page */ +h2.title, /* Block title or the title of a piece of content when it is given in a list of content */ +h3.title /* Comment title */ { + margin: 0; +} + +tr.even /* Some tables have rows marked even or odd. */ { + /* background-color: #eee; */ /* Drupal core uses a #eee background */ +} + +tr.odd { + /* background-color: #eee; */ /* Drupal core uses a #eee background */ +} + +div.messages /* Important messages (status, warning, and error) for the user. See also the declarations in messages.css. */ { +} + +div.status /* Normal priority messages */ { +} + +div.warning, +tr.warning /* Medium priority messages */ { + /* border: 1px solid #f0c020; */ /* Drupal core uses: 1px solid #f0c020 */ +} + +div.error, +tr.error /* High priority messages. See also the .error declaration below. */ { +} + +.error /* Errors that are separate from div.messages status messages. */ { + /* color: #e55; */ /* Drupal core uses a #e55 background */ +} + +.warning /* Warnings that are separate from div.messages status messages. */ { + /* color: #e09010; */ /* Drupal core uses a #e09010 background */ +} + +div.tabs /* See also the tabs.css file. */ { +} + +.help /* Help text on a page */ { + margin: 1em 0; +} + +.more-help-link /* Link to more help */ { + font-size: 0.85em; + text-align: right; +} + +#content-area /* Wrapper for the actual page content */ { +} + +ul.links /* List of links */ { + margin: 1em 0; + padding: 0; +} + +ul.links.inline { + margin: 0; + display: inline; +} + +ul.links li { + display: inline; + list-style-type: none; + padding: 0 0.5em; +} + +.pager /* A list of page numbers when more than 1 page of content is available */ { + clear: both; + margin: 1em 0; + text-align: center; +} + +.pager a, +.pager strong.pager-current /* Each page number in the pager list */ { + padding: 0.5em; +} + +.feed-icons /* The links to the RSS or Atom feeds for the current list of content */ { + margin: 1em 0; +} + +.more-link /* Aggregator, blog, and forum more link */ { + text-align: right; /* LTR */ +} + +.region-content-bottom /* Wrapper for any blocks placed in the "content bottom" region */ { +} + +/* + * First sidebar (on left in LTR languages, on right in RTL) + * + * Remember to NOT add padding or margin to your .region-sidebar-first + * (see the layout.css file.) + */ +.region-sidebar-first { +} + +.region-sidebar-first .section { +} + +/* + * Second sidebar (on right in LTR languages, on left in RTL) + * + * Remember to NOT add padding or margin to your .region-sidebar-second + * (see the layout.css file.) + */ +.region-sidebar-second { +} + +.region-sidebar-second .section { +} + +/* + * Footer + */ +#footer { +} + +#footer .section { +} + +#footer-message /* Wrapper for the footer message from Drupal's "Site information" + and for any blocks placed in the footer region */ { +} + +.region-footer { +} + +/* + * Closure + */ +.region-page-closure /* Wrapper for any blocks placed in the closure region */ { +} + +/* + * Drupal boxes + * + * Wrapper for Comment form, Comment viewing options, Menu admin, and + * Search results. + */ +.box /* Wrapper for box */ { +} + +.box h2 /* Box title */ { +} + +.box .content /* Box's content wrapper */ { +} + +/* + * Markup free clearing (See: http://www.positioniseverything.net/easyclearing.html ) + */ +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/** + * Hide elements from all users. + * + * Used for elements which should not be immediately displayed to any user. An + * example would be a collapsible fieldset that will be expanded with a click + * from a user. The effect of this class can be toggled with the jQuery show() + * and hide() functions. + */ +.element-hidden { + display: none; +} + +/** + * Hide elements visually, but keep them available for screen-readers. + * + * Used for information required for screen-reader users to understand and use + * the site where visual display is undesirable. Information provided in this + * manner should be kept concise, to avoid unnecessary burden on the user. Must + * not be used for focusable elements (such as links and form elements) as this + * causes issues for keyboard only or voice recognition users. "!important" is + * used to prevent unintentional overrides. + */ +.element-invisible { + position: absolute !important; + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); +} diff --git a/themes/zen/STARTERKIT/css/panels-styles.css b/themes/zen/STARTERKIT/css/panels-styles.css new file mode 100644 index 0000000..df3475c --- /dev/null +++ b/themes/zen/STARTERKIT/css/panels-styles.css @@ -0,0 +1,6 @@ +/** + * @file + * Panels Styling + */ + + diff --git a/themes/zen/STARTERKIT/css/print.css b/themes/zen/STARTERKIT/css/print.css new file mode 100644 index 0000000..8e8cd30 --- /dev/null +++ b/themes/zen/STARTERKIT/css/print.css @@ -0,0 +1,73 @@ +/** + * @file + * Print styling + * + * We provide some sane print styling for Drupal using Zen's layout method. + */ + + +/* underline all links */ +a:link, +a:visited { + text-decoration: underline !important; +} + +/* Don't underline header */ +#site-name a:link, +#site-name a:visited { + text-decoration: none !important; +} + +/* CSS2 selector to add visible href after links */ +#content a:link:after, +#content a:visited:after { + content: " (" attr(href) ") "; + font-size: 0.8em; + font-weight: normal; +} + +/* Un-float the content */ +#content, +#content .section { + float: none; + width: 100%; + margin: 0 !important; + padding: 0 !important; +} + +/* Turn off any background colors or images */ +body, +#page-wrapper, +#page, +#main-wrapper, +#main, +#content, +#content .section { + color: #000; + background-color: transparent !important; + background-image: none !important; +} + +/* Hide sidebars and nav elements */ +#skip-link, +#navigation, +.region-sidebar-first, +.region-sidebar-second, +#footer, +.breadcrumb, +div.tabs, +.links, +.taxonomy, +.book-navigation, +.forum-topic-navigation, +.pager, +.feed-icons { + visibility: hidden; + display: none; +} + +/* If you un-comment the "page { overflow-y: hidden; }" ruleset, Firefox clips + the content after the first page. */ +#page-wrapper { + overflow-y: visible; +} diff --git a/themes/zen/STARTERKIT/css/tabs-rtl.css b/themes/zen/STARTERKIT/css/tabs-rtl.css new file mode 100644 index 0000000..6e7fb0e --- /dev/null +++ b/themes/zen/STARTERKIT/css/tabs-rtl.css @@ -0,0 +1,22 @@ +/** + * @file + * RTL companion for the tabs.css file. + */ + + +ul.primary { + padding: 0 10px 0 0; +} + +ul.primary li { + float: right; +} + +ul.secondary { + padding: 0 5px 0 0; +} + +ul.secondary li { + float: right; + border-left: none; +} diff --git a/themes/zen/STARTERKIT/css/tabs.css b/themes/zen/STARTERKIT/css/tabs.css new file mode 100644 index 0000000..db59568 --- /dev/null +++ b/themes/zen/STARTERKIT/css/tabs.css @@ -0,0 +1,128 @@ +/** + * @file + * Tabs Styling + * + * Adds styles for the primary and secondary tabs. + * + * Compare this with default CSS found in the system module's stylesheet (a copy + * of which is in drupal6-reference.css, line 510.) + */ + + +div.tabs { + margin: 0 0 5px 0; +} + +ul.primary { + margin: 0; + padding: 0 0 0 10px; /* LTR */ + border-width: 0; + list-style: none; + white-space: nowrap; + line-height: normal; + background: url(../images/tab-bar.png) repeat-x left bottom; +} + +ul.primary li { + float: left; /* LTR */ + margin: 0; + padding: 0; +} + +ul.primary li a { + display: block; + height: 24px; + margin: 0; + padding: 0 0 0 5px; /* width of tab-left.png */ + border-width: 0; + font-weight: bold; + text-decoration: none; + color: #777; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left -38px; +} + +ul.primary li a .tab { + display: block; + height: 20px; /* 24px (parent) - 4px (padding) */ + margin: 0; + padding: 4px 13px 0 6px; + border-width: 0; + line-height: 20px; + background: url(../images/tab-right.png) no-repeat right -38px; +} + +ul.primary li a:hover, +ul.primary li a:focus { + border-width: 0; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left -76px; +} + +ul.primary li a:hover .tab, +ul.primary li a:focus .tab { + background: url(../images/tab-right.png) no-repeat right -76px; +} + +ul.primary li.active a, +ul.primary li.active a:hover, +ul.primary li.active a:focus { + border-width: 0; + color: #000; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left 0; +} + +ul.primary li.active a .tab, +ul.primary li.active a:hover .tab, +ul.primary li.active a:focus .tab { + background: url(../images/tab-right.png) no-repeat right 0; +} + +ul.secondary { + margin: 0; + padding: 0 0 0 5px; /* LTR */ + border-bottom: 1px solid #c0c0c0; + list-style: none; + white-space: nowrap; + background: url(../images/tab-secondary-bg.png) repeat-x left bottom; +} + +ul.secondary li { + float: left; /* LTR */ + margin: 0 5px 0 0; + padding: 5px 0; + border-right: none; /* LTR */ +} + +ul.secondary a { + display: block; + height: 24px; + margin: 0; + padding: 0; + border: 1px solid #c0c0c0; + text-decoration: none; + color: #777; + background: url(../images/tab-secondary.png) repeat-x left -56px; +} + +ul.secondary a .tab { + display: block; + height: 18px; /* 24px (parent) - 6px (padding) */ + margin: 0; + padding: 3px 8px; + line-height: 18px; +} + +ul.secondary a:hover, +ul.secondary a:focus { + background: url(../images/tab-secondary.png) repeat-x left bottom; +} + +ul.secondary a.active, +ul.secondary a.active:hover, +ul.secondary a.active:focus { + border: 1px solid #c0c0c0; + color: #000; + background: url(../images/tab-secondary.png) repeat-x left top; +} diff --git a/themes/zen/STARTERKIT/css/views-styles.css b/themes/zen/STARTERKIT/css/views-styles.css new file mode 100644 index 0000000..909edd9 --- /dev/null +++ b/themes/zen/STARTERKIT/css/views-styles.css @@ -0,0 +1,6 @@ +/** + * @file + * Views Styling + */ + + diff --git a/themes/zen/STARTERKIT/css/wireframes.css b/themes/zen/STARTERKIT/css/wireframes.css new file mode 100644 index 0000000..0bf3058 --- /dev/null +++ b/themes/zen/STARTERKIT/css/wireframes.css @@ -0,0 +1,24 @@ +/** + * @file + * Wireframes Styling + * + * Add wireframes to the basic layout elements. + */ + + +.with-wireframes #header .section, +.with-wireframes #content .section, +.with-wireframes #navigation .section, +.with-wireframes .region-sidebar-first .section, +.with-wireframes .region-sidebar-second .section, +.with-wireframes #footer .section { + margin: 1px; + padding: 2px; + border: 1px solid #ccc; +} + +.with-wireframes .region-page-closure { + margin-top: 1px; + padding: 2px; + border: 1px solid #ccc; +} diff --git a/themes/zen/STARTERKIT/favicon.ico b/themes/zen/STARTERKIT/favicon.ico new file mode 100644 index 0000000..0f9909a Binary files /dev/null and b/themes/zen/STARTERKIT/favicon.ico differ diff --git a/themes/zen/STARTERKIT/images-source/messages.psd b/themes/zen/STARTERKIT/images-source/messages.psd new file mode 100644 index 0000000..a155d1c Binary files /dev/null and b/themes/zen/STARTERKIT/images-source/messages.psd differ diff --git a/themes/zen/STARTERKIT/images-source/panels-layouts.psd b/themes/zen/STARTERKIT/images-source/panels-layouts.psd new file mode 100644 index 0000000..1f0aecb Binary files /dev/null and b/themes/zen/STARTERKIT/images-source/panels-layouts.psd differ diff --git a/themes/zen/STARTERKIT/images-source/screenshot.psd b/themes/zen/STARTERKIT/images-source/screenshot.psd new file mode 100644 index 0000000..6762e48 Binary files /dev/null and b/themes/zen/STARTERKIT/images-source/screenshot.psd differ diff --git a/themes/zen/STARTERKIT/images-source/tabs.psd b/themes/zen/STARTERKIT/images-source/tabs.psd new file mode 100644 index 0000000..dfd82aa Binary files /dev/null and b/themes/zen/STARTERKIT/images-source/tabs.psd differ diff --git a/themes/zen/STARTERKIT/images/messages-error-ie6.png b/themes/zen/STARTERKIT/images/messages-error-ie6.png new file mode 100644 index 0000000..054b9f2 Binary files /dev/null and b/themes/zen/STARTERKIT/images/messages-error-ie6.png differ diff --git a/themes/zen/STARTERKIT/images/messages-error.png b/themes/zen/STARTERKIT/images/messages-error.png new file mode 100644 index 0000000..012813b Binary files /dev/null and b/themes/zen/STARTERKIT/images/messages-error.png differ diff --git a/themes/zen/STARTERKIT/images/messages-status-ie6.png b/themes/zen/STARTERKIT/images/messages-status-ie6.png new file mode 100644 index 0000000..f9eb63f Binary files /dev/null and b/themes/zen/STARTERKIT/images/messages-status-ie6.png differ diff --git a/themes/zen/STARTERKIT/images/messages-status.png b/themes/zen/STARTERKIT/images/messages-status.png new file mode 100644 index 0000000..9f07a42 Binary files /dev/null and b/themes/zen/STARTERKIT/images/messages-status.png differ diff --git a/themes/zen/STARTERKIT/images/messages-warning-ie6.png b/themes/zen/STARTERKIT/images/messages-warning-ie6.png new file mode 100644 index 0000000..551a9db Binary files /dev/null and b/themes/zen/STARTERKIT/images/messages-warning-ie6.png differ diff --git a/themes/zen/STARTERKIT/images/messages-warning.png b/themes/zen/STARTERKIT/images/messages-warning.png new file mode 100644 index 0000000..e727711 Binary files /dev/null and b/themes/zen/STARTERKIT/images/messages-warning.png differ diff --git a/themes/zen/STARTERKIT/images/tab-bar.png b/themes/zen/STARTERKIT/images/tab-bar.png new file mode 100644 index 0000000..0b380be Binary files /dev/null and b/themes/zen/STARTERKIT/images/tab-bar.png differ diff --git a/themes/zen/STARTERKIT/images/tab-left-ie6.png b/themes/zen/STARTERKIT/images/tab-left-ie6.png new file mode 100644 index 0000000..5c512ae Binary files /dev/null and b/themes/zen/STARTERKIT/images/tab-left-ie6.png differ diff --git a/themes/zen/STARTERKIT/images/tab-left.png b/themes/zen/STARTERKIT/images/tab-left.png new file mode 100644 index 0000000..dd925f7 Binary files /dev/null and b/themes/zen/STARTERKIT/images/tab-left.png differ diff --git a/themes/zen/STARTERKIT/images/tab-right-ie6.png b/themes/zen/STARTERKIT/images/tab-right-ie6.png new file mode 100644 index 0000000..1c00281 Binary files /dev/null and b/themes/zen/STARTERKIT/images/tab-right-ie6.png differ diff --git a/themes/zen/STARTERKIT/images/tab-right.png b/themes/zen/STARTERKIT/images/tab-right.png new file mode 100644 index 0000000..9ed9cb2 Binary files /dev/null and b/themes/zen/STARTERKIT/images/tab-right.png differ diff --git a/themes/zen/STARTERKIT/images/tab-secondary-bg.png b/themes/zen/STARTERKIT/images/tab-secondary-bg.png new file mode 100644 index 0000000..a5a617e Binary files /dev/null and b/themes/zen/STARTERKIT/images/tab-secondary-bg.png differ diff --git a/themes/zen/STARTERKIT/images/tab-secondary.png b/themes/zen/STARTERKIT/images/tab-secondary.png new file mode 100644 index 0000000..bf4e8d2 Binary files /dev/null and b/themes/zen/STARTERKIT/images/tab-secondary.png differ diff --git a/themes/zen/STARTERKIT/js/README.txt b/themes/zen/STARTERKIT/js/README.txt new file mode 100644 index 0000000..a8b446a --- /dev/null +++ b/themes/zen/STARTERKIT/js/README.txt @@ -0,0 +1,14 @@ +Your theme can add JavaScript files in two ways: + +1. To add a JavaScript file to all pages on your website, edit your sub-theme's + .info file and add a line like this one: + + scripts[] = js/my-jquery-script.js + +2. To add a JavaScript file depending on a certain condition, you can add it + using some PHP code in a preprocess function: + + drupal_add_js('js/my-jquery-script.js', 'theme'); + + For the full documentation of drupal_add_js(), see: + http://api.drupal.org/api/function/drupal_add_js diff --git a/themes/zen/STARTERKIT/logo.png b/themes/zen/STARTERKIT/logo.png new file mode 100644 index 0000000..a30644a Binary files /dev/null and b/themes/zen/STARTERKIT/logo.png differ diff --git a/themes/zen/STARTERKIT/screenshot.png b/themes/zen/STARTERKIT/screenshot.png new file mode 100644 index 0000000..f6f3e70 Binary files /dev/null and b/themes/zen/STARTERKIT/screenshot.png differ diff --git a/themes/zen/STARTERKIT/template.php b/themes/zen/STARTERKIT/template.php new file mode 100644 index 0000000..2c724b9 --- /dev/null +++ b/themes/zen/STARTERKIT/template.php @@ -0,0 +1,155 @@ +type; + if (function_exists($function)) { + $function($vars, $hook); + } +} +// */ + +/** + * Override or insert variables into the comment templates. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered ("comment" in this case.) + */ +/* -- Delete this line if you want to use this function +function STARTERKIT_preprocess_comment(&$vars, $hook) { + $vars['sample_variable'] = t('Lorem ipsum.'); +} +// */ + +/** + * Override or insert variables into the block templates. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered ("block" in this case.) + */ +/* -- Delete this line if you want to use this function +function STARTERKIT_preprocess_block(&$vars, $hook) { + $vars['sample_variable'] = t('Lorem ipsum.'); +} +// */ diff --git a/themes/zen/STARTERKIT/templates/README.txt b/themes/zen/STARTERKIT/templates/README.txt new file mode 100644 index 0000000..a97d7cc --- /dev/null +++ b/themes/zen/STARTERKIT/templates/README.txt @@ -0,0 +1,82 @@ +TEMPLATES +--------- + +Drupal 6 contains the following template files which you can override and modify +by copying them to your sub-theme. The Zen theme overrides a handful of Drupal's +templates. In order to override those templates, you should copy them from the +zen/templates folder to your sub-theme's templates folder. + +As always, when adding a new template file to your sub-theme, you will need to +rebuild the "theme registry" in order for Drupal to see it. For more info, see: + http://drupal.org/node/173880#theme-registry + +Located in zen/templates: + page.tpl.php + maintenance-page.tpl.php + node.tpl.php + block.tpl.php + comment-wrapper.tpl.php + comment.tpl.php + views-view.tpl.php + +Located in /modules/aggregator: + aggregator-feed-source.tpl.php + aggregator-item.tpl.php + aggregator-summary-item.tpl.php + aggregator-summary-items.tpl.php + aggregator-wrapper.tpl.php + +Located in /modules/block: + block-admin-display-form.tpl.php + +Located in /modules/book: + book-all-books-block.tpl.php + book-export-html.tpl.php + book-navigation.tpl.php + book-node-export-html.tpl.php + +Located in /modules/comment: + comment-folded.tpl.php + comment-wrapper.tpl.php (overridden by Zen) + comment.tpl.php (overridden by Zen) + +Located in /modules/forum: + forum-icon.tpl.php + forum-list.tpl.php + forum-submitted.tpl.php + forum-topic-list.tpl.php + forum-topic-navigation.tpl.php + forums.tpl.php + +Located in /modules/node: + node.tpl.php (overridden by Zen) + +Located in /modules/poll: + poll-bar-block.tpl.php + poll-bar.tpl.php + poll-results-block.tpl.php + poll-results.tpl.php + poll-vote.tpl.php + +Located in /modules/profile: + profile-block.tpl.php + profile-listing.tpl.php + profile-wrapper.tpl.php + +Located in /modules/search: + search-block-form.tpl.php + search-result.tpl.php + search-results.tpl.php + search-theme-form.tpl.php + +Located in /modules/system: + block.tpl.php (overridden by Zen) + box.tpl.php + maintenance-page.tpl.php (overridden by Zen) + page.tpl.php (overridden by Zen) + +Located in /modules/user: + user-picture.tpl.php + user-profile-category.tpl.php + user-profile-item.tpl.php + user-profile.tpl.php diff --git a/themes/zen/STARTERKIT/theme-settings.php b/themes/zen/STARTERKIT/theme-settings.php new file mode 100644 index 0000000..2879454 --- /dev/null +++ b/themes/zen/STARTERKIT/theme-settings.php @@ -0,0 +1,43 @@ + 'checkbox', + '#title' => t('Use this sample setting'), + '#default_value' => $settings['STARTERKIT_example'], + '#description' => t("This option doesn't do anything; it's just an example."), + ); + // */ + + // Add the base theme's settings. + $form += zen_settings($saved_settings, $defaults); + + // Remove some of the base theme's settings. + unset($form['themedev']['zen_layout']); // We don't need to select the base stylesheet. + + // Return the form + return $form; +} diff --git a/themes/zen/layouts/README.txt b/themes/zen/layouts/README.txt new file mode 100644 index 0000000..2784eba --- /dev/null +++ b/themes/zen/layouts/README.txt @@ -0,0 +1,5 @@ +To build your own Panels layout follow the documentation provided by Panels: + http://drupal.org/node/495654 + +* Please note: These panels layouts will only show up if Zen is enabled. A + bugfix is in the works for this issue: http://drupal.org/node/657720 diff --git a/themes/zen/layouts/one_sidebar_first/one-sidebar-first-admin.css b/themes/zen/layouts/one_sidebar_first/one-sidebar-first-admin.css new file mode 100644 index 0000000..eecec4c --- /dev/null +++ b/themes/zen/layouts/one_sidebar_first/one-sidebar-first-admin.css @@ -0,0 +1,41 @@ +/** + * @file + * Page manager layout + * + * We are using percentages in the admin instead of fixed widths so that the + * admin can work nicely in different admin themes. + */ + +#panels-dnd-main div.panels-display h2.label { + padding-left: 24px; + text-align: left; +} + +#page-manager-edit .zen-one-sidebar-first .panel-content { + float: left; /* LTR */ + width: 66%; + margin-left: 34%; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +#page-manager-edit .zen-one-sidebar-first .panel-content .inside { + margin-right: 0px; +} + +#page-manager-edit .zen-one-sidebar-first .panel-header { + height: auto; + margin-bottom: 10px; +} + +#page-manager-edit .zen-one-sidebar-first .panel-sidebar-first { + float: left; /* LTR */ + width: 34%; + margin-left: 0px; /* LTR */ /* Width of #content. */ + margin-right: -34%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +#page-manager-edit .zen-one-sidebar-first .panel-sidebar-first .panel-sidebar-first-inner { + margin-right: 10px; +} diff --git a/themes/zen/layouts/one_sidebar_first/one-sidebar-first.css b/themes/zen/layouts/one_sidebar_first/one-sidebar-first.css new file mode 100644 index 0000000..c5eba65 --- /dev/null +++ b/themes/zen/layouts/one_sidebar_first/one-sidebar-first.css @@ -0,0 +1,36 @@ +/** + * @file + * Zen panel layout + * + * This layout does include the standar Zen navbar, content and right sidebar + * layout. Markup has been reordered for Accessibility and SEO optimizations. + * The markup order is: content, sidebar but the display will show sidebar, + * content. + */ + +.zen-one-sidebar-first { +/* overflow: hidden; */ + position: relative; + margin-top: 0; + padding-top: 0; +} + +.zen-one-sidebar-first .panel-content { + float: left; /* LTR */ + width: 640px; + margin-left: 320px; /* LTR */ + margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +.zen-one-sidebar-first .panel-sidebar-first { + float: left; /* LTR */ + width: 320px; + margin-left: 0px; /* LTR */ /* Width of #content. */ + margin-right: -320px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-one-sidebar-first .panel-sidebar-first .panel-sidebar-first-inner { + margin-right: 20px; +} diff --git a/themes/zen/layouts/one_sidebar_first/one-sidebar-first.png b/themes/zen/layouts/one_sidebar_first/one-sidebar-first.png new file mode 100644 index 0000000..5b7b1de Binary files /dev/null and b/themes/zen/layouts/one_sidebar_first/one-sidebar-first.png differ diff --git a/themes/zen/layouts/one_sidebar_first/one_sidebar_first.inc b/themes/zen/layouts/one_sidebar_first/one_sidebar_first.inc new file mode 100644 index 0000000..a001987 --- /dev/null +++ b/themes/zen/layouts/one_sidebar_first/one_sidebar_first.inc @@ -0,0 +1,20 @@ + t('Zen Layout: one sidebar before content'), + 'icon' => 'one-sidebar-first.png', + 'theme' => 'zen_one_sidebar_first', + 'admin theme' => 'zen_one_sidebar_first_admin', + 'css' => 'one-sidebar-first.css', + 'admin css' => 'one-sidebar-first-admin.css', + 'panels' => array( + 'content' => t('Content'), + 'sidebar_first' => t('First sidebar'), + ), + ); + + return $items; +} diff --git a/themes/zen/layouts/one_sidebar_first/zen-one-sidebar-first-admin.tpl.php b/themes/zen/layouts/one_sidebar_first/zen-one-sidebar-first-admin.tpl.php new file mode 100644 index 0000000..b1b8e37 --- /dev/null +++ b/themes/zen/layouts/one_sidebar_first/zen-one-sidebar-first-admin.tpl.php @@ -0,0 +1,28 @@ + + +
> + +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/one_sidebar_first/zen-one-sidebar-first.tpl.php b/themes/zen/layouts/one_sidebar_first/zen-one-sidebar-first.tpl.php new file mode 100644 index 0000000..09fe40d --- /dev/null +++ b/themes/zen/layouts/one_sidebar_first/zen-one-sidebar-first.tpl.php @@ -0,0 +1,28 @@ + + +
> + +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/one_sidebar_second/one-sidebar-second-admin.css b/themes/zen/layouts/one_sidebar_second/one-sidebar-second-admin.css new file mode 100644 index 0000000..8097908 --- /dev/null +++ b/themes/zen/layouts/one_sidebar_second/one-sidebar-second-admin.css @@ -0,0 +1,42 @@ +/** + * @file + * Page manager layout + * + * We are using percentages in the admin instead of fixed widths so that the + * admin can work nicely in different admin themes. + */ + +#page-manager-edit .zen-one-sidebar-second .panel-header { + height: auto; + margin-bottom: 10px; +} + +#page-manager-edit .zen-one-sidebar-second .panel-content { + float: left; /* LTR */ + width: 66%; + margin-left: 0; /* LTR */ + margin-right: -66%; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ + margin-top: 0px; +} + +#page-manager-edit .zen-one-sidebar-second .panel-content .inside { + margin-right: 10px; +} + +#page-manager-edit .zen-one-sidebar-second .with-panel-header .panel-content, +#page-manager-edit .zen-one-sidebar-second .with-panel-header .panel-sidebar-first { + margin-top: 0; /* Set this to the same value as the navbar height above. */ +} + +#page-manager-edit .zen-one-sidebar-second .panel-sidebar-first { + float: left; /* LTR */ + width: 34%; + margin-left: 66%; /* LTR */ /* Width of #content. */ + margin-right: -100%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-one-sidebar-second .panel-sidebar-first .panel-sidebar-first-inner { + margin: 0 0 0 0; +} diff --git a/themes/zen/layouts/one_sidebar_second/one-sidebar-second.css b/themes/zen/layouts/one_sidebar_second/one-sidebar-second.css new file mode 100644 index 0000000..6eebc71 --- /dev/null +++ b/themes/zen/layouts/one_sidebar_second/one-sidebar-second.css @@ -0,0 +1,50 @@ +/** + * @file + * Zen panel layout + * + * This layout does include the standar Zen navbar, content and right sidebar + * layout. Markup has been reordered for Accessibility and SEO optimizations. + */ + +.zen-one-sidebar-second { +/* overflow: hidden; */ + position: relative; + margin-top: 0; + padding-top: 0; +} + +.zen-one-sidebar-second .panel-navbar { + width: 100%; + float: left; /* LTR */ + margin-left: 0; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #navbar's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-navbar. */ + height: 8.3em; /* The navbar can have any arbritrary height. We picked one + that is the line-height plus 1em: 1.3 + 1 = 2.3 + Set this to the same value as the margin-top below. */ +} + +.zen-one-sidebar-second .with-panel-header .panel-content, +.zen-one-sidebar-second .with-panel-header .panel-sidebar-first { + margin-top: 8.3em; /* Set this to the same value as the navbar height above. */ +} + +.zen-one-sidebar-second .panel-content { + float: left; /* LTR */ + width: 640px; + margin-left: 0; /* LTR */ + margin-right: -640px; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +.zen-one-sidebar-second .panel-sidebar-first { + float: left; /* LTR */ + width: 320px; + margin-left: 640px; /* LTR */ /* Width of #content. */ + margin-right: -960px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-one-sidebar-second .panel-sidebar-first .panel-sidebar-first-inner { + margin-left: 20px; +} diff --git a/themes/zen/layouts/one_sidebar_second/one-sidebar-second.png b/themes/zen/layouts/one_sidebar_second/one-sidebar-second.png new file mode 100644 index 0000000..33be416 Binary files /dev/null and b/themes/zen/layouts/one_sidebar_second/one-sidebar-second.png differ diff --git a/themes/zen/layouts/one_sidebar_second/one_sidebar_second.inc b/themes/zen/layouts/one_sidebar_second/one_sidebar_second.inc new file mode 100644 index 0000000..1ed20ba --- /dev/null +++ b/themes/zen/layouts/one_sidebar_second/one_sidebar_second.inc @@ -0,0 +1,20 @@ + t('Zen Layout: one sidebar after content'), + 'icon' => 'one-sidebar-second.png', + 'theme' => 'zen_one_sidebar_second', + 'admin theme' => 'zen_one_sidebar_second_admin', + 'css' => 'one-sidebar-second.css', + 'admin css' => 'one-sidebar-second-admin.css', + 'panels' => array( + 'content' => t('Content'), + 'sidebar_first' => t('First sidebar'), + ), + ); + + return $items; +} diff --git a/themes/zen/layouts/one_sidebar_second/zen-one-sidebar-second-admin.tpl.php b/themes/zen/layouts/one_sidebar_second/zen-one-sidebar-second-admin.tpl.php new file mode 100644 index 0000000..41dbe56 --- /dev/null +++ b/themes/zen/layouts/one_sidebar_second/zen-one-sidebar-second-admin.tpl.php @@ -0,0 +1,28 @@ + + +
> + +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/one_sidebar_second/zen-one-sidebar-second.tpl.php b/themes/zen/layouts/one_sidebar_second/zen-one-sidebar-second.tpl.php new file mode 100644 index 0000000..bdb251e --- /dev/null +++ b/themes/zen/layouts/one_sidebar_second/zen-one-sidebar-second.tpl.php @@ -0,0 +1,28 @@ + + +
> + +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/two_sidebars/two-sidebars-admin.css b/themes/zen/layouts/two_sidebars/two-sidebars-admin.css new file mode 100644 index 0000000..f7669b7 --- /dev/null +++ b/themes/zen/layouts/two_sidebars/two-sidebars-admin.css @@ -0,0 +1,53 @@ +/** + * @file + * Page manager layout + * + * We are using percentages in the admin instead of fixed widths so that the + * admin can work nicely in different admin themes. + */ + +#panels-dnd-main div.panels-display h2.label { + padding-left: 24px; + text-align: left; +} + +#page-manager-edit .zen-two-sidebars .panel-content .inside { + margin-right: 10px; +} + +#page-manager-edit .zen-two-sidebars .panel-content { + float: left; /* LTR */ + width: 50%; + margin-left: 25%; /* LTR */ + margin-right: -75%; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +#page-manager-edit .zen-two-sidebars .panel-header { + height: auto; + margin-bottom: 10px; +} + +#page-manager-edit .zen-two-sidebars .panel-sidebar-first { + float: left; /* LTR */ + width: 25%; + margin-left: 0px; /* LTR */ /* Width of #content. */ + margin-right: -25%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +#page-manager-edit .zen-two-sidebars .panel-sidebar-first-inner { + margin-right: 10px; +} + +#page-manager-edit .zen-two-sidebars .panel-sidebar-second { + float: left; /* LTR */ + width: 25%; + margin-left: 75%; /* LTR */ /* Width of #content. */ + margin-right: -100%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +#page-manager-edit .zen-two-sidebars .panel-sidebar-second-inner { + margin-left: 0px; +} diff --git a/themes/zen/layouts/two_sidebars/two-sidebars.css b/themes/zen/layouts/two_sidebars/two-sidebars.css new file mode 100644 index 0000000..10ddf5d --- /dev/null +++ b/themes/zen/layouts/two_sidebars/two-sidebars.css @@ -0,0 +1,51 @@ +/** + * @file + * Zen panel layout + * + * This layout does include the standar Zen navbar, content and right sidebar + * layout. Markup has been reordered for Accessibility and SEO optimizations. + * The markup order is: content, sidebar, sidebar but the display will show + * sidebar, content, sidebar. + */ + +.zen-two-sidebars { +/* overflow: hidden; */ + position: relative; + margin-top: 0; + padding-top: 0; +} + +.zen-two-sidebars .panel-sidebar-first { +} + +.zen-two-sidebars .panel-content { + float: left; /* LTR */ + width: 460px; + margin-left: 250px; /* LTR */ + margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +.zen-two-sidebars .panel-sidebar-first { + float: left; /* LTR */ + width: 250px; + margin-left: 0px; /* LTR */ /* Width of #content. */ + margin-right: -250px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-two-sidebars .panel-sidebar-first .panel-sidebar-first-inner { + margin-right: 20px; +} + +.zen-two-sidebars .panel-sidebar-second { + float: left; /* LTR */ + width: 250px; + margin-left: 710px; /* LTR */ /* Width of #content. */ + margin-right: -960px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-two-sidebars .panel-sidebar-second .panel-sidebar-second-inner { + margin-left: 20px; +} diff --git a/themes/zen/layouts/two_sidebars/two-sidebars.png b/themes/zen/layouts/two_sidebars/two-sidebars.png new file mode 100644 index 0000000..23cc8d1 Binary files /dev/null and b/themes/zen/layouts/two_sidebars/two-sidebars.png differ diff --git a/themes/zen/layouts/two_sidebars/two_sidebars.inc b/themes/zen/layouts/two_sidebars/two_sidebars.inc new file mode 100644 index 0000000..4d1b785 --- /dev/null +++ b/themes/zen/layouts/two_sidebars/two_sidebars.inc @@ -0,0 +1,21 @@ + t('Zen Layout: two sidebars with content'), + 'icon' => 'two-sidebars.png', + 'theme' => 'zen_two_sidebars', + 'admin theme' => 'zen_two_sidebars_admin', + 'css' => 'two-sidebars.css', + 'admin css' => 'two-sidebars-admin.css', + 'panels' => array( + 'content' => t('Content'), + 'sidebar_first' => t('First sidebar'), + 'sidebar_second' => t('Second sidebar'), + ), + ); + + return $items; +} diff --git a/themes/zen/layouts/two_sidebars/zen-two-sidebars-admin.tpl.php b/themes/zen/layouts/two_sidebars/zen-two-sidebars-admin.tpl.php new file mode 100644 index 0000000..5dbfd83 --- /dev/null +++ b/themes/zen/layouts/two_sidebars/zen-two-sidebars-admin.tpl.php @@ -0,0 +1,33 @@ + + +
> + +
+ +
+ +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/two_sidebars/zen-two-sidebars.tpl.php b/themes/zen/layouts/two_sidebars/zen-two-sidebars.tpl.php new file mode 100644 index 0000000..f309c87 --- /dev/null +++ b/themes/zen/layouts/two_sidebars/zen-two-sidebars.tpl.php @@ -0,0 +1,33 @@ + + +
> + +
+ +
+ +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/two_sidebars_first/two-sidebars-first-admin.css b/themes/zen/layouts/two_sidebars_first/two-sidebars-first-admin.css new file mode 100644 index 0000000..bfc8686 --- /dev/null +++ b/themes/zen/layouts/two_sidebars_first/two-sidebars-first-admin.css @@ -0,0 +1,53 @@ +/** + * @file + * Page manager layout + * + * Because we're using fixed widths and not percentages, we need to adjust the + * panel page editing layout to fit reasonably on screen. We're assuming a + * 960px page width, leaving the main panel manager content well at 769px. + */ +#panels-dnd-main div.panels-display h2.label { + padding-left: 24px; + text-align: left; +} + +#page-manager-edit .zen-two-sidebars-first .panel-content .inside { + margin-right: 0px; +} + +#page-manager-edit .zen-two-sidebars-first .panel-content { + float: left; /* LTR */ + width: 50%; + margin-left: 50%; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +#page-manager-edit .zen-two-sidebars-first .panel-header { + height: auto; + margin-bottom: 10px; +} + +#page-manager-edit .zen-two-sidebars-first .panel-sidebar-first { + float: left; /* LTR */ + width: 25%; + margin-left: 0px; /* LTR */ /* Width of #content. */ + margin-right: -25%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +#page-manager-edit .zen-two-sidebars-first .panel-sidebar-first-inner { + margin-right: 10px; +} + +#page-manager-edit .zen-two-sidebars-first .panel-sidebar-second { + float: left; /* LTR */ + width: 25%; + margin-left: 25%; /* LTR */ /* Width of #content. */ + margin-right: -50%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +#page-manager-edit .zen-two-sidebars-first .panel-sidebar-second-inner { + margin-right: 10px; +} diff --git a/themes/zen/layouts/two_sidebars_first/two-sidebars-first.css b/themes/zen/layouts/two_sidebars_first/two-sidebars-first.css new file mode 100644 index 0000000..f763b08 --- /dev/null +++ b/themes/zen/layouts/two_sidebars_first/two-sidebars-first.css @@ -0,0 +1,51 @@ +/** + * @file + * Zen panel layout + * + * This layout does include the standar Zen navbar, content and right sidebar + * layout. Markup has been reordered for Accessibility and SEO optimizations. + * The markup order is: content, sidebar, sidebar but the display will show + * sidebar, sidebar, content. + */ + +.zen-two-sidebars-first { +/* overflow: hidden; */ + position: relative; + margin-top: 0; + padding-top: 0; +} + +.zen-two-sidebars-first .panel-sidebar-first { +} + +.zen-two-sidebars-first .panel-content { + float: left; /* LTR */ + width: 460px; + margin-left: 500px; /* LTR */ + margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +.zen-two-sidebars-first .panel-sidebar-first { + float: left; /* LTR */ + width: 250px; + margin-left: 0px; /* LTR */ /* Width of #content. */ + margin-right: -250px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-two-sidebars-first .panel-sidebar-first .panel-sidebar-first-inner { + margin-right: 20px; +} + +.zen-two-sidebars-first .panel-sidebar-second { + float: left; /* LTR */ + width: 250px; + margin-left: 250px; /* LTR */ /* Width of #content. */ + margin-right: -500px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-two-sidebars-first .panel-sidebar-second .panel-sidebar-second-inner { + margin-right: 20px; +} diff --git a/themes/zen/layouts/two_sidebars_first/two-sidebars-first.png b/themes/zen/layouts/two_sidebars_first/two-sidebars-first.png new file mode 100644 index 0000000..79ec8d8 Binary files /dev/null and b/themes/zen/layouts/two_sidebars_first/two-sidebars-first.png differ diff --git a/themes/zen/layouts/two_sidebars_first/two_sidebars_first.inc b/themes/zen/layouts/two_sidebars_first/two_sidebars_first.inc new file mode 100644 index 0000000..77f878c --- /dev/null +++ b/themes/zen/layouts/two_sidebars_first/two_sidebars_first.inc @@ -0,0 +1,21 @@ + t('Zen Layout: two sidebars before content'), + 'icon' => 'two-sidebars-first.png', + 'theme' => 'zen_two_sidebars_first', + 'admin theme' => 'zen_two_sidebars_first_admin', + 'css' => 'two-sidebars-first.css', + 'admin css' => 'two-sidebars-first-admin.css', + 'panels' => array( + 'content' => t('Content'), + 'sidebar_first' => t('First sidebar'), + 'sidebar_second' => t('Second sidebar'), + ), + ); + + return $items; +} diff --git a/themes/zen/layouts/two_sidebars_first/zen-two-sidebars-first-admin.tpl.php b/themes/zen/layouts/two_sidebars_first/zen-two-sidebars-first-admin.tpl.php new file mode 100644 index 0000000..320a32f --- /dev/null +++ b/themes/zen/layouts/two_sidebars_first/zen-two-sidebars-first-admin.tpl.php @@ -0,0 +1,33 @@ + + +
> + +
+ +
+ +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/two_sidebars_first/zen-two-sidebars-first.tpl.php b/themes/zen/layouts/two_sidebars_first/zen-two-sidebars-first.tpl.php new file mode 100644 index 0000000..b25010b --- /dev/null +++ b/themes/zen/layouts/two_sidebars_first/zen-two-sidebars-first.tpl.php @@ -0,0 +1,33 @@ + + +
> + +
+ +
+ +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/two_sidebars_second/two-sidebars-second-admin.css b/themes/zen/layouts/two_sidebars_second/two-sidebars-second-admin.css new file mode 100644 index 0000000..91ccb52 --- /dev/null +++ b/themes/zen/layouts/two_sidebars_second/two-sidebars-second-admin.css @@ -0,0 +1,55 @@ +/** + * @file + * Page manager layout + * + * We are using percentages in the admin instead of fixed widths so that the + * admin can work nicely in different admin themes. + */ + +.zen-two-sidebars-second .admin-row { + float: left; + width: 100%; +} + +#panels-dnd-main div.panels-display h2.label { + padding-left: 24px; + padding-right: 0px; + text-align: left; +} + +#page-manager-edit .zen-two-sidebars-second .panel-content { + float: left; /* LTR */ + width: 51%; + margin-left: 0; /* LTR */ + margin-right: -51%; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +#page-manager-edit .zen-two-sidebars-second .panel-header { + height: auto; + margin-bottom: 10px; +} + +#page-manager-edit .zen-two-sidebars-second .panel-sidebar-first { + float: left; /* LTR */ + width: 24%; + margin-left: 51%; /* LTR */ /* Width of #content. */ + margin-right: -75%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +#page-manager-edit .zen-two-sidebars-second .panel-sidebar-first-inner { + margin-left: 5px; +} + +#page-manager-edit .zen-two-sidebars-second .panel-sidebar-second { + float: left; /* LTR */ + width: 24%; + margin-left: 75%; /* LTR */ /* Width of #content. */ + margin-right: -99%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +#page-manager-edit .zen-two-sidebars-second .panel-sidebar-second-inner { + margin-left: 5px; +} diff --git a/themes/zen/layouts/two_sidebars_second/two-sidebars-second.css b/themes/zen/layouts/two_sidebars_second/two-sidebars-second.css new file mode 100644 index 0000000..ee6a313 --- /dev/null +++ b/themes/zen/layouts/two_sidebars_second/two-sidebars-second.css @@ -0,0 +1,62 @@ +/** + * @file + * Zen panel layout + * + * This layout does include the standar Zen navbar, content and right sidebar + * layout. Markup has been reordered for Accessibility and SEO optimizations. + */ +.zen-two-sidebars-second { +/* overflow: hidden; */ + position: relative; + margin-top: 0; + padding-top: 0; +} + +.zen-two-sidebars-second .panel-content { + float: left; /* LTR */ + width: 460px; + margin-left: 0; /* LTR */ + margin-right: -460px; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */ +} + +.zen-two-sidebars-second .panel-header { + float: left; /* LTR */ + width: 100%; + margin-left: 0; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #navigation's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #navigation .section. */ + height: 3.3em; /* The navigation can have any arbritrary height. We picked one + that is the line-height plus 1em: 1.3 + 1 = 2.3 + Set this to the same value as the margin-top below. */ +} + +.zen-two-sidebars-second .with-panel-header .panel-content, +.zen-two-sidebars-second .with-panel-header .panel-sidebar-first, +.zen-two-sidebars-second .with-panel-header .panel-sidebar-second { + margin-top: 3.3em; /* Set this to the same value as the navigation height above. */ +} + +.zen-two-sidebars-second .panel-sidebar-first { + float: left; /* LTR */ + width: 250px; + margin-left: 460px; /* LTR */ /* Width of #content. */ + margin-right: -710px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-two-sidebars-second .panel-sidebar-first .panel-sidebar-first-inner { + margin-left: 20px; +} + +.zen-two-sidebars-second .panel-sidebar-second { + float: left; /* LTR */ + width: 250px; + margin-left: 710px; /* LTR */ /* Width of #content. */ + margin-right: -960px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */ +} + +.zen-two-sidebars-second .panel-sidebar-second .panel-sidebar-second-inner { + margin-left: 20px; +} diff --git a/themes/zen/layouts/two_sidebars_second/two-sidebars-second.png b/themes/zen/layouts/two_sidebars_second/two-sidebars-second.png new file mode 100644 index 0000000..97a6f8e Binary files /dev/null and b/themes/zen/layouts/two_sidebars_second/two-sidebars-second.png differ diff --git a/themes/zen/layouts/two_sidebars_second/two_sidebars_second.inc b/themes/zen/layouts/two_sidebars_second/two_sidebars_second.inc new file mode 100644 index 0000000..05e0add --- /dev/null +++ b/themes/zen/layouts/two_sidebars_second/two_sidebars_second.inc @@ -0,0 +1,21 @@ + t('Zen Layout: two sidebars after content'), + 'icon' => 'two-sidebars-second.png', + 'theme' => 'zen_two_sidebars_second', + 'admin theme' => 'zen_two_sidebars_second_admin', + 'css' => 'two-sidebars-second.css', + 'admin css' => 'two-sidebars-second-admin.css', + 'panels' => array( + 'content' => t('Content'), + 'sidebar_first' => t('First sidebar'), + 'sidebar_second' => t('Second sidebar'), + ), + ); + + return $items; +} diff --git a/themes/zen/layouts/two_sidebars_second/zen-two-sidebars-second-admin.tpl.php b/themes/zen/layouts/two_sidebars_second/zen-two-sidebars-second-admin.tpl.php new file mode 100644 index 0000000..b19f138 --- /dev/null +++ b/themes/zen/layouts/two_sidebars_second/zen-two-sidebars-second-admin.tpl.php @@ -0,0 +1,33 @@ + + +
> + +
+ +
+ +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/layouts/two_sidebars_second/zen-two-sidebars-second.tpl.php b/themes/zen/layouts/two_sidebars_second/zen-two-sidebars-second.tpl.php new file mode 100644 index 0000000..9fb6e0b --- /dev/null +++ b/themes/zen/layouts/two_sidebars_second/zen-two-sidebars-second.tpl.php @@ -0,0 +1,33 @@ + + +
> + +
+ +
+ +
+ +
+ +
+ +
+ +
diff --git a/themes/zen/logo.png b/themes/zen/logo.png new file mode 100644 index 0000000..a30644a Binary files /dev/null and b/themes/zen/logo.png differ diff --git a/themes/zen/template.php b/themes/zen/template.php new file mode 100644 index 0000000..0389d75 --- /dev/null +++ b/themes/zen/template.php @@ -0,0 +1,668 @@ +' . implode($breadcrumb_separator, $breadcrumb) . "$trailing_separator$title"; + } + } + // Otherwise, return an empty string. + return ''; +} + +/** + * Return a themed set of links. + * + * @param $links + * A keyed array of links to be themed. + * @param $attributes + * A keyed array of attributes + * @param $heading + * An optional keyed array or a string for a heading to precede the links. + * When using an array the following keys can be used: + * - text: the heading text + * - level: the heading level (e.g. 'h2', 'h3') + * - class: (optional) a string of the CSS classes for the heading + * When using a string it will be used as the text of the heading and the + * level will default to 'h2'. + * Headings should be used on navigation menus and any list of links that + * consistently appears on multiple pages. To make the heading invisible + * use the 'element-invisible' CSS class. Do not use 'display:none', which + * removes it from screen-readers and assistive technology. Headings allow + * screen-reader and keyboard only users to navigate to or skip the links. + * See http://juicystudio.com/article/screen-readers-display-none.php + * and http://www.w3.org/TR/WCAG-TECHS/H42.html for more information. + * @return + * A string containing an unordered list of links. + */ +function zen_links($links, $attributes = array('class' => 'links'), $heading = '') { + global $language; + $output = ''; + + if (count($links) > 0) { + // Treat the heading first if it is present to prepend it to the + // list of links. + if (!empty($heading)) { + if (is_string($heading)) { + // Prepare the array that will be used when the passed heading + // is a string. + $heading = array( + 'text' => $heading, + // Set the default level of the heading. + 'level' => 'h2', + ); + } + $output .= '<' . $heading['level']; + if (!empty($heading['class'])) { + $output .= drupal_attributes(array('class' => $heading['class'])); + } + $output .= '>' . check_plain($heading['text']) . ''; + } + + $output .= ''; + + $num_links = count($links); + $i = 1; + + foreach ($links as $key => $link) { + $class = $key; + + // Add first, last and active classes to the list of links to help out themers. + if ($i == 1) { + $class .= ' first'; + } + if ($i == $num_links) { + $class .= ' last'; + } + if (isset($link['href']) && ($link['href'] == $_GET['q'] || ($link['href'] == '' && drupal_is_front_page())) + && (empty($link['language']) || $link['language']->language == $language->language)) { + $class .= ' active'; + } + $output .= ' $class)) .'>'; + + if (isset($link['href'])) { + // Pass in $link as $options, they share the same keys. + $output .= l($link['title'], $link['href'], $link); + } + else if (!empty($link['title'])) { + // Some links are actually not links, but we wrap these in for adding title and class attributes + if (empty($link['html'])) { + $link['title'] = check_plain($link['title']); + } + $span_attributes = ''; + if (isset($link['attributes'])) { + $span_attributes = drupal_attributes($link['attributes']); + } + $output .= ''. $link['title'] .''; + } + + $i++; + $output .= "\n"; + } + + $output .= ''; + } + + return $output; +} + +/** + * Implements theme_menu_item_link() + */ +function zen_menu_item_link($link) { + if (empty($link['localized_options'])) { + $link['localized_options'] = array(); + } + + // If an item is a LOCAL TASK, render it as a tab + if ($link['type'] & MENU_IS_LOCAL_TASK) { + $link['title'] = '' . check_plain($link['title']) . ''; + $link['localized_options']['html'] = TRUE; + } + + return l($link['title'], $link['href'], $link['localized_options']); +} + +/** + * Duplicate of theme_menu_local_tasks() but adds clearfix to tabs. + */ +function zen_menu_local_tasks() { + $output = ''; + + // CTools requires a different set of local task functions. + if (module_exists('ctools')) { + ctools_include('menu'); + $primary = ctools_menu_primary_local_tasks(); + $secondary = ctools_menu_secondary_local_tasks(); + } + else { + $primary = menu_primary_local_tasks(); + $secondary = menu_secondary_local_tasks(); + } + + if ($primary) { + $output .= '
    ' . $primary . '
'; + } + if ($secondary) { + $output .= '
    ' . $secondary . '
'; + } + + return $output; +} + +/** + * Return a set of blocks available for the current user. + * + * @param $region + * Which set of blocks to retrieve. + * @param $show_blocks + * A boolean to determine whether to render sidebar regions or not. Should be + * the same value as passed to theme_page. + * @return + * A string containing the themed blocks for this region. + * + * @see zen_show_blocks_discovery() + */ +function zen_blocks($region, $show_blocks = NULL) { + // Since Drupal 6 doesn't pass $show_blocks to theme_blocks, we manually call + // theme('blocks', NULL, $show_blocks) so that this function can remember the + // value on later calls. + static $render_sidebars = TRUE; + if (!is_null($show_blocks)) { + $render_sidebars = $show_blocks; + } + + // If zen_blocks was called with a NULL region, its likely we were just + // setting the $render_sidebars static variable. + if ($region) { + $output = ''; + + // If $renders_sidebars is FALSE, don't render any region whose name begins + // with "sidebar_". + if ($render_sidebars || (strpos($region, 'sidebar_') !== 0)) { + // Allow context module to set blocks. + if (function_exists('context_blocks')) { + $output = context_blocks($region); + } + else { + foreach (block_list($region) as $key => $block) { + // $key == module_delta + $output .= theme('block', $block); + } + } + } + + // Add any content assigned to this region through drupal_set_content() calls. + $output .= drupal_get_content($region); + + $elements['#children'] = $output; + $elements['#region'] = $region; + + // Set the theme hook suggestions. + $hook = array('region_' . $region); + if (strpos($region, 'sidebar_') === 0) { + $hook[] = 'region_sidebar'; + } + $hook[] = 'region'; + return $output ? theme($hook, $elements) : ''; + } +} + +/** + * Examine the $show_blocks variable before template_preprocess_page() is called. + * + * @param $vars + * An array of variables to pass to the page template. + * + * @see zen_blocks() + */ +function zen_show_blocks_discovery(&$vars) { + if ($vars['show_blocks'] == FALSE) { + // Allow zen_blocks() to statically cache the $show_blocks variable. A TRUE + // value is assumed, so we only need to override when $show_blocks is FALSE. + theme('blocks', NULL, FALSE); + } +} + +/** + * Override or insert variables into templates before other preprocess functions have run. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered. + */ +function zen_preprocess(&$vars, $hook) { + // In D6, the page.tpl uses a different variable name to hold the classes. + $key = ($hook == 'page' || $hook == 'maintenance_page') ? 'body_classes' : 'classes'; + + // Create a D7-standard classes_array variable. + if (array_key_exists($key, $vars)) { + // Views (and possibly other modules) have templates with a $classes + // variable that isn't a string, so we leave those variables alone. + if (is_string($vars[$key])) { + $vars['classes_array'] = explode(' ', $hook . ' ' . $vars[$key]); + unset($vars[$key]); + } + } + else { + $vars['classes_array'] = array($hook); + } + // Add support for Skinr + if (!empty($vars['skinr']) && array_key_exists('classes_array', $vars)) { + $vars['classes_array'][] = $vars['skinr']; + } +} + +/** + * Override or insert variables into the page templates. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered ("page" in this case.) + */ +function zen_preprocess_page(&$vars, $hook) { + // If the user is silly and enables Zen as the theme, add some styles. + if ($GLOBALS['theme'] == 'zen') { + include_once './' . _zen_path() . '/zen-internals/template.zen.inc'; + _zen_preprocess_page($vars, $hook); + } + // Add conditional stylesheets. + elseif (!module_exists('conditional_styles')) { + $language = $GLOBALS['language']->direction == LANGUAGE_RTL ? '_rtl' : ''; + $vars['conditional_styles'] = variable_get('conditional_styles_' . $GLOBALS['theme'] . $language, ''); + $vars['styles'] .= $vars['conditional_styles']; + } + + // Classes for body element. Allows advanced theming based on context + // (home page, node of certain type, etc.) + // Remove the mostly useless page-ARG0 class. + if ($index = array_search(preg_replace('![^abcdefghijklmnopqrstuvwxyz0-9-_]+!s', '', 'page-'. drupal_strtolower(arg(0))), $vars['classes_array'])) { + unset($vars['classes_array'][$index]); + } + if (!$vars['is_front']) { + // Add unique class for each page. + $path = drupal_get_path_alias($_GET['q']); + $vars['classes_array'][] = drupal_html_class('page-' . $path); + // Add unique class for each website section. + list($section, ) = explode('/', $path, 2); + if (arg(0) == 'node') { + if (arg(1) == 'add') { + $section = 'node-add'; + } + elseif (is_numeric(arg(1)) && (arg(2) == 'edit' || arg(2) == 'delete')) { + $section = 'node-' . arg(2); + } + } + $vars['classes_array'][] = drupal_html_class('section-' . $section); + } + if (theme_get_setting('zen_wireframes')) { + $vars['classes_array'][] = 'with-wireframes'; // Optionally add the wireframes style. + } + // We need to re-do the $layout and body classes because + // template_preprocess_page() assumes sidebars are named 'left' and 'right'. + $vars['layout'] = 'none'; + if (!empty($vars['sidebar_first'])) { + $vars['layout'] = 'first'; + } + if (!empty($vars['sidebar_second'])) { + $vars['layout'] = ($vars['layout'] == 'first') ? 'both' : 'second'; + } + // If the layout is 'none', then template_preprocess_page() will already have + // set a 'no-sidebars' class since it won't find a 'left' or 'right' sidebar. + if ($vars['layout'] != 'none') { + // Remove the incorrect 'no-sidebars' class. + if ($index = array_search('no-sidebars', $vars['classes_array'])) { + unset($vars['classes_array'][$index]); + } + // Set the proper layout body classes. + if ($vars['layout'] == 'both') { + $vars['classes_array'][] = 'two-sidebars'; + } + else { + $vars['classes_array'][] = 'one-sidebar'; + $vars['classes_array'][] = 'sidebar-' . $vars['layout']; + } + } + // Store the menu item since it has some useful information. + $vars['menu_item'] = menu_get_item(); + switch ($vars['menu_item']['page_callback']) { + case 'views_page': + // Is this a Views page? + $vars['classes_array'][] = 'page-views'; + break; + case 'page_manager_page_execute': + case 'page_manager_node_view': + case 'page_manager_contact_site': + // Is this a Panels page? + $vars['classes_array'][] = 'page-panels'; + break; + } +} + +/** + * Override or insert variables into the maintenance page template. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered ("maintenance_page" in this case.) + */ +function zen_preprocess_maintenance_page(&$vars, $hook) { + // If Zen is the maintenance theme, add some styles. + if ($GLOBALS['theme'] == 'zen') { + include_once './' . _zen_path() . '/zen-internals/template.zen.inc'; + _zen_preprocess_page($vars, $hook); + } + // Add conditional stylesheets. + elseif (!module_exists('conditional_styles')) { + $language = $GLOBALS['language']->direction == LANGUAGE_RTL ? '_rtl' : ''; + $vars['conditional_styles'] = variable_get('conditional_styles_' . $GLOBALS['theme'] . $language, ''); + $vars['styles'] .= $vars['conditional_styles']; + } +} + +/** + * Override or insert variables into the node templates. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered ("node" in this case.) + */ +function zen_preprocess_node(&$vars, $hook) { + // Create the build_mode variable. + switch ($vars['node']->build_mode) { + case NODE_BUILD_NORMAL: + if ($vars['node']->build_mode === NODE_BUILD_NORMAL) { + $vars['build_mode'] = $vars['teaser'] ? 'teaser' : 'full'; + } + else { + $vars['build_mode'] = $vars['node']->build_mode; + } + break; + case NODE_BUILD_PREVIEW: + $vars['build_mode'] = 'preview'; + break; + case NODE_BUILD_SEARCH_INDEX: + $vars['build_mode'] = 'search_index'; + break; + case NODE_BUILD_SEARCH_RESULT: + $vars['build_mode'] = 'search_result'; + break; + case NODE_BUILD_RSS: + $vars['build_mode'] = 'rss'; + break; + case NODE_BUILD_PRINT: + $vars['build_mode'] = 'print'; + break; + default: + $vars['build_mode'] = $vars['node']->build_mode; + } + + // Create the user_picture variable. + $vars['user_picture'] = $vars['picture']; + + // Create the Drupal 7 $display_submitted variable. + $vars['display_submitted'] = theme_get_setting('toggle_node_info_' . $vars['node']->type); + + // Special classes for nodes. + // Class for node type: "node-type-page", "node-type-story", "node-type-my-custom-type", etc. + $vars['classes_array'][] = drupal_html_class('node-type-' . $vars['type']); + if ($vars['promote']) { + $vars['classes_array'][] = 'node-promoted'; + } + if ($vars['sticky']) { + $vars['classes_array'][] = 'node-sticky'; + } + if (!$vars['status']) { + $vars['classes_array'][] = 'node-unpublished'; + $vars['unpublished'] = TRUE; + } + else { + $vars['unpublished'] = FALSE; + } + if ($vars['uid'] && $vars['uid'] == $GLOBALS['user']->uid) { + $vars['classes_array'][] = 'node-by-viewer'; // Node is authored by current user. + } + if ($vars['teaser']) { + $vars['classes_array'][] = 'node-teaser'; // Node is displayed as teaser. + } + if (isset($vars['preview'])) { + $vars['classes_array'][] = 'node-preview'; + } + $vars['classes_array'][] = 'build-mode-' . $vars['build_mode'] ; +} + +/** + * Override or insert variables into the comment templates. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered ("comment" in this case.) + */ +function zen_preprocess_comment(&$vars, $hook) { + include_once './' . _zen_path() . '/zen-internals/template.comment.inc'; + _zen_preprocess_comment($vars, $hook); +} + +/** + * Preprocess variables for region.tpl.php + * + * Prepare the values passed to the theme_region function to be passed into a + * pluggable template engine. + * + * @see region.tpl.php + */ +function zen_preprocess_region(&$vars, $hook) { + // Create the $content variable that templates expect. + $vars['content'] = $vars['elements']['#children']; + $vars['region'] = $vars['elements']['#region']; + + // Setup the default classes. + $vars['classes_array'] = array('region', 'region-' . str_replace('_', '-', $vars['region'])); + + // Sidebar regions get a couple extra classes. + if (strpos($vars['region'], 'sidebar_') === 0) { + $vars['classes_array'][] = 'column'; + $vars['classes_array'][] = 'sidebar'; + } +} + +/** + * Override or insert variables into the block templates. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered ("block" in this case.) + */ +function zen_preprocess_block(&$vars, $hook) { + $block = $vars['block']; + + // Drupal 7 uses a $content variable instead of $block->content. + $vars['content'] = $block->content; + // Drupal 7 should use a $title variable instead of $block->subject. + $vars['title'] = $block->subject; + + // Special classes for blocks. + $vars['classes_array'][] = 'block-' . $block->module; + // Classes describing the position of the block within the region. + if ($vars['block_id'] == 1) { + $vars['classes_array'][] = 'first'; + } + if (!function_exists('context_blocks') && count(block_list($vars['block']->region)) == $vars['block_id']) { + $vars['classes_array'][] = 'last'; + } + $vars['classes_array'][] = 'region-' . $vars['block_zebra']; + $vars['classes_array'][] = $vars['zebra']; + $vars['classes_array'][] = 'region-count-' . $vars['block_id']; + $vars['classes_array'][] = 'count-' . $vars['id']; + + // Create the block ID. + $vars['block_html_id'] = 'block-' . $block->module . '-' . $block->delta; + + $vars['edit_links_array'] = array(); + if (theme_get_setting('zen_block_editing') && user_access('administer blocks')) { + include_once './' . _zen_path() . '/zen-internals/template.block-editing.inc'; + zen_preprocess_block_editing($vars, $hook); + $vars['classes_array'][] = 'with-block-editing'; + } +} + +/** + * Override or insert variables into templates after preprocess functions have run. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered. + */ +function zen_process(&$vars, $hook) { + // Don't clobber Views 3 classes. + if (array_key_exists('classes_array', $vars) && !array_key_exists('classes', $vars)) { + $vars['classes'] = implode(' ', $vars['classes_array']); + } +} + +/** + * Override or insert variables into the block templates after preprocess functions have run. + * + * @param $vars + * An array of variables to pass to the theme template. + * @param $hook + * The name of the template being rendered ("block" in this case.) + */ +function zen_process_block(&$vars, $hook) { + $vars['edit_links'] = !empty($vars['edit_links_array']) ? '
' . implode(' ', $vars['edit_links_array']) . '
' : ''; +} + +if (!function_exists('drupal_html_class')) { + /** + * Prepare a string for use as a valid class name. + * + * Do not pass one string containing multiple classes as they will be + * incorrectly concatenated with dashes, i.e. "one two" will become "one-two". + * + * @param $class + * The class name to clean. + * @return + * The cleaned class name. + */ + function drupal_html_class($class) { + // By default, we filter using Drupal's coding standards. + $class = strtr(drupal_strtolower($class), array(' ' => '-', '_' => '-', '/' => '-', '[' => '-', ']' => '')); + + // http://www.w3.org/TR/CSS21/syndata.html#characters shows the syntax for valid + // CSS identifiers (including element names, classes, and IDs in selectors.) + // + // Valid characters in a CSS identifier are: + // - the hyphen (U+002D) + // - a-z (U+0030 - U+0039) + // - A-Z (U+0041 - U+005A) + // - the underscore (U+005F) + // - 0-9 (U+0061 - U+007A) + // - ISO 10646 characters U+00A1 and higher + // We strip out any character not in the above list. + $class = preg_replace('/[^\x{002D}\x{0030}-\x{0039}\x{0041}-\x{005A}\x{005F}\x{0061}-\x{007A}\x{00A1}-\x{FFFF}]/u', '', $class); + + return $class; + } +} /* End of drupal_html_class conditional definition. */ + +if (!function_exists('drupal_html_id')) { + /** + * Prepare a string for use as a valid HTML ID and guarantee uniqueness. + * + * @param $id + * The ID to clean. + * @return + * The cleaned ID. + */ + function drupal_html_id($id) { + $id = strtr(drupal_strtolower($id), array(' ' => '-', '_' => '-', '[' => '-', ']' => '')); + + // As defined in http://www.w3.org/TR/html4/types.html#type-name, HTML IDs can + // only contain letters, digits ([0-9]), hyphens ("-"), underscores ("_"), + // colons (":"), and periods ("."). We strip out any character not in that + // list. Note that the CSS spec doesn't allow colons or periods in identifiers + // (http://www.w3.org/TR/CSS21/syndata.html#characters), so we strip those two + // characters as well. + $id = preg_replace('/[^A-Za-z0-9\-_]/', '', $id); + + return $id; + } +} /* End of drupal_html_id conditional definition. */ + +/** + * Returns the path to the Zen theme. + * + * drupal_get_filename() is broken; see #341140. When that is fixed in Drupal 6, + * replace _zen_path() with drupal_get_path('theme', 'zen'). + */ +function _zen_path() { + static $path = FALSE; + if (!$path) { + $matches = drupal_system_listing('zen\.info$', 'themes', 'name', 0); + if (!empty($matches['zen']->filename)) { + $path = dirname($matches['zen']->filename); + } + } + return $path; +} diff --git a/themes/zen/templates/block.tpl.php b/themes/zen/templates/block.tpl.php new file mode 100644 index 0000000..607ae98 --- /dev/null +++ b/themes/zen/templates/block.tpl.php @@ -0,0 +1,66 @@ +module: Module that generated the block. + * - $block->delta: An ID for the block, unique within each module. + * - $block->region: The block region embedding the current block. + * - $edit_links: A list of contextual links for the block. It can be + * manipulated through the variable $edit_links_array from preprocess + * functions. + * - $classes: String of classes that can be used to style contextually through + * CSS. It can be manipulated through the variable $classes_array from + * preprocess functions. The default values can be one or more of the + * following: + * - block: The current template type, i.e., "theming hook". + * - block-[module]: The module generating the block. For example, the user + * module is responsible for handling the default user navigation block. In + * that case the class would be "block-user". + * - first: The first block in the region. + * - last: The last block in the region. + * - region-count-[x]: The position of the block in the list of blocks in the + * current region. + * - region-odd: An odd-numbered block of the list of blocks in the current + * region. + * - region-even: An even-numbered block of the list of blocks in the current + * region. + * - count-[x]: The position of the block in the list of blocks on the current + * page. + * - odd: An odd-numbered block of the list of blocks on the current page. + * - even: An even-numbered block of the list of blocks on the current page. + * + * Helper variables: + * - $classes_array: Array of html class attribute values. It is flattened + * into a string within the variable $classes. + * - $edit_links_array: An array of contextual links for the block. + * - $block_zebra: Outputs 'odd' and 'even' dependent on each block region. + * - $zebra: Same output as $block_zebra but independent of any block region. + * - $block_id: Counter dependent on each block region. + * - $id: Same output as $block_id but independent of any block region. + * - $is_front: Flags true when presented in the front page. + * - $logged_in: Flags true when the current user is a logged-in member. + * - $is_admin: Flags true when the current user is an administrator. + * - $block_html_id: A valid HTML ID and guaranteed unique. + * + * @see template_preprocess() + * @see zen_preprocess() + * @see template_preprocess_block() + * @see zen_preprocess_block() + * @see zen_process() + */ +?> +
+ +

+ + +
+ +
+ + +
diff --git a/themes/zen/templates/comment-wrapper.tpl.php b/themes/zen/templates/comment-wrapper.tpl.php new file mode 100644 index 0000000..3cc2cba --- /dev/null +++ b/themes/zen/templates/comment-wrapper.tpl.php @@ -0,0 +1,45 @@ + +
+ type != 'forum'): ?> +

+ + + +
diff --git a/themes/zen/templates/comment.tpl.php b/themes/zen/templates/comment.tpl.php new file mode 100644 index 0000000..ecfa136 --- /dev/null +++ b/themes/zen/templates/comment.tpl.php @@ -0,0 +1,90 @@ +timestamp variable. + * - $new: New comment marker. + * - $picture: Authors picture. + * - $signature: Authors signature. + * - $status: Comment status. Possible values are: + * comment-unpublished, comment-published or comment-preview. + * - $title: Linked title. + * - $links: Various operational links. + * - $unpublished: An unpublished comment visible only to administrators. + * - $classes: String of classes that can be used to style contextually through + * CSS. It can be manipulated through the variable $classes_array from + * preprocess functions. The default values can be one or more of the following: + * - comment: The current template type, i.e., "theming hook". + * - comment-by-anonymous: Comment by an unregistered user. + * - comment-by-node-author: Comment by the author of the parent node. + * - comment-preview: When previewing a new or edited comment. + * - first: The first comment in the list of displayed comments. + * - last: The last comment in the list of displayed comments. + * - odd: An odd-numbered comment in the list of displayed comments. + * - even: An even-numbered comment in the list of displayed comments. + * The following applies only to viewers who are registered users: + * - comment-by-viewer: Comment by the user currently viewing the page. + * - comment-unpublished: An unpublished comment visible only to administrators. + * - comment-new: New comment since the last visit. + * + * These two variables are provided for context: + * - $comment: Full comment object. + * - $node: Node object the comments are attached to. + * + * Other variables: + * - $classes_array: Array of html class attribute values. It is flattened + * into a string within the variable $classes. + * + * The following variables are deprecated and will be removed in Drupal 7: + * - $date: Formatted date and time for when the comment was created. + * - $submitted: By line with date and time. + * + * @see template_preprocess() + * @see template_preprocess_comment() + * @see zen_preprocess() + * @see zen_preprocess_comment() + * @see zen_process() + */ +?> +
+ + + +

+ + + + +

+ +
+ + + +
+ + + + +
+ + +
+ +
+ +
+ + +
diff --git a/themes/zen/templates/maintenance-page.tpl.php b/themes/zen/templates/maintenance-page.tpl.php new file mode 100644 index 0000000..5eff548 --- /dev/null +++ b/themes/zen/templates/maintenance-page.tpl.php @@ -0,0 +1,107 @@ + + + + + + <?php print $head_title; ?> + + + + + + +
+ + + +
+ +
+ + + + +

+ + + + + +
+ +
+ + + +
+ + + + + + + + + +
+ + + + + +
+ + + + + + + diff --git a/themes/zen/templates/node.tpl.php b/themes/zen/templates/node.tpl.php new file mode 100644 index 0000000..9aba644 --- /dev/null +++ b/themes/zen/templates/node.tpl.php @@ -0,0 +1,104 @@ + +
+ + + +

+ + + +
+ + + +
+ + + + + +
+ +
+ + +
+ +
+ + +
diff --git a/themes/zen/templates/page.tpl.php b/themes/zen/templates/page.tpl.php new file mode 100644 index 0000000..f29d7f5 --- /dev/null +++ b/themes/zen/templates/page.tpl.php @@ -0,0 +1,252 @@ +language contains its textual representation. + * $language->dir contains the language direction. It will either be 'ltr' or 'rtl'. + * - $head_title: A modified version of the page title, for use in the TITLE tag. + * - $head: Markup for the HEAD section (including meta tags, keyword tags, and + * so on). + * - $styles: Style tags necessary to import all CSS files for the page. + * - $scripts: Script tags necessary to load the JavaScript files and settings + * for the page. + * - $classes: String of classes that can be used to style contextually through + * CSS. It should be placed within the tag. When selecting through CSS + * it's recommended that you use the body tag, e.g., "body.front". It can be + * manipulated through the variable $classes_array from preprocess functions. + * The default values can be one or more of the following: + * - front: Page is the home page. + * - not-front: Page is not the home page. + * - logged-in: The current viewer is logged in. + * - not-logged-in: The current viewer is not logged in. + * - node-type-[node type]: When viewing a single node, the type of that node. + * For example, if the node is a "Blog entry" it would result in "node-type-blog". + * Note that the machine name will often be in a short form of the human readable label. + * - page-views: Page content is generated from Views. Note: a Views block + * will not cause this class to appear. + * - page-panels: Page content is generated from Panels. Note: a Panels block + * will not cause this class to appear. + * The following only apply with the default 'sidebar_first' and 'sidebar_second' block regions: + * - two-sidebars: When both sidebars have content. + * - no-sidebars: When no sidebar content exists. + * - one-sidebar and sidebar-first or sidebar-second: A combination of the + * two classes when only one of the two sidebars have content. + * - $node: Full node object. Contains data that may not be safe. This is only + * available if the current page is on the node's primary url. + * - $menu_item: (array) A page's menu item. This is only available if the + * current page is in the menu. + * + * Site identity: + * - $front_page: The URL of the front page. Use this instead of $base_path, + * when linking to the front page. This includes the language domain or prefix. + * - $logo: The path to the logo image, as defined in theme configuration. + * - $site_name: The name of the site, empty when display has been disabled + * in theme settings. + * - $site_slogan: The slogan of the site, empty when display has been disabled + * in theme settings. + * - $mission: The text of the site mission, empty when display has been disabled + * in theme settings. + * + * Navigation: + * - $search_box: HTML to display the search box, empty if search has been disabled. + * - $primary_links (array): An array containing the Primary menu links for the + * site, if they have been configured. + * - $secondary_links (array): An array containing the Secondary menu links for + * the site, if they have been configured. + * - $breadcrumb: The breadcrumb trail for the current page. + * + * Page content (in order of occurrence in the default page.tpl.php): + * - $title: The page title, for use in the actual HTML content. + * - $messages: HTML for status and error messages. Should be displayed prominently. + * - $tabs: Tabs linking to any sub-pages beneath the current page (e.g., the + * view and edit tabs when displaying a node). + * - $help: Dynamic help text, mostly for admin pages. + * - $content: The main content of the current page. + * - $feed_icons: A string of all feed icons for the current page. + * + * Footer/closing data: + * - $footer_message: The footer message as defined in the admin settings. + * - $closure: Final closing markup from any modules that have altered the page. + * This variable should always be output last, after all other dynamic content. + * + * Helper variables: + * - $classes_array: Array of html class attribute values. It is flattened + * into a string within the variable $classes. + * + * Regions: + * - $content_top: Items to appear above the main content of the current page. + * - $content_bottom: Items to appear below the main content of the current page. + * - $navigation: Items for the navigation bar. + * - $sidebar_first: Items for the first sidebar. + * - $sidebar_second: Items for the second sidebar. + * - $header: Items for the header region. + * - $footer: Items for the footer region. + * - $page_closure: Items to appear below the footer. + * + * The following variables are deprecated and will be removed in Drupal 7: + * - $body_classes: This variable has been renamed $classes in Drupal 7. + * + * @see template_preprocess() + * @see template_preprocess_page() + * @see zen_preprocess() + * @see zen_process() + */ +?> + + + + + <?php print $head_title; ?> + + + + + + + + + + +
+ + + +
+ + + + + +
+ + + + + + + diff --git a/themes/zen/templates/region-sidebar.tpl.php b/themes/zen/templates/region-sidebar.tpl.php new file mode 100644 index 0000000..77c8c42 --- /dev/null +++ b/themes/zen/templates/region-sidebar.tpl.php @@ -0,0 +1,31 @@ + +
+ +
diff --git a/themes/zen/templates/region.tpl.php b/themes/zen/templates/region.tpl.php new file mode 100644 index 0000000..b0cf3d9 --- /dev/null +++ b/themes/zen/templates/region.tpl.php @@ -0,0 +1,31 @@ + +
+ +
diff --git a/themes/zen/templates/views-view.tpl.php b/themes/zen/templates/views-view.tpl.php new file mode 100644 index 0000000..9d722a6 --- /dev/null +++ b/themes/zen/templates/views-view.tpl.php @@ -0,0 +1,92 @@ + +
+ + + + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ +
+ +
+ + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + +
diff --git a/themes/zen/theme-settings.php b/themes/zen/theme-settings.php new file mode 100644 index 0000000..c769a44 --- /dev/null +++ b/themes/zen/theme-settings.php @@ -0,0 +1,127 @@ + '
', + ); + + $form['zen_block_editing'] = array( + '#type' => 'checkbox', + '#title' => t('Show block editing on hover'), + '#description' => t('When hovering over a block, privileged users will see block editing links.'), + '#default_value' => $settings['zen_block_editing'], + ); + + $form['breadcrumb'] = array( + '#type' => 'fieldset', + '#title' => t('Breadcrumb settings'), + '#attributes' => array('id' => 'zen-breadcrumb'), + ); + $form['breadcrumb']['zen_breadcrumb'] = array( + '#type' => 'select', + '#title' => t('Display breadcrumb'), + '#default_value' => $settings['zen_breadcrumb'], + '#options' => array( + 'yes' => t('Yes'), + 'admin' => t('Only in admin section'), + 'no' => t('No'), + ), + ); + $form['breadcrumb']['zen_breadcrumb_separator'] = array( + '#type' => 'textfield', + '#title' => t('Breadcrumb separator'), + '#description' => t('Text only. Don’t forget to include spaces.'), + '#default_value' => $settings['zen_breadcrumb_separator'], + '#size' => 5, + '#maxlength' => 10, + '#prefix' => '
', // jquery hook to show/hide optional widgets + ); + $form['breadcrumb']['zen_breadcrumb_home'] = array( + '#type' => 'checkbox', + '#title' => t('Show home page link in breadcrumb'), + '#default_value' => $settings['zen_breadcrumb_home'], + ); + $form['breadcrumb']['zen_breadcrumb_trailing'] = array( + '#type' => 'checkbox', + '#title' => t('Append a separator to the end of the breadcrumb'), + '#default_value' => $settings['zen_breadcrumb_trailing'], + '#description' => t('Useful when the breadcrumb is placed just before the title.'), + ); + $form['breadcrumb']['zen_breadcrumb_title'] = array( + '#type' => 'checkbox', + '#title' => t('Append the content title to the end of the breadcrumb'), + '#default_value' => $settings['zen_breadcrumb_title'], + '#description' => t('Useful when the breadcrumb is not placed just before the title.'), + '#suffix' => '
', // #div-zen-breadcrumb + ); + + $form['themedev'] = array( + '#type' => 'fieldset', + '#title' => t('Theme development settings'), + '#attributes' => array('id' => 'zen-themedev'), + ); + $form['themedev']['zen_rebuild_registry'] = array( + '#type' => 'checkbox', + '#title' => t('Rebuild theme registry on every page.'), + '#default_value' => $settings['zen_rebuild_registry'], + '#description' => t('During theme development, it can be very useful to continuously rebuild the theme registry. WARNING: this is a huge performance penalty and must be turned off on production websites.', array('!link' => 'http://drupal.org/node/173880#theme-registry')), + '#prefix' => '
' . t('Theme registry:') . '', + '#suffix' => '
', + ); + $form['themedev']['zen_layout'] = array( + '#type' => 'radios', + '#title' => t('Layout method'), + '#options' => array( + 'zen-columns-liquid' => t('Liquid layout') . ' (layout-liquid.css)', + 'zen-columns-fixed' => t('Fixed layout') . ' (layout-fixed.css)', + ), + '#default_value' => $settings['zen_layout'], + ); + $form['themedev']['zen_wireframes'] = array( + '#type' => 'checkbox', + '#title' => t('Display borders around main layout elements'), + '#default_value' => $settings['zen_wireframes'], + '#description' => t('Wireframes are useful when prototyping a website.', array('!link' => 'http://www.boxesandarrows.com/view/html_wireframes_and_prototypes_all_gain_and_no_pain')), + '#prefix' => '
' . t('Wireframes:') . '', + '#suffix' => '
', + ); + + $form['zen-div-closing'] = array( + '#value' => '
', + ); + + // Return the form + return $form; +} diff --git a/themes/zen/zen-internals/TODO.txt b/themes/zen/zen-internals/TODO.txt new file mode 100644 index 0000000..b5c91ef --- /dev/null +++ b/themes/zen/zen-internals/TODO.txt @@ -0,0 +1,7 @@ +Zen 6.x-2.0 @TODO +----------------- +- #: Add fix to auto-correct tabs broken by contrib modules +- #: Display "edit menu" only when Menu block is displaying menu.module links +- * confirm all the variables of every tpl are documented. +- #341140: drupal_get_filename() is broken in Drupal 6. When that is fixed, + replace _zen_path() with drupal_get_path('theme', 'zen'). diff --git a/themes/zen/zen-internals/css/generate.sh b/themes/zen/zen-internals/css/generate.sh new file mode 100644 index 0000000..ccde535 --- /dev/null +++ b/themes/zen/zen-internals/css/generate.sh @@ -0,0 +1,80 @@ +#!/bin/sh + +# This script is used by the MAINTAINER to generate composite stylesheets for +# the base Zen theme from the stylesheets in the STARTERKIT. + +FIXED=( \ + html-reset \ + wireframes \ + layout-fixed \ + page-backgrounds \ + tabs \ + messages \ + pages \ + block-editing \ + blocks \ + navigation \ + views-styles \ + nodes \ + comments \ + forms \ + fields \ + ); + +STYLESHEET='zen-fixed.css'; +RTL_STYLESHEET='zen-fixed-rtl.css'; +echo > $STYLESHEET; +echo > $RTL_STYLESHEET; +for FILENAME in ${FIXED[*]}; do + echo >> $STYLESHEET; + echo "/* $FILENAME.css */" >> $STYLESHEET; + echo >> $STYLESHEET; + cat ../../STARTERKIT/css/$FILENAME.css >> $STYLESHEET; + if [[ -e ../../STARTERKIT/css/$FILENAME-rtl.css ]]; then + echo >> $RTL_STYLESHEET; + echo "/* $FILENAME-rtl.css */" >> $RTL_STYLESHEET; + echo >> $RTL_STYLESHEET; + cat ../../STARTERKIT/css/$FILENAME-rtl.css >> $RTL_STYLESHEET; + fi +done + +LIQUID=( \ + html-reset \ + wireframes \ + layout-liquid \ + page-backgrounds \ + tabs \ + messages \ + pages \ + block-editing \ + blocks \ + navigation \ + views-styles \ + nodes \ + comments \ + forms \ + fields \ + ); + +STYLESHEET='zen-liquid.css'; +RTL_STYLESHEET='zen-liquid-rtl.css'; +echo > $STYLESHEET; +echo > $RTL_STYLESHEET; +for FILENAME in ${LIQUID[*]}; do + echo >> $STYLESHEET; + echo "/* $FILENAME.css */" >> $STYLESHEET; + echo >> $STYLESHEET; + cat ../../STARTERKIT/css/$FILENAME.css >> $STYLESHEET; + if [[ -e ../../STARTERKIT/css/$FILENAME-rtl.css ]]; then + echo >> $RTL_STYLESHEET; + echo "/* $FILENAME-rtl.css */" >> $RTL_STYLESHEET; + echo >> $RTL_STYLESHEET; + cat ../../STARTERKIT/css/$FILENAME-rtl.css >> $RTL_STYLESHEET; + fi +done + +cp ../../STARTERKIT/css/print.css .; + +cp ../../STARTERKIT/css/ie.css .; +cp ../../STARTERKIT/css/ie6.css .; +cp ../../STARTERKIT/css/ie6-rtl.css .; diff --git a/themes/zen/zen-internals/css/ie.css b/themes/zen/zen-internals/css/ie.css new file mode 100644 index 0000000..9eb0bb7 --- /dev/null +++ b/themes/zen/zen-internals/css/ie.css @@ -0,0 +1,47 @@ +/** + * @file + * CSS targeted specifically for Internet Explorer for Windows. + * + * Any CSS in this file will apply to all versions of IE. You can target + * specific versions of IE by using conditional comments. See your sub-theme's + * .info file for an easy way to use them. + * + * While building your theme, you should be aware that IE limits Drupal to 31 + * stylesheets total. The work-around for the bug is to enable CSS aggregation + * under: admin / settings / performance. + */ + + +/* + * Tabs + */ +ul.primary li a, +ul.primary li a .tab, +ul.secondary li a, +ul.secondary li a .tab { + cursor: pointer; +} + +/* + * Drupal nodes + */ +.node-unpublished .node-inner>* { + position: relative; /* Otherwise these elements will appear below the "Unpublished" text. */ +} + +/* + * Drupal admin tables + */ +tr.even th, +tr.even td, +tr.odd th, +tr.odd td { + border-bottom: 1px solid #ccc; /* IE doesn't display borders on table rows */ +} + +/* + * Markup free clearing + */ +.clearfix { + zoom: 1; +} diff --git a/themes/zen/zen-internals/css/ie6-rtl.css b/themes/zen/zen-internals/css/ie6-rtl.css new file mode 100644 index 0000000..4d6f40c --- /dev/null +++ b/themes/zen/zen-internals/css/ie6-rtl.css @@ -0,0 +1,12 @@ +/** + * @file + * RTL companion for the ie6.css file. + */ + + +/* + * Layout CSS + */ +#page { + text-align: right; /* 2nd part of IE5/IE6quirks centering hack */ +} diff --git a/themes/zen/zen-internals/css/ie6.css b/themes/zen/zen-internals/css/ie6.css new file mode 100644 index 0000000..4441e47 --- /dev/null +++ b/themes/zen/zen-internals/css/ie6.css @@ -0,0 +1,105 @@ +/** + * @file + * CSS targeted specifically for Internet Explorer 5 and 6 for Windows. + * + * Any CSS in this file will override the rules specified in the ie.css file. + */ + + +/* + * Layout CSS + */ + +body { + text-align: center; /* 1st part of IE5/IE6quirks centering hack */ +} + +#page { + text-align: left; /* LTR */ /* 2nd part of IE5/IE6quirks centering hack */ +} + +#main-wrapper { + zoom: 1; /* Otherwise with a liquid layout, sidebars disappear when resizing the windows in IE6 */ +} + +#content, +#navigation, +.region-sidebar-first, +.region-sidebar-second /* Floating divs */ { + display: inline; /* display inline or double your floated margin! [1] */ + overflow: hidden; /* in ie6, overflow auto is broken [2] and so is overflow visible [3] */ + overflow-y: visible; +} + +/* + * Tabs - IE 5 and 6 don't support PNGs with alpha transparency. + */ + +ul.primary li a, +ul.primary li a .tab, +ul.secondary li a, +ul.secondary li a .tab { + display: inline-block; /* Otherwise the blocks mistakenly get 100% width in IE6 */ +} + +ul.primary li a { + background: url(../images/tab-left-ie6.png) no-repeat left -38px; +} + +ul.primary li a .tab { + background: url(../images/tab-right-ie6.png) no-repeat right -38px; +} + +ul.primary li a:hover, +ul.primary li a:focus { + background: url(../images/tab-left-ie6.png) no-repeat left -76px; +} + +ul.primary li a:hover .tab, +ul.primary li a:focus .tab { + background: url(../images/tab-right-ie6.png) no-repeat right -76px; +} + +ul.primary li.active a, +ul.primary li.active a:hover, +ul.primary li.active a:focus { + background: url(../images/tab-left-ie6.png) no-repeat left 0; +} + +ul.primary li.active a .tab, +ul.primary li.active a:hover .tab, +ul.primary li.active a:focus .tab { + background: url(../images/tab-right-ie6.png) no-repeat right 0; +} + +/* + * Messages - IE 5 and 6 don't support PNGs with alpha transparency. + */ + +div.messages, +div.status, +div.warning, +div.error /* Important messages (status, warning, and error) for the user */ { + background-image: url(../images/messages-status-ie6.png); +} + +div.warning /* Medium priority messages */ { + background-image: url(../images/messages-warning-ie6.png); +} + +div.error /* High priority messages. See also the .error declaration below. */ { + background-image: url(../images/messages-error-ie6.png); +} + + +/* + * REFERENCES + * + +1. http://www.positioniseverything.net/explorer/doubled-margin.html +2. http://browservulsel.blogspot.com/2005/04/ie-overflow-auto-scrollbar-overlap.html +3. http://www.howtocreate.co.uk/wrongWithIE/?chapter=overflow%3Avisible%3B +4. http://www.ryanbrill.com/archives/multiple-classes-in-ie + + * + */ diff --git a/themes/zen/zen-internals/css/print.css b/themes/zen/zen-internals/css/print.css new file mode 100644 index 0000000..8e8cd30 --- /dev/null +++ b/themes/zen/zen-internals/css/print.css @@ -0,0 +1,73 @@ +/** + * @file + * Print styling + * + * We provide some sane print styling for Drupal using Zen's layout method. + */ + + +/* underline all links */ +a:link, +a:visited { + text-decoration: underline !important; +} + +/* Don't underline header */ +#site-name a:link, +#site-name a:visited { + text-decoration: none !important; +} + +/* CSS2 selector to add visible href after links */ +#content a:link:after, +#content a:visited:after { + content: " (" attr(href) ") "; + font-size: 0.8em; + font-weight: normal; +} + +/* Un-float the content */ +#content, +#content .section { + float: none; + width: 100%; + margin: 0 !important; + padding: 0 !important; +} + +/* Turn off any background colors or images */ +body, +#page-wrapper, +#page, +#main-wrapper, +#main, +#content, +#content .section { + color: #000; + background-color: transparent !important; + background-image: none !important; +} + +/* Hide sidebars and nav elements */ +#skip-link, +#navigation, +.region-sidebar-first, +.region-sidebar-second, +#footer, +.breadcrumb, +div.tabs, +.links, +.taxonomy, +.book-navigation, +.forum-topic-navigation, +.pager, +.feed-icons { + visibility: hidden; + display: none; +} + +/* If you un-comment the "page { overflow-y: hidden; }" ruleset, Firefox clips + the content after the first page. */ +#page-wrapper { + overflow-y: visible; +} diff --git a/themes/zen/zen-internals/css/theme-settings-rtl.css b/themes/zen/zen-internals/css/theme-settings-rtl.css new file mode 100644 index 0000000..f3de57f --- /dev/null +++ b/themes/zen/zen-internals/css/theme-settings-rtl.css @@ -0,0 +1,56 @@ +/** + * @file + * Theme settings styling + * + * This file is only loaded on the Theme Settings page for Zen and its + * subthemes: admin/build/themes/settings + */ + + +#zen-settings fieldset .form-item +{ + padding-left: 0; + padding-right: 200px; +} + +#zen-settings fieldset .form-checkboxes .form-item, +#zen-settings fieldset .form-radios .form-item +{ + padding-right: 0; +} + +#zen-settings fieldset .form-item label +{ + float: right; + margin-left: 10px; + margin-right: -200px; + text-align: left; +} + +#zen-settings fieldset .form-item label.option +{ + text-align: right; +} + +#div-zen-registry strong, +#div-zen-wireframes strong +{ + float: right; + margin-left: 10px; + margin-right: 0; + text-align: left; +} + +#div-zen-registry fieldset .form-item, +#div-zen-wireframes fieldset .form-item +{ + margin-right: 0; + padding-right: 0; +} + +#div-zen-registry fieldset .form-item .description, +#div-zen-wireframes fieldset .form-item .description +{ + margin-left: 0; + margin-right: 200px; +} diff --git a/themes/zen/zen-internals/css/theme-settings.css b/themes/zen/zen-internals/css/theme-settings.css new file mode 100644 index 0000000..567b6e3 --- /dev/null +++ b/themes/zen/zen-internals/css/theme-settings.css @@ -0,0 +1,69 @@ +/** + * @file + * Theme settings styling + * + * This file is only loaded on the Theme Settings page for Zen and its + * subthemes: admin/build/themes/settings + */ + + +#zen-settings fieldset .form-item +{ + padding-left: 200px; /* LTR */ +} + +#zen-settings fieldset .form-checkboxes .form-item, +#zen-settings fieldset .form-radios .form-item +{ + padding-left: 0; /* LTR */ +} + +#zen-settings fieldset .form-item label +{ + float: left; /* LTR */ + width: 190px; + margin-left: -200px; /* LTR */ + margin-right: 10px; /* LTR */ + text-align: right; /* LTR */ + _display: inline-block; /* IE6 is dumb. */ +} + +#zen-settings fieldset .form-item label.option +{ + float: none; + width: auto; + margin-left: 0; + margin-right: 0; + text-align: left; /* LTR */ +} + +#div-zen-registry, +#div-zen-wireframes +{ + margin: 1em 0; +} + +#div-zen-registry strong, +#div-zen-wireframes strong +{ + float: left; /* LTR */ + width: 190px; + margin-left: 0; /* LTR */ + margin-right: 10px; /* LTR */ + text-align: right; /* LTR */ +} + +#div-zen-registry fieldset .form-item, +#div-zen-wireframes fieldset .form-item +{ + display: inline; + margin-left: 0; /* LTR */ + padding-left: 0; /* LTR */ +} + +#div-zen-registry fieldset .form-item .description, +#div-zen-wireframes fieldset .form-item .description +{ + display: block; + margin-left: 200px; /* LTR */ +} diff --git a/themes/zen/zen-internals/css/zen-fixed-rtl.css b/themes/zen/zen-internals/css/zen-fixed-rtl.css new file mode 100644 index 0000000..6be9693 --- /dev/null +++ b/themes/zen/zen-internals/css/zen-fixed-rtl.css @@ -0,0 +1,243 @@ + + +/* html-reset-rtl.css */ + +/** + * @file + * RTL companion for the html-reset.css file. + */ + + +/* + * Lists + * + * We need to standardize the list item indentation. + */ +ul, +ol { + padding-left: 0; + padding-right: 2em; +} + +.block ul, +.item-list ul /* Drupal overrides */ { + padding: 0 2em 0 0; +} + +dd { + margin: 0 2em 0 0; +} + +/* + * Tables + * + * Drupal provides table styling which is only useful for its admin section + * forms, so we override this default CSS. (We set it back in forms.css.) + */ +th, +thead th, +tbody th { + text-align: right; +} + +/* layout-fixed-rtl.css */ + +/** + * @file + * RTL companion for the layout-fixed.css file. + */ + + +/* + * Content + */ +#content, +.no-sidebars #content { + float: right; + margin-left: -960px; /* Negative value of #content's width + right margin. */ + margin-right: 0; +} + +.sidebar-first #content { + margin-left: -960px; /* Negative value of #content's width + right margin. */ + margin-right: 200px; /* The width of .region-sidebar-first. */ +} + +.sidebar-second #content { + margin-left: -760px; /* Negative value of #content's width + right margin. */ + margin-right: 0; +} + +.two-sidebars #content { + margin-left: -760px; /* Negative value of #content's width + right margin. */ + margin-right: 200px; /* The width of .region-sidebar-first */ +} + +/* + * Navigation + */ +#navigation { + float: right; + margin-left: -100%; /* Negative value of #navigation's width + right margin. */ + margin-right: 0; +} + +#navigation ul /* Primary and secondary links */ { + text-align: right; +} + +#navigation li /* A simple method to get navigation links to appear in one line. */ { + float: right; + padding: 0 0 0 10px; +} + +/* + * First sidebar + */ +.region-sidebar-first { + float: right; + margin-left: -200px; /* Negative value of .region-sidebar-first's width + right margin. */ + margin-right: 0; +} + +.region-sidebar-first .section { + margin: 0 0 0 20px; +} + +/* + * Second sidebar + */ +.region-sidebar-second { + float: right; + margin-left: -960px; /* Negative value of .region-sidebar-second's width + right margin. */ + margin-right: 760px; /* Width of content + sidebar-first. */ +} + +.region-sidebar-second .section { + margin: 0 20px 0 0; +} + +/* tabs-rtl.css */ + +/** + * @file + * RTL companion for the tabs.css file. + */ + + +ul.primary { + padding: 0 10px 0 0; +} + +ul.primary li { + float: right; +} + +ul.secondary { + padding: 0 5px 0 0; +} + +ul.secondary li { + float: right; + border-left: none; +} + +/* messages-rtl.css */ + +/** + * @file + * RTL companion for the messages.css file. + */ + + +div.messages, +div.status, +div.warning, +div.error /* Important messages (status, warning, and error) for the user */ { + padding: 5px 35px 5px 5px; + background-position: 99.5% 5px; +} + +/* pages-rtl.css */ + +/** + * @file + * RTL companion for the pages.css file. + */ + + +/* + * Header + */ +#logo /* Wrapping link for logo */ { + float: right; +} + +/* + * Content + */ +.more-link /* Aggregator, blog, and forum more link */ { + text-align: left; +} + +/* block-editing-rtl.css */ + +/** + * @file + * RTL companion for the block-editing.css file. + */ + + +div.block.with-block-editing div.edit { + left: 0; + right: auto; +} + +/* forms-rtl.css */ + +/** + * @file + * RTL companion for the forms.css file. + */ + + +/* + * Drupal's default login form block + */ +#user-login-form { + text-align: right; +} + + +/* + * OpenID + * + * The default styling for the OpenID login link seems to assume Garland's + * styling of list items. + */ + +#user-login-form li.openid-link /* The "Log in using OpenID" link. */ { + margin-left: 0; + margin-right: -20px; /* Un-do some of the padding on the ul list. */ +} + +#user-login li.openid-link, +#user-login li.user-link /* The OpenID links on the /user form. */ { + margin-left: 0; + margin-right: -2em; /* Un-do all of the padding on the ul list. */ +} + + +/* + * Drupal admin tables + * + * We overrode these styles in html-elements.css, but restore them for the admin + * section of the site. + */ + +form th, +form thead th { + text-align: right; + padding-left: 1em; + padding-right: 0; +} diff --git a/themes/zen/zen-internals/css/zen-fixed.css b/themes/zen/zen-internals/css/zen-fixed.css new file mode 100644 index 0000000..29db6c2 --- /dev/null +++ b/themes/zen/zen-internals/css/zen-fixed.css @@ -0,0 +1,1615 @@ + + +/* html-reset.css */ + +/** + * @file + * HTML Element Styling + * + * Ok, I admit it. I fooled you. This isn't a "reset" stylesheet. Instead this + * is the place where you should set (not reset) the default styling for all + * HTML elements. + * + * @see http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/ + * @see http://snook.ca/archives/html_and_css/no_css_reset/ + */ + + +/* + * Fonts + * + * Our font size and line height declarations are based on the following ALA + * article: + * http://www.alistapart.com/articles/howtosizetextincss + * + * All modern browsrs use a 16px default font size. Specifying the font-size + * and line-height in ems (relative to the 16px default font) allows the user + * to resize the font in the browser and produces the most consistent results + * across different browsers. + */ +body { + font-size: 100%; /* Fixes exaggerated text resizing in IE6 and IE7 */ +} + +#skip-link, +#page { + /* + * To use a 12px font size on the page, delete the 14px declarations. + * to use a 14px font size on the page, delete the 12px declarations. + */ + + /* Use a 12px base font size with a 16px line height */ + font-size: 0.75em; /* 16px x .75 = 12px */ + line-height: 1.333em; /* 12px x 1.333 = 16px */ + + /* Use a 14px base font size with a 18px line height */ + font-size: 0.875em; /* 16px x .875 = 14px */ + line-height: 1.286em; /* 14px x 1.286 = 18px */ +} + +body, +caption, +th, +td, +input, +textarea, +select, +option, +legend, +fieldset { + /* The following font family declarations are based on the Microsoft core web + * fonts which are common fonts available on most computer systems. The DejaVu + * fonts are commonly available on Linux systems where the MS fonts are less + * common. Tahoma and Helvetica are also widely available. + * + * A user's web browser will look at the comma-separated list and will + * attempt to use each font in turn until it finds one that is available + * on the user's computer. The final "generic" font (sans-serif or serif) + * hints at what type of font to use if the web browser doesn't find any + * of the fonts in the list. + + font-family: "Times New Roman", Times, Georgia, "DejaVu Serif", serif; + font-family: Times, "Times New Roman", Georgia, "DejaVu Serif", serif; + font-family: Georgia, "Times New Roman", "DejaVu Serif", serif; + + font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif; + font-family: Tahoma, Verdana, "DejaVu Sans", sans-serif; + font-family: Helvetica, Arial, "Nimbus Sans L", sans-serif; + font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; + + font-family: "Courier New", "DejaVu Sans Mono", monospace; + + */ + + font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif; +} + +pre, +code { + font-size: 1.1em; /* Monospace fonts can be hard to read */ + font-family: "Courier New", "DejaVu Sans Mono", monospace; +} + +/* + * Headings + */ +h1 { + font-size: 2em; + line-height: 1.3em; + margin-top: 0; + margin-bottom: 0.5em; /* 0.5em is equavalent to 1em in the page's base font. + Remember, a margin specified in ems is relative to + the element's font-size, not to the pages' base + font size. So, for example, if we want a 1em margin + (relative to the base font), we have to divide that + length by the element's font-size: + 1em / 2em = 0.5em */ +} + +h2 { + font-size: 1.5em; + line-height: 1.3em; + margin-top: 0.667em; /* Equivalent to 1em in the page's base font: 1 / 1.5 = 0.667em */ + margin-bottom: 0.667em; +} + +h3 { + font-size: 1.3em; + line-height: 1.3em; + margin-top: 0.769em; /* Equivalent to 1em in the page's base font: 1 / 1.3 = 0.769 */ + margin-bottom: 0.769em; +} + +h4, +h5, +h6 { + font-size: 1.1em; + line-height: 1.3em; + margin-top: 0.909em; /* Equivalent to 1em in the page's base font: 1 / 1.1 = 0.909 */ + margin-bottom: 0.909em; +} + +/* + * Block-level elements + */ +p, +ul, +ol, +dl, +pre, +table, +fieldset { + margin: 1em 0; +} + +blockquote { + margin: 1em 2em; +} + +/* + * Lists + * + * We need to standardize the list item indentation. + */ +ul, +ol { + margin-left: 0; + padding-left: 2em; /* LTR */ +} + +.block ul, +.item-list ul /* Drupal overrides */ { + margin: 1em 0; + padding: 0 0 0 2em; /* LTR */ +} + +ul ul, ul ol, +ol ol, ol ul, +.block ul ul, .block ul ol, +.block ol ol, .block ol ul, +.item-list ul ul, .item-list ul ol, +.item-list ol ol, .item-list ol ul { + margin: 0; +} + +li { + margin: 0; + padding: 0; +} + +.item-list ul li /* Drupal override */ { + margin: 0; + padding: 0; + list-style: inherit; +} + +ul.menu li, +li.expanded, +li.collapsed, +li.leaf /* Drupal override */ { + margin: 0; + padding: 0; +} + +ul { list-style-type: disc; } +ul ul { list-style-type: circle; } +ul ul ul { list-style-type: square; } +ul ul ul ul { list-style-type: circle; } +ol { list-style-type: decimal; } +ol ol { list-style-type: lower-alpha; } +ol ol ol { list-style-type: decimal; } + +dt { + margin: 0; + padding: 0; +} + +dd { + margin: 0 0 0 2em; + padding: 0; +} + +/* + * Links + * + * The order of link states are based on Eric Meyer's article: + * http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states + */ +a:link { +} + +a:visited { +} + +a:hover, +a:focus { +} + +a:active { +} + +/* + * Tables + * + * Drupal provides table styling which is only useful for its admin section + * forms, so we override this default CSS. (We set it back in forms.css.) + */ +table { + border-collapse: collapse; + /* width: 100%; */ /* Prevent cramped-looking tables */ +} + +th, +thead th, +tbody th { + text-align: left; /* LTR */ + padding: 0; + border-bottom: none; +} + +tbody { + border-top: none; +} + +/* + * Abbreviations + */ +abbr { + border-bottom: 1px dotted #666; + cursor: help; + white-space: nowrap; +} + +abbr.created /* Date-based "abbreviations" show computer-friendly timestamps which are not human-friendly. */ { + border: none; + cursor: auto; + white-space: normal; +} + +/* + * Images + */ +img { + border: 0; +} + +/* + * Horizontal rules + */ +hr { + height: 1px; + border: 1px solid #666; +} + +/* + * Forms + */ +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 1em 0; + padding: 0.5em; +} + +/* wireframes.css */ + +/** + * @file + * Wireframes Styling + * + * Add wireframes to the basic layout elements. + */ + + +.with-wireframes #header .section, +.with-wireframes #content .section, +.with-wireframes #navigation .section, +.with-wireframes .region-sidebar-first .section, +.with-wireframes .region-sidebar-second .section, +.with-wireframes #footer .section { + margin: 1px; + padding: 2px; + border: 1px solid #ccc; +} + +.with-wireframes .region-page-closure { + margin-top: 1px; + padding: 2px; + border: 1px solid #ccc; +} + +/* layout-fixed.css */ + +/** + * @file + * Layout Styling (DIV Positioning) + * + * Define CSS classes to create a table-free, 3-column, 2-column, or single + * column layout depending on whether blocks are enabled in the left or right + * columns. + * + * This layout is based on the Zen Columns layout method. + * http://drupal.org/node/201428 + * + * Only CSS that affects the layout (positioning) of major elements should be + * listed here. Such as: + * display, position, float, clear, width, height, min-width, min-height + * margin, border, padding, overflow + */ + + +/* + * Body + */ +body { +} + +#page-wrapper, +.region-page-closure { + /* + * If you want to make the page a fixed width and centered in the viewport, + * this is the standards-compliant way to do that. See also the ie6.css file + * for the necessary IE5/IE6quirks hack to center a div. + */ + margin-left: auto; + margin-right: auto; + width: 960px; +} + +#page { +} + +/* + * Header + */ +#header { +} + +#header .section { +} + +#search-box { +} + +.region-header { + clear: both; /* Clear the logo */ +} + +/* + * Main (container for everything else) + */ +#main-wrapper { + position: relative; +} + +#main { +} + +/* + * Content + */ +#content, +.no-sidebars #content { + float: left; /* LTR */ + width: 960px; + margin-left: 0; /* LTR */ + margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content .section. */ +} + +.sidebar-first #content { + width: 760px; + margin-left: 200px; /* LTR */ /* The width of .region-sidebar-first. */ + margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */ +} + +.sidebar-second #content { + width: 760px; + margin-left: 0; /* LTR */ + margin-right: -760px; /* LTR */ /* Negative value of #content's width + left margin. */ +} + +.two-sidebars #content { + width: 560px; + margin-left: 200px; /* LTR */ /* The width of .region-sidebar-first */ + margin-right: -760px; /* LTR */ /* Negative value of #content's width + left margin. */ +} + +#content .section { + margin: 0; + padding: 0; +} + +/* + * Navigation + */ +#navigation { + float: left; /* LTR */ + width: 100%; + margin-left: 0; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #navigation's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #navigation .section. */ + height: 2.3em; /* The navigation can have any arbritrary height. We picked one + that is the line-height plus 1em: 1.3 + 1 = 2.3 + Set this to the same value as the margin-top below. */ +} + +.with-navigation #content, +.with-navigation .region-sidebar-first, +.with-navigation .region-sidebar-second { + margin-top: 2.3em; /* Set this to the same value as the navigation height above. */ +} + +#navigation .section { +} + +#navigation ul /* Primary and secondary links */ { + margin: 0; + padding: 0; + text-align: left; /* LTR */ +} + +#navigation li /* A simple method to get navigation links to appear in one line. */ { + float: left; /* LTR */ + padding: 0 10px 0 0; /* LTR */ +} + +/* + * First sidebar + */ +.region-sidebar-first { + float: left; /* LTR */ + width: 200px; + margin-left: 0; /* LTR */ + margin-right: -200px; /* LTR */ /* Negative value of .region-sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-first .section. */ +} + +.region-sidebar-first .section { + margin: 0 20px 0 0; /* LTR */ + padding: 0; +} + +/* + * Second sidebar + */ +.region-sidebar-second { + float: left; /* LTR */ + width: 200px; + margin-left: 760px; /* LTR */ /* Width of content + sidebar-first. */ + margin-right: -960px; /* LTR */ /* Negative value of .region-sidebar-second's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-second .section. */ +} + +.region-sidebar-second .section { + margin: 0 0 0 20px; /* LTR */ + padding: 0; +} + +/* + * Footer + */ +#footer { +} + +#footer .section { +} + +/* + * Closure + */ +.region-page-closure /* See also the #page-wrapper declaration above that this div shares. */ { +} + +/* + * Prevent overflowing content + */ +#header, +#content, +#navigation, +.region-sidebar-first, +.region-sidebar-second, +#footer, +.region-page-closure { + overflow: visible; + word-wrap: break-word; /* A very nice CSS3 property */ +} + +#navigation { + overflow: hidden; /* May need to be removed if using a dynamic drop-down menu */ +} + +/* + * If a div.clearfix doesn't have any content after it and its bottom edge + * touches the bottom of the viewport, Firefox and Safari will mistakenly + * place several pixels worth of space between the bottom of the div and the + * bottom of the viewport. Uncomment this CSS property to fix this. + * Note: with some over-large content, this property might cause scrollbars + * to appear on the #page-wrapper div. + */ +/* +#page-wrapper { + overflow-y: hidden; +} +*/ + +/* page-backgrounds.css */ + +/** + * @file + * Page Background Styling + * + * The default layout method of Zen doesn't give themers equal-height columns. + * However, equal-height columns are difficult to achieve and totally + * unnecessary. Instead, use the Faux Columns method described in the following + * ALA article: + * http://www.alistapart.com/articles/fauxcolumns/ + */ + + +body { +} + +#page-wrapper { +} + +#page { +} + +#header { +} + +#header .section { +} + +#main-wrapper { +} + +#main { +} + +#footer { +} + +#footer .section { +} + +/* tabs.css */ + +/** + * @file + * Tabs Styling + * + * Adds styles for the primary and secondary tabs. + * + * Compare this with default CSS found in the system module's stylesheet (a copy + * of which is in drupal6-reference.css, line 510.) + */ + + +div.tabs { + margin: 0 0 5px 0; +} + +ul.primary { + margin: 0; + padding: 0 0 0 10px; /* LTR */ + border-width: 0; + list-style: none; + white-space: nowrap; + line-height: normal; + background: url(../images/tab-bar.png) repeat-x left bottom; +} + +ul.primary li { + float: left; /* LTR */ + margin: 0; + padding: 0; +} + +ul.primary li a { + display: block; + height: 24px; + margin: 0; + padding: 0 0 0 5px; /* width of tab-left.png */ + border-width: 0; + font-weight: bold; + text-decoration: none; + color: #777; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left -38px; +} + +ul.primary li a .tab { + display: block; + height: 20px; /* 24px (parent) - 4px (padding) */ + margin: 0; + padding: 4px 13px 0 6px; + border-width: 0; + line-height: 20px; + background: url(../images/tab-right.png) no-repeat right -38px; +} + +ul.primary li a:hover, +ul.primary li a:focus { + border-width: 0; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left -76px; +} + +ul.primary li a:hover .tab, +ul.primary li a:focus .tab { + background: url(../images/tab-right.png) no-repeat right -76px; +} + +ul.primary li.active a, +ul.primary li.active a:hover, +ul.primary li.active a:focus { + border-width: 0; + color: #000; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left 0; +} + +ul.primary li.active a .tab, +ul.primary li.active a:hover .tab, +ul.primary li.active a:focus .tab { + background: url(../images/tab-right.png) no-repeat right 0; +} + +ul.secondary { + margin: 0; + padding: 0 0 0 5px; /* LTR */ + border-bottom: 1px solid #c0c0c0; + list-style: none; + white-space: nowrap; + background: url(../images/tab-secondary-bg.png) repeat-x left bottom; +} + +ul.secondary li { + float: left; /* LTR */ + margin: 0 5px 0 0; + padding: 5px 0; + border-right: none; /* LTR */ +} + +ul.secondary a { + display: block; + height: 24px; + margin: 0; + padding: 0; + border: 1px solid #c0c0c0; + text-decoration: none; + color: #777; + background: url(../images/tab-secondary.png) repeat-x left -56px; +} + +ul.secondary a .tab { + display: block; + height: 18px; /* 24px (parent) - 6px (padding) */ + margin: 0; + padding: 3px 8px; + line-height: 18px; +} + +ul.secondary a:hover, +ul.secondary a:focus { + background: url(../images/tab-secondary.png) repeat-x left bottom; +} + +ul.secondary a.active, +ul.secondary a.active:hover, +ul.secondary a.active:focus { + border: 1px solid #c0c0c0; + color: #000; + background: url(../images/tab-secondary.png) repeat-x left top; +} + +/* messages.css */ + +/** + * @file + * Message Styling + * + * Sensible styling for Drupal's error/warning/status messages. + */ + + +div.messages, +div.status, +div.warning, +div.error /* Important messages (status, warning, and error) for the user */ { + min-height: 21px; + margin: 0 1em 5px 1em; + border: 2px solid #ff7; + padding: 5px 5px 5px 35px; /* LTR */ + color: #000; + background-color: #ffc; + background-image: url(../images/messages-status.png); + background-repeat: no-repeat; + background-position: 5px 5px; /* LTR */ +} + +div.status /* Normal priority messages */ { +} + +div.warning /* Medium priority messages */ { + border-color: #fc0; + background-image: url(../images/messages-warning.png); +} + +div.warning, +tr.warning { + color: #000; /* Drupal core uses #220 */ + background-color: #ffc; +} + +div.error /* High priority messages. See also the .error declaration in pages.css. */ { + /* border: 1px solid #d77; */ /* Drupal core uses: 1px solid #d77 */ + border-color: #c00; + background-image: url(../images/messages-error.png); +} + +div.error, +tr.error { + color: #900; /* Drupal core uses #200 */ + background-color: #fee; +} + +div.messages ul { + margin-top: 0; + margin-bottom: 0; +} + +/* pages.css */ + +/** + * @file + * Page Styling + * + * Style the markup found in page.tpl.php. Also includes some styling of + * miscellaneous Drupal elements that appear in the $content variable, such as + * ul.links, .pager, .more-link, etc. + */ + + +/* + * Body + */ +body { + margin: 0; + padding: 0; +} + +#page-wrapper { +} + +#page { +} + +/* + * The skip navigation link will be completely hidden until a user tabs to the + * link. See http://www.webaim.org/techniques/skipnav/ + */ +#skip-link a, +#skip-link a:visited { + position: absolute; + display: block; + left: 0; + top: -500px; + width: 1px; + height: 1px; + overflow: hidden; + text-align: center; + background-color: #666; + color: #fff; +} + +#skip-link a:hover, +#skip-link a:active, +#skip-link a:focus { + position: static; + width: 100%; + height: auto; + padding: 2px 0 3px 0; +} + +/* + * Header + */ +#header { +} + +#header .section { +} + +#logo /* Wrapping link for logo */ { + float: left; /* LTR */ + margin: 0; + padding: 0; +} + +#logo img { + vertical-align: bottom; +} + +#name-and-slogan /* Wrapper for website name and slogan */ { +} + +h1#site-name, +div#site-name /* The name of the website */ { + margin: 0; + font-size: 2em; + line-height: 1.3em; +} + +#site-name a:link, +#site-name a:visited { + color: #000; + text-decoration: none; +} + +#site-name a:hover, +#site-name a:focus { + text-decoration: underline; +} + +#site-slogan /* The slogan (or tagline) of a website */ { +} + +.region-header /* Wrapper for any blocks placed in the header region */ { +} + +/* + * Main (container for everything else) + */ +#main-wrapper { +} + +#main { +} + +/* + * Content + */ +#content { +} + +#content .section { +} + +#mission /* The mission statement of the site (displayed on homepage) */ { +} + +.region-content-top /* Wrapper for any blocks placed in the "content top" region */ { +} + +.breadcrumb /* The path to the current page in the form of a list of links */ { + padding-bottom: 0; /* Undo system.css */ +} + +h1.title, /* The title of the page */ +h2.title, /* Block title or the title of a piece of content when it is given in a list of content */ +h3.title /* Comment title */ { + margin: 0; +} + +tr.even /* Some tables have rows marked even or odd. */ { + /* background-color: #eee; */ /* Drupal core uses a #eee background */ +} + +tr.odd { + /* background-color: #eee; */ /* Drupal core uses a #eee background */ +} + +div.messages /* Important messages (status, warning, and error) for the user. See also the declarations in messages.css. */ { +} + +div.status /* Normal priority messages */ { +} + +div.warning, +tr.warning /* Medium priority messages */ { + /* border: 1px solid #f0c020; */ /* Drupal core uses: 1px solid #f0c020 */ +} + +div.error, +tr.error /* High priority messages. See also the .error declaration below. */ { +} + +.error /* Errors that are separate from div.messages status messages. */ { + /* color: #e55; */ /* Drupal core uses a #e55 background */ +} + +.warning /* Warnings that are separate from div.messages status messages. */ { + /* color: #e09010; */ /* Drupal core uses a #e09010 background */ +} + +div.tabs /* See also the tabs.css file. */ { +} + +.help /* Help text on a page */ { + margin: 1em 0; +} + +.more-help-link /* Link to more help */ { + font-size: 0.85em; + text-align: right; +} + +#content-area /* Wrapper for the actual page content */ { +} + +ul.links /* List of links */ { + margin: 1em 0; + padding: 0; +} + +ul.links.inline { + margin: 0; + display: inline; +} + +ul.links li { + display: inline; + list-style-type: none; + padding: 0 0.5em; +} + +.pager /* A list of page numbers when more than 1 page of content is available */ { + clear: both; + margin: 1em 0; + text-align: center; +} + +.pager a, +.pager strong.pager-current /* Each page number in the pager list */ { + padding: 0.5em; +} + +.feed-icons /* The links to the RSS or Atom feeds for the current list of content */ { + margin: 1em 0; +} + +.more-link /* Aggregator, blog, and forum more link */ { + text-align: right; /* LTR */ +} + +.region-content-bottom /* Wrapper for any blocks placed in the "content bottom" region */ { +} + +/* + * First sidebar (on left in LTR languages, on right in RTL) + * + * Remember to NOT add padding or margin to your .region-sidebar-first + * (see the layout.css file.) + */ +.region-sidebar-first { +} + +.region-sidebar-first .section { +} + +/* + * Second sidebar (on right in LTR languages, on left in RTL) + * + * Remember to NOT add padding or margin to your .region-sidebar-second + * (see the layout.css file.) + */ +.region-sidebar-second { +} + +.region-sidebar-second .section { +} + +/* + * Footer + */ +#footer { +} + +#footer .section { +} + +#footer-message /* Wrapper for the footer message from Drupal's "Site information" + and for any blocks placed in the footer region */ { +} + +.region-footer { +} + +/* + * Closure + */ +.region-page-closure /* Wrapper for any blocks placed in the closure region */ { +} + +/* + * Drupal boxes + * + * Wrapper for Comment form, Comment viewing options, Menu admin, and + * Search results. + */ +.box /* Wrapper for box */ { +} + +.box h2 /* Box title */ { +} + +.box .content /* Box's content wrapper */ { +} + +/* + * Markup free clearing (See: http://www.positioniseverything.net/easyclearing.html ) + */ +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/** + * Hide elements from all users. + * + * Used for elements which should not be immediately displayed to any user. An + * example would be a collapsible fieldset that will be expanded with a click + * from a user. The effect of this class can be toggled with the jQuery show() + * and hide() functions. + */ +.element-hidden { + display: none; +} + +/** + * Hide elements visually, but keep them available for screen-readers. + * + * Used for information required for screen-reader users to understand and use + * the site where visual display is undesirable. Information provided in this + * manner should be kept concise, to avoid unnecessary burden on the user. Must + * not be used for focusable elements (such as links and form elements) as this + * causes issues for keyboard only or voice recognition users. "!important" is + * used to prevent unintentional overrides. + */ +.element-invisible { + position: absolute !important; + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); +} + +/* block-editing.css */ + +/** + * @file + * Zen's rollover edit links for blocks. + */ + + +div.block.with-block-editing { + position: relative; +} + +div.block.with-block-editing div.edit { + display: none; + position: absolute; + right: 0; /* LTR */ + top: 0; + z-index: 40; + border: 1px solid #eee; + padding: 0 2px; + font-size: 0.75em; + background-color: #fff; +} + +div.block.with-block-editing:hover div.edit { + display: block; +} + +/* blocks.css */ + +/** + * @file + * Block Styling + */ + + +.block /* Block wrapper */ { + margin-bottom: 1em; +} + +.block.first /* The first block in the region */ { +} + +.block.last /* The last block in the region */ { +} + +.block.region-odd /* Zebra striping for each block in the region */ { +} + +.block.region-even /* Zebra striping for each block in the region */ { +} + +.block.odd /* Zebra striping independent of each region */ { +} + +.block.even /* Zebra striping independent of each region */ { +} + +.region-count-1 /* Incremental count for each block in the region */ { +} + +.count-1 /* Incremental count independent of each region */ { +} + +.block h2.title /* Block title */ { +} + +.block .content /* Block's content wrapper */ { +} + +#block-aggregator-category-1 /* Block for the latest news items in the first category */ { +} + +#block-aggregator-feed-1 /* Block for the latest news items in the first feed */ { +} + +#block-block-1 /* First administrator-defined block */ { +} + +#block-blog-0 /* "Recent blog posts" block */ { +} + +#block-book-0 /* "Book navigation" block for the current book's table of contents */ { +} + +#block-comment-0 /* "Recent comments" block */ { +} + +#block-forum-0 /* "Active forum topics" block */ { +} + +#block-forum-1 /* "New forum topics" block */ { +} + +#block-menu-primary-links /* "Primary links" block */ { +} + +#block-menu-secondary-links /* "Secondary links" block */ { +} + +#block-node-0 /* "Syndicate" block for primary RSS feed */ { +} + +#block-poll-0 /* "Most recent poll" block */ { +} + +#block-profile-0 /* "Author information" block for the profile of the page's author */ { +} + +#block-search-0 /* "Search form" block */ { +} + +#block-statistics-0 /* "Popular content" block */ { +} + +#block-user-0 /* "User login form" block */ { +} + +#block-user-1 /* "Navigation" block for Drupal navigation menu */ { +} + +#block-user-2 /* "Who's new" block for a list of the newest users */ { +} + +#block-user-3 /* "Who's online" block for a list of the online users */ { +} + +/* navigation.css */ + +/** + * @file + * Navigation Styling + * + * Default menu styling (ul.menu) is defined in system-menus.css. + */ + + +/* + * The active item in a Drupal menu + */ +li a.active { + color: #000; +} + +/* + * Navigation bar + */ +#navigation { +} + +.region-navigation { +} + +/* + * Primary and Secondary menu links + */ +#main-menu { +} + +#secondary-menu { +} + +/* + * Menu blocks + */ +.block-menu { +} + +/* + * "Menu block" blocks. See http://drupal.org/project/menu_block + */ +.block-menu_block { +} + +/* views-styles.css */ + +/** + * @file + * Views Styling + */ + + + +/* nodes.css */ + +/** + * @file + * Node Styling + * + * Style anything that isn't in the $content variable. + */ + + +.node /* Node wrapper */ { +} + +.node-sticky /* A sticky node (displayed before others in a list) */ { +} + +.node-unpublished /* Unpublished nodes */ { + /* background-color: #fff4f4; */ /* Drupal core uses a #fff4f4 background */ +} + +.node-unpublished div.unpublished, +.comment-unpublished div.unpublished /* The word "Unpublished" displayed underneath the content. */ { + height: 0; + overflow: visible; + color: #d8d8d8; + font-size: 75px; + line-height: 1; + font-family: Impact, "Arial Narrow", Helvetica, sans-serif; + font-weight: bold; + text-transform: uppercase; + text-align: center; + word-wrap: break-word; /* A very nice CSS3 property */ +} + +.node-by-viewer /* A node created by the current user */ { +} + +.node-teaser /* A node displayed as teaser */ { +} + +/* All nodes are given a node-type-FOO class that describes the type of + * content that it is. If you create a new content type called + * "my-custom-type", it will receive a "node-type-my-custom-type" class. + */ +.node-type-page /* Page content node */ { +} + +.node-type-story /* Story content node */ { +} + +.node h2.title /* Node title */ { +} + +.marker /* "New" or "Updated" marker for content that is new or updated for the current user */ { + color: #c00; +} + +.node .picture /* The picture of the node author */ { +} + +.node.node-unpublished .picture, +.comment.comment-unpublished .picture { + position: relative; /* Otherwise floated pictures will appear below the "Unpublished" text. */ +} + +.node .meta /* Wrapper for submitted and terms data */ { +} + +.node .submitted /* The "posted by" information */ { +} + +.node .terms /* Node terms (taxonomy) */ { +} + +.node .content /* Node's content wrapper */ { +} + +.node ul.links /* Node links. See also the ul.links declaration in the pages.css. */ { +} + +.preview .node /* Preview of the content before submitting new or updated content */ { + /* background-color: #ffffea; */ /* Drupal core uses a #ffffea background */ +} + +/* comments.css */ + +/** + * @file + * Comment Styling + */ + + +#comments /* Wrapper for the list of comments and its title */ { + margin: 1em 0; +} + +#comments h2.title /* Heading for the list of comments */ { +} + +.comment /* Wrapper for a single comment */ { +} + +.comment-preview /* Preview of the comment before submitting new or updated comment */ { +} + +.comment.new /* A new comment since the user last viewed the page. */ { +} + +.comment.first /* The first comment in the list of comments */ { +} + +.comment.last /* The last comment in the list of comments */ { +} + +.comment.odd /* An odd-numbered comment in the list of comments */ { +} + +.comment.even /* An even-numbered comment in the list of comments */ { +} + +.comment-unpublished /* Unpublished comments */ { + /* background-color: #fff4f4; */ /* Drupal core uses a #fff4f4 background */ +} + +.comment-unpublished div.unpublished /* The word "Unpublished" displayed underneath the content. See also the div.unpublished declaration in the nodes.css. */ { +} + +.comment-by-anonymous /* A comment created by an anonymous user */ { +} + +.comment-by-node-author /* A comment created by the node's author */ { +} + +.comment-by-viewer /* A comment created by the current user */ { +} + +.comment h3.title /* Comment title */ { +} + +.new /* "New" marker for comments that are new for the current user */ { + color: #c00; +} + +.comment .picture /* The picture of the comment author */ { +} + +.comment .submitted /* The "posted by" information */ { +} + +.comment .content /* Comment's content wrapper */ { +} + +.comment .user-signature /* The user's signature */ { +} + +.comment ul.links /* Comment links. See also the ul.links declaration in the pages.css. */ { +} + +.indented /* Nested comments are indented */ { + /* margin-left: 25px; */ /* Drupal core uses a 25px left margin */ +} + +.preview .comment /* Preview of the comment before submitting new or updated comment */ { + /* background-color: #ffffea; */ /* Drupal core uses a #ffffea background */ +} + +/* forms.css */ + +/** + * @file + * Form Styling + */ + + +.form-item, +.form-checkboxes, +.form-radios /* Wrapper for a form element (or group of form elements) and its label */ { + margin: 1em 0; +} + +.form-item input.error, +.form-item textarea.error, +.form-item select.error /* Highlight the form elements that caused a form submission error */ { + border: 2px solid #c00; +} + +.form-item label /* The label for a form element */ { + display: block; + font-weight: bold; +} + +.form-item label.option /* The label for a radio button or checkbox */ { + display: inline; + font-weight: normal; +} + +.form-required /* The part of the label that indicates a required field */ { + color: #c00; +} + +.form-item .description /* The descriptive help text (separate from the label) */ { + font-size: 0.85em; +} + +.form-checkboxes .form-item, +.form-radios .form-item /* Pack groups of checkboxes and radio buttons closer together */ { + margin: 0.4em 0; +} + +.form-submit /* The submit button */ { +} + +.container-inline div, +.container-inline label /* Inline labels and form divs */ { + display: inline; +} + +.tips /* Tips for Drupal's input formats */ { +} + + +/* + * Search (search-theme-form.tpl.php) + */ +#search-box /* Wrapper for the search form */ { +} + +#edit-search-theme-form-1-wrapper label /* Label that says "Search this site:" */ { + display: none; +} + + +/* + * Search (search-block-form.tpl.php) + */ +#search-block-form /* Wrapper for the search form */ { +} + +#edit-search-block-form-1-wrapper label /* Label that says "Search this site:" */ { + display: none; +} + + +/* + * Drupal's default login form block + */ +#user-login-form { + text-align: left; /* LTR */ +} + + +/* + * OpenID + * + * The default styling for the OpenID login link seems to assume Garland's + * styling of list items. + */ + +#user-login-form ul /* OpenID creates a new ul above the login form's links. */ { + margin-bottom: 0; /* Position OpenID's ul next to the rest of the links. */ +} + +#user-login-form li.openid-link /* The "Log in using OpenID" link. */ { + margin-top: 1em; + margin-left: -20px; /* LTR */ /* Un-do some of the padding on the ul list. */ +} + +#user-login-form li.user-link /* The "Cancel OpenID login" link. */ { + margin-top: 1em; +} + +#user-login ul { + margin: 1em 0; +} + +#user-login li.openid-link, +#user-login li.user-link /* The OpenID links on the /user form. */ { + margin-left: -2em; /* LTR */ /* Un-do all of the padding on the ul list. */ +} + + +/* + * Drupal admin tables + * + * We overrode these styles in html-elements.css, but restore them for the admin + * section of the site. + */ + +form tbody { + border-top: 1px solid #ccc; +} + +form th, +form thead th { + text-align: left; /* LTR */ + padding-right: 1em; /* LTR */ + border-bottom: 3px solid #ccc; +} + +form tbody th { + border-bottom: 1px solid #ccc; +} + +/* fields.css */ + +/** + * @file + * Field Styling + */ + + +/* + * Field types + */ + +.field /* Wrapper for any CCK field. */ { +} + +.field-type-datetime /* Always use "datetime" when creating new CCK date fields. "date" and "datestamp" are legacy types. */ { +} + +.field-type-filefield /* Field from filefield module */ { +} + +.field-type-nodereference { +} + +.field-type-number-decimal { +} + +.field-type-number-float { +} + +.field-type-number-integer { +} + +.field-type-text { +} + +.field-type-userreference { +} + + +/* + * Named fields + */ + +.field-field-FIELDNAME /* Underscores in field name are replaced with dashes. */ { +} diff --git a/themes/zen/zen-internals/css/zen-liquid-rtl.css b/themes/zen/zen-internals/css/zen-liquid-rtl.css new file mode 100644 index 0000000..2a44868 --- /dev/null +++ b/themes/zen/zen-internals/css/zen-liquid-rtl.css @@ -0,0 +1,237 @@ + + +/* html-reset-rtl.css */ + +/** + * @file + * RTL companion for the html-reset.css file. + */ + + +/* + * Lists + * + * We need to standardize the list item indentation. + */ +ul, +ol { + padding-left: 0; + padding-right: 2em; +} + +.block ul, +.item-list ul /* Drupal overrides */ { + padding: 0 2em 0 0; +} + +dd { + margin: 0 2em 0 0; +} + +/* + * Tables + * + * Drupal provides table styling which is only useful for its admin section + * forms, so we override this default CSS. (We set it back in forms.css.) + */ +th, +thead th, +tbody th { + text-align: right; +} + +/* layout-liquid-rtl.css */ + +/** + * @file + * RTL companion for the layout-liquid.css file. + */ + + +/* + * Content + */ +#content { + float: right; + margin-left: -100%; /* Negative value of #content's width + right margin. */ + margin-right: 0; +} + +.sidebar-first #content .section { + padding-left: 0; + padding-right: 200px; /* The width + right margin of .region-sidebar-first. */ +} + +.sidebar-second #content .section { + padding-left: 200px; /* The width + left margin of .region-sidebar-second. */ + padding-right: 0; +} + +/* + * Navigation + */ +#navigation { + float: right; + margin-left: -100%; /* Negative value of #navigation's width + right margin. */ + margin-right: 0; +} + +#navigation ul /* Primary and secondary links */ { + text-align: right; +} + +#navigation li /* A simple method to get navigation links to appear in one line. */ { + float: right; + padding: 0 0 0 10px; +} + +/* + * First sidebar + */ +.region-sidebar-first { + float: right; + margin-left: -200px; /* Negative value of .region-sidebar-first's width + right margin. */ + margin-right: 0; +} + +.region-sidebar-first .section { + margin: 0 0 0 20px; +} + +/* + * Second sidebar + */ +.region-sidebar-second { + float: left; + margin-left: 0; + margin-right: -200px; /* Negative value of .region-sidebar-second's width + left margin. */ +} + +.region-sidebar-second .section { + margin: 0 20px 0 0; +} + +/* tabs-rtl.css */ + +/** + * @file + * RTL companion for the tabs.css file. + */ + + +ul.primary { + padding: 0 10px 0 0; +} + +ul.primary li { + float: right; +} + +ul.secondary { + padding: 0 5px 0 0; +} + +ul.secondary li { + float: right; + border-left: none; +} + +/* messages-rtl.css */ + +/** + * @file + * RTL companion for the messages.css file. + */ + + +div.messages, +div.status, +div.warning, +div.error /* Important messages (status, warning, and error) for the user */ { + padding: 5px 35px 5px 5px; + background-position: 99.5% 5px; +} + +/* pages-rtl.css */ + +/** + * @file + * RTL companion for the pages.css file. + */ + + +/* + * Header + */ +#logo /* Wrapping link for logo */ { + float: right; +} + +/* + * Content + */ +.more-link /* Aggregator, blog, and forum more link */ { + text-align: left; +} + +/* block-editing-rtl.css */ + +/** + * @file + * RTL companion for the block-editing.css file. + */ + + +div.block.with-block-editing div.edit { + left: 0; + right: auto; +} + +/* forms-rtl.css */ + +/** + * @file + * RTL companion for the forms.css file. + */ + + +/* + * Drupal's default login form block + */ +#user-login-form { + text-align: right; +} + + +/* + * OpenID + * + * The default styling for the OpenID login link seems to assume Garland's + * styling of list items. + */ + +#user-login-form li.openid-link /* The "Log in using OpenID" link. */ { + margin-left: 0; + margin-right: -20px; /* Un-do some of the padding on the ul list. */ +} + +#user-login li.openid-link, +#user-login li.user-link /* The OpenID links on the /user form. */ { + margin-left: 0; + margin-right: -2em; /* Un-do all of the padding on the ul list. */ +} + + +/* + * Drupal admin tables + * + * We overrode these styles in html-elements.css, but restore them for the admin + * section of the site. + */ + +form th, +form thead th { + text-align: right; + padding-left: 1em; + padding-right: 0; +} diff --git a/themes/zen/zen-internals/css/zen-liquid.css b/themes/zen/zen-internals/css/zen-liquid.css new file mode 100644 index 0000000..0d4842b --- /dev/null +++ b/themes/zen/zen-internals/css/zen-liquid.css @@ -0,0 +1,1605 @@ + + +/* html-reset.css */ + +/** + * @file + * HTML Element Styling + * + * Ok, I admit it. I fooled you. This isn't a "reset" stylesheet. Instead this + * is the place where you should set (not reset) the default styling for all + * HTML elements. + * + * @see http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/ + * @see http://snook.ca/archives/html_and_css/no_css_reset/ + */ + + +/* + * Fonts + * + * Our font size and line height declarations are based on the following ALA + * article: + * http://www.alistapart.com/articles/howtosizetextincss + * + * All modern browsrs use a 16px default font size. Specifying the font-size + * and line-height in ems (relative to the 16px default font) allows the user + * to resize the font in the browser and produces the most consistent results + * across different browsers. + */ +body { + font-size: 100%; /* Fixes exaggerated text resizing in IE6 and IE7 */ +} + +#skip-link, +#page { + /* + * To use a 12px font size on the page, delete the 14px declarations. + * to use a 14px font size on the page, delete the 12px declarations. + */ + + /* Use a 12px base font size with a 16px line height */ + font-size: 0.75em; /* 16px x .75 = 12px */ + line-height: 1.333em; /* 12px x 1.333 = 16px */ + + /* Use a 14px base font size with a 18px line height */ + font-size: 0.875em; /* 16px x .875 = 14px */ + line-height: 1.286em; /* 14px x 1.286 = 18px */ +} + +body, +caption, +th, +td, +input, +textarea, +select, +option, +legend, +fieldset { + /* The following font family declarations are based on the Microsoft core web + * fonts which are common fonts available on most computer systems. The DejaVu + * fonts are commonly available on Linux systems where the MS fonts are less + * common. Tahoma and Helvetica are also widely available. + * + * A user's web browser will look at the comma-separated list and will + * attempt to use each font in turn until it finds one that is available + * on the user's computer. The final "generic" font (sans-serif or serif) + * hints at what type of font to use if the web browser doesn't find any + * of the fonts in the list. + + font-family: "Times New Roman", Times, Georgia, "DejaVu Serif", serif; + font-family: Times, "Times New Roman", Georgia, "DejaVu Serif", serif; + font-family: Georgia, "Times New Roman", "DejaVu Serif", serif; + + font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif; + font-family: Tahoma, Verdana, "DejaVu Sans", sans-serif; + font-family: Helvetica, Arial, "Nimbus Sans L", sans-serif; + font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; + + font-family: "Courier New", "DejaVu Sans Mono", monospace; + + */ + + font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif; +} + +pre, +code { + font-size: 1.1em; /* Monospace fonts can be hard to read */ + font-family: "Courier New", "DejaVu Sans Mono", monospace; +} + +/* + * Headings + */ +h1 { + font-size: 2em; + line-height: 1.3em; + margin-top: 0; + margin-bottom: 0.5em; /* 0.5em is equavalent to 1em in the page's base font. + Remember, a margin specified in ems is relative to + the element's font-size, not to the pages' base + font size. So, for example, if we want a 1em margin + (relative to the base font), we have to divide that + length by the element's font-size: + 1em / 2em = 0.5em */ +} + +h2 { + font-size: 1.5em; + line-height: 1.3em; + margin-top: 0.667em; /* Equivalent to 1em in the page's base font: 1 / 1.5 = 0.667em */ + margin-bottom: 0.667em; +} + +h3 { + font-size: 1.3em; + line-height: 1.3em; + margin-top: 0.769em; /* Equivalent to 1em in the page's base font: 1 / 1.3 = 0.769 */ + margin-bottom: 0.769em; +} + +h4, +h5, +h6 { + font-size: 1.1em; + line-height: 1.3em; + margin-top: 0.909em; /* Equivalent to 1em in the page's base font: 1 / 1.1 = 0.909 */ + margin-bottom: 0.909em; +} + +/* + * Block-level elements + */ +p, +ul, +ol, +dl, +pre, +table, +fieldset { + margin: 1em 0; +} + +blockquote { + margin: 1em 2em; +} + +/* + * Lists + * + * We need to standardize the list item indentation. + */ +ul, +ol { + margin-left: 0; + padding-left: 2em; /* LTR */ +} + +.block ul, +.item-list ul /* Drupal overrides */ { + margin: 1em 0; + padding: 0 0 0 2em; /* LTR */ +} + +ul ul, ul ol, +ol ol, ol ul, +.block ul ul, .block ul ol, +.block ol ol, .block ol ul, +.item-list ul ul, .item-list ul ol, +.item-list ol ol, .item-list ol ul { + margin: 0; +} + +li { + margin: 0; + padding: 0; +} + +.item-list ul li /* Drupal override */ { + margin: 0; + padding: 0; + list-style: inherit; +} + +ul.menu li, +li.expanded, +li.collapsed, +li.leaf /* Drupal override */ { + margin: 0; + padding: 0; +} + +ul { list-style-type: disc; } +ul ul { list-style-type: circle; } +ul ul ul { list-style-type: square; } +ul ul ul ul { list-style-type: circle; } +ol { list-style-type: decimal; } +ol ol { list-style-type: lower-alpha; } +ol ol ol { list-style-type: decimal; } + +dt { + margin: 0; + padding: 0; +} + +dd { + margin: 0 0 0 2em; + padding: 0; +} + +/* + * Links + * + * The order of link states are based on Eric Meyer's article: + * http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states + */ +a:link { +} + +a:visited { +} + +a:hover, +a:focus { +} + +a:active { +} + +/* + * Tables + * + * Drupal provides table styling which is only useful for its admin section + * forms, so we override this default CSS. (We set it back in forms.css.) + */ +table { + border-collapse: collapse; + /* width: 100%; */ /* Prevent cramped-looking tables */ +} + +th, +thead th, +tbody th { + text-align: left; /* LTR */ + padding: 0; + border-bottom: none; +} + +tbody { + border-top: none; +} + +/* + * Abbreviations + */ +abbr { + border-bottom: 1px dotted #666; + cursor: help; + white-space: nowrap; +} + +abbr.created /* Date-based "abbreviations" show computer-friendly timestamps which are not human-friendly. */ { + border: none; + cursor: auto; + white-space: normal; +} + +/* + * Images + */ +img { + border: 0; +} + +/* + * Horizontal rules + */ +hr { + height: 1px; + border: 1px solid #666; +} + +/* + * Forms + */ +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 1em 0; + padding: 0.5em; +} + +/* wireframes.css */ + +/** + * @file + * Wireframes Styling + * + * Add wireframes to the basic layout elements. + */ + + +.with-wireframes #header .section, +.with-wireframes #content .section, +.with-wireframes #navigation .section, +.with-wireframes .region-sidebar-first .section, +.with-wireframes .region-sidebar-second .section, +.with-wireframes #footer .section { + margin: 1px; + padding: 2px; + border: 1px solid #ccc; +} + +.with-wireframes .region-page-closure { + margin-top: 1px; + padding: 2px; + border: 1px solid #ccc; +} + +/* layout-liquid.css */ + +/** + * @file + * Layout Styling (DIV Positioning) + * + * Define CSS classes to create a table-free, 3-column, 2-column, or single + * column layout depending on whether blocks are enabled in the left or right + * columns. + * + * This layout is based on the Zen Columns layout method. + * http://drupal.org/node/201428 + * + * Only CSS that affects the layout (positioning) of major elements should be + * listed here. Such as: + * display, position, float, clear, width, height, min-width, min-height + * margin, border, padding, overflow + */ + + +/* + * Body + */ +body { +} + +#page-wrapper, +.region-page-closure { + min-width: 960px; /* Don't allow the browser to make the site unreadable. */ +} + +#page { +} + +/* + * Header + */ +#header { +} + +#header .section { +} + +#search-box { +} + +.region-header { + clear: both; /* Clear the logo */ +} + +/* + * Main (container for everything else) + */ +#main-wrapper { + position: relative; +} + +#main { +} + +/* + * Content + */ +#content { + float: left; /* LTR */ + width: 100%; + margin-left: 0; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #content's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #content .section. */ +} + +#content .section, +.no-sidebars #content .section { + margin: 0; + padding: 0; +} + +.sidebar-first #content .section { + padding-left: 200px; /* LTR */ /* The width + left margin of .region-sidebar-first. */ + padding-right: 0; /* LTR */ +} + +.sidebar-second #content .section { + padding-left: 0; /* LTR */ + padding-right: 200px; /* LTR */ /* The width + right margin of .region-sidebar-second. */ +} + +.two-sidebars #content .section { + padding-left: 200px; /* The width + left margin of .region-sidebar-first. */ + padding-right: 200px; /* The width + right margin of .region-sidebar-second. */ +} + +/* + * Navigation + */ +#navigation { + float: left; /* LTR */ + width: 100%; + margin-left: 0; /* LTR */ + margin-right: -100%; /* LTR */ /* Negative value of #navigation's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to #navigation .section. */ + height: 2.3em; /* The navigation can have any arbritrary height. We picked one + that is the line-height plus 1em: 1.3 + 1 = 2.3 + Set this to the same value as the margin-top below. */ +} + +.with-navigation #content, +.with-navigation .region-sidebar-first, +.with-navigation .region-sidebar-second { + margin-top: 2.3em; /* Set this to the same value as the navigation height above. */ +} + +#navigation .section { +} + +#navigation ul /* Primary and secondary links */ { + margin: 0; + padding: 0; + text-align: left; /* LTR */ +} + +#navigation li /* A simple method to get navigation links to appear in one line. */ { + float: left; /* LTR */ + padding: 0 10px 0 0; /* LTR */ +} + +/* + * First sidebar + */ +.region-sidebar-first { + float: left; /* LTR */ + width: 200px; + margin-left: 0; /* LTR */ + margin-right: -200px; /* LTR */ /* Negative value of .region-sidebar-first's width + left margin. */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-first .section. */ +} + +.region-sidebar-first .section { + margin: 0 20px 0 0; /* LTR */ + padding: 0; +} + +/* + * Second sidebar + */ +.region-sidebar-second { + float: right; /* LTR */ + width: 200px; + margin-left: -200px; /* LTR */ /* Negative value of .region-sidebar-second's width + right margin. */ + margin-right: 0; /* LTR */ + padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-second .section. */ +} + +.region-sidebar-second .section { + margin: 0 0 0 20px; /* LTR */ + padding: 0; +} + +/* + * Footer + */ +#footer { +} + +#footer .section { +} + +/* + * Closure + */ +.region-page-closure /* See also the #page-wrapper declaration above that this div shares. */ { +} + +/* + * Prevent overflowing content + */ +#header, +#content, +#navigation, +.region-sidebar-first, +.region-sidebar-second, +#footer, +.region-page-closure { + overflow: visible; + word-wrap: break-word; /* A very nice CSS3 property */ +} + +#navigation { + overflow: hidden; /* May need to be removed if using a dynamic drop-down menu */ +} + +/* + * If a div.clearfix doesn't have any content after it and its bottom edge + * touches the bottom of the viewport, Firefox and Safari will mistakenly + * place several pixels worth of space between the bottom of the div and the + * bottom of the viewport. Uncomment this CSS property to fix this. + * Note: with some over-large content, this property might cause scrollbars + * to appear on the #page-wrapper div. + */ +/* +#page-wrapper { + overflow-y: hidden; +} +*/ + +/* page-backgrounds.css */ + +/** + * @file + * Page Background Styling + * + * The default layout method of Zen doesn't give themers equal-height columns. + * However, equal-height columns are difficult to achieve and totally + * unnecessary. Instead, use the Faux Columns method described in the following + * ALA article: + * http://www.alistapart.com/articles/fauxcolumns/ + */ + + +body { +} + +#page-wrapper { +} + +#page { +} + +#header { +} + +#header .section { +} + +#main-wrapper { +} + +#main { +} + +#footer { +} + +#footer .section { +} + +/* tabs.css */ + +/** + * @file + * Tabs Styling + * + * Adds styles for the primary and secondary tabs. + * + * Compare this with default CSS found in the system module's stylesheet (a copy + * of which is in drupal6-reference.css, line 510.) + */ + + +div.tabs { + margin: 0 0 5px 0; +} + +ul.primary { + margin: 0; + padding: 0 0 0 10px; /* LTR */ + border-width: 0; + list-style: none; + white-space: nowrap; + line-height: normal; + background: url(../images/tab-bar.png) repeat-x left bottom; +} + +ul.primary li { + float: left; /* LTR */ + margin: 0; + padding: 0; +} + +ul.primary li a { + display: block; + height: 24px; + margin: 0; + padding: 0 0 0 5px; /* width of tab-left.png */ + border-width: 0; + font-weight: bold; + text-decoration: none; + color: #777; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left -38px; +} + +ul.primary li a .tab { + display: block; + height: 20px; /* 24px (parent) - 4px (padding) */ + margin: 0; + padding: 4px 13px 0 6px; + border-width: 0; + line-height: 20px; + background: url(../images/tab-right.png) no-repeat right -38px; +} + +ul.primary li a:hover, +ul.primary li a:focus { + border-width: 0; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left -76px; +} + +ul.primary li a:hover .tab, +ul.primary li a:focus .tab { + background: url(../images/tab-right.png) no-repeat right -76px; +} + +ul.primary li.active a, +ul.primary li.active a:hover, +ul.primary li.active a:focus { + border-width: 0; + color: #000; + background-color: transparent; + background: url(../images/tab-left.png) no-repeat left 0; +} + +ul.primary li.active a .tab, +ul.primary li.active a:hover .tab, +ul.primary li.active a:focus .tab { + background: url(../images/tab-right.png) no-repeat right 0; +} + +ul.secondary { + margin: 0; + padding: 0 0 0 5px; /* LTR */ + border-bottom: 1px solid #c0c0c0; + list-style: none; + white-space: nowrap; + background: url(../images/tab-secondary-bg.png) repeat-x left bottom; +} + +ul.secondary li { + float: left; /* LTR */ + margin: 0 5px 0 0; + padding: 5px 0; + border-right: none; /* LTR */ +} + +ul.secondary a { + display: block; + height: 24px; + margin: 0; + padding: 0; + border: 1px solid #c0c0c0; + text-decoration: none; + color: #777; + background: url(../images/tab-secondary.png) repeat-x left -56px; +} + +ul.secondary a .tab { + display: block; + height: 18px; /* 24px (parent) - 6px (padding) */ + margin: 0; + padding: 3px 8px; + line-height: 18px; +} + +ul.secondary a:hover, +ul.secondary a:focus { + background: url(../images/tab-secondary.png) repeat-x left bottom; +} + +ul.secondary a.active, +ul.secondary a.active:hover, +ul.secondary a.active:focus { + border: 1px solid #c0c0c0; + color: #000; + background: url(../images/tab-secondary.png) repeat-x left top; +} + +/* messages.css */ + +/** + * @file + * Message Styling + * + * Sensible styling for Drupal's error/warning/status messages. + */ + + +div.messages, +div.status, +div.warning, +div.error /* Important messages (status, warning, and error) for the user */ { + min-height: 21px; + margin: 0 1em 5px 1em; + border: 2px solid #ff7; + padding: 5px 5px 5px 35px; /* LTR */ + color: #000; + background-color: #ffc; + background-image: url(../images/messages-status.png); + background-repeat: no-repeat; + background-position: 5px 5px; /* LTR */ +} + +div.status /* Normal priority messages */ { +} + +div.warning /* Medium priority messages */ { + border-color: #fc0; + background-image: url(../images/messages-warning.png); +} + +div.warning, +tr.warning { + color: #000; /* Drupal core uses #220 */ + background-color: #ffc; +} + +div.error /* High priority messages. See also the .error declaration in pages.css. */ { + /* border: 1px solid #d77; */ /* Drupal core uses: 1px solid #d77 */ + border-color: #c00; + background-image: url(../images/messages-error.png); +} + +div.error, +tr.error { + color: #900; /* Drupal core uses #200 */ + background-color: #fee; +} + +div.messages ul { + margin-top: 0; + margin-bottom: 0; +} + +/* pages.css */ + +/** + * @file + * Page Styling + * + * Style the markup found in page.tpl.php. Also includes some styling of + * miscellaneous Drupal elements that appear in the $content variable, such as + * ul.links, .pager, .more-link, etc. + */ + + +/* + * Body + */ +body { + margin: 0; + padding: 0; +} + +#page-wrapper { +} + +#page { +} + +/* + * The skip navigation link will be completely hidden until a user tabs to the + * link. See http://www.webaim.org/techniques/skipnav/ + */ +#skip-link a, +#skip-link a:visited { + position: absolute; + display: block; + left: 0; + top: -500px; + width: 1px; + height: 1px; + overflow: hidden; + text-align: center; + background-color: #666; + color: #fff; +} + +#skip-link a:hover, +#skip-link a:active, +#skip-link a:focus { + position: static; + width: 100%; + height: auto; + padding: 2px 0 3px 0; +} + +/* + * Header + */ +#header { +} + +#header .section { +} + +#logo /* Wrapping link for logo */ { + float: left; /* LTR */ + margin: 0; + padding: 0; +} + +#logo img { + vertical-align: bottom; +} + +#name-and-slogan /* Wrapper for website name and slogan */ { +} + +h1#site-name, +div#site-name /* The name of the website */ { + margin: 0; + font-size: 2em; + line-height: 1.3em; +} + +#site-name a:link, +#site-name a:visited { + color: #000; + text-decoration: none; +} + +#site-name a:hover, +#site-name a:focus { + text-decoration: underline; +} + +#site-slogan /* The slogan (or tagline) of a website */ { +} + +.region-header /* Wrapper for any blocks placed in the header region */ { +} + +/* + * Main (container for everything else) + */ +#main-wrapper { +} + +#main { +} + +/* + * Content + */ +#content { +} + +#content .section { +} + +#mission /* The mission statement of the site (displayed on homepage) */ { +} + +.region-content-top /* Wrapper for any blocks placed in the "content top" region */ { +} + +.breadcrumb /* The path to the current page in the form of a list of links */ { + padding-bottom: 0; /* Undo system.css */ +} + +h1.title, /* The title of the page */ +h2.title, /* Block title or the title of a piece of content when it is given in a list of content */ +h3.title /* Comment title */ { + margin: 0; +} + +tr.even /* Some tables have rows marked even or odd. */ { + /* background-color: #eee; */ /* Drupal core uses a #eee background */ +} + +tr.odd { + /* background-color: #eee; */ /* Drupal core uses a #eee background */ +} + +div.messages /* Important messages (status, warning, and error) for the user. See also the declarations in messages.css. */ { +} + +div.status /* Normal priority messages */ { +} + +div.warning, +tr.warning /* Medium priority messages */ { + /* border: 1px solid #f0c020; */ /* Drupal core uses: 1px solid #f0c020 */ +} + +div.error, +tr.error /* High priority messages. See also the .error declaration below. */ { +} + +.error /* Errors that are separate from div.messages status messages. */ { + /* color: #e55; */ /* Drupal core uses a #e55 background */ +} + +.warning /* Warnings that are separate from div.messages status messages. */ { + /* color: #e09010; */ /* Drupal core uses a #e09010 background */ +} + +div.tabs /* See also the tabs.css file. */ { +} + +.help /* Help text on a page */ { + margin: 1em 0; +} + +.more-help-link /* Link to more help */ { + font-size: 0.85em; + text-align: right; +} + +#content-area /* Wrapper for the actual page content */ { +} + +ul.links /* List of links */ { + margin: 1em 0; + padding: 0; +} + +ul.links.inline { + margin: 0; + display: inline; +} + +ul.links li { + display: inline; + list-style-type: none; + padding: 0 0.5em; +} + +.pager /* A list of page numbers when more than 1 page of content is available */ { + clear: both; + margin: 1em 0; + text-align: center; +} + +.pager a, +.pager strong.pager-current /* Each page number in the pager list */ { + padding: 0.5em; +} + +.feed-icons /* The links to the RSS or Atom feeds for the current list of content */ { + margin: 1em 0; +} + +.more-link /* Aggregator, blog, and forum more link */ { + text-align: right; /* LTR */ +} + +.region-content-bottom /* Wrapper for any blocks placed in the "content bottom" region */ { +} + +/* + * First sidebar (on left in LTR languages, on right in RTL) + * + * Remember to NOT add padding or margin to your .region-sidebar-first + * (see the layout.css file.) + */ +.region-sidebar-first { +} + +.region-sidebar-first .section { +} + +/* + * Second sidebar (on right in LTR languages, on left in RTL) + * + * Remember to NOT add padding or margin to your .region-sidebar-second + * (see the layout.css file.) + */ +.region-sidebar-second { +} + +.region-sidebar-second .section { +} + +/* + * Footer + */ +#footer { +} + +#footer .section { +} + +#footer-message /* Wrapper for the footer message from Drupal's "Site information" + and for any blocks placed in the footer region */ { +} + +.region-footer { +} + +/* + * Closure + */ +.region-page-closure /* Wrapper for any blocks placed in the closure region */ { +} + +/* + * Drupal boxes + * + * Wrapper for Comment form, Comment viewing options, Menu admin, and + * Search results. + */ +.box /* Wrapper for box */ { +} + +.box h2 /* Box title */ { +} + +.box .content /* Box's content wrapper */ { +} + +/* + * Markup free clearing (See: http://www.positioniseverything.net/easyclearing.html ) + */ +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/** + * Hide elements from all users. + * + * Used for elements which should not be immediately displayed to any user. An + * example would be a collapsible fieldset that will be expanded with a click + * from a user. The effect of this class can be toggled with the jQuery show() + * and hide() functions. + */ +.element-hidden { + display: none; +} + +/** + * Hide elements visually, but keep them available for screen-readers. + * + * Used for information required for screen-reader users to understand and use + * the site where visual display is undesirable. Information provided in this + * manner should be kept concise, to avoid unnecessary burden on the user. Must + * not be used for focusable elements (such as links and form elements) as this + * causes issues for keyboard only or voice recognition users. "!important" is + * used to prevent unintentional overrides. + */ +.element-invisible { + position: absolute !important; + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); +} + +/* block-editing.css */ + +/** + * @file + * Zen's rollover edit links for blocks. + */ + + +div.block.with-block-editing { + position: relative; +} + +div.block.with-block-editing div.edit { + display: none; + position: absolute; + right: 0; /* LTR */ + top: 0; + z-index: 40; + border: 1px solid #eee; + padding: 0 2px; + font-size: 0.75em; + background-color: #fff; +} + +div.block.with-block-editing:hover div.edit { + display: block; +} + +/* blocks.css */ + +/** + * @file + * Block Styling + */ + + +.block /* Block wrapper */ { + margin-bottom: 1em; +} + +.block.first /* The first block in the region */ { +} + +.block.last /* The last block in the region */ { +} + +.block.region-odd /* Zebra striping for each block in the region */ { +} + +.block.region-even /* Zebra striping for each block in the region */ { +} + +.block.odd /* Zebra striping independent of each region */ { +} + +.block.even /* Zebra striping independent of each region */ { +} + +.region-count-1 /* Incremental count for each block in the region */ { +} + +.count-1 /* Incremental count independent of each region */ { +} + +.block h2.title /* Block title */ { +} + +.block .content /* Block's content wrapper */ { +} + +#block-aggregator-category-1 /* Block for the latest news items in the first category */ { +} + +#block-aggregator-feed-1 /* Block for the latest news items in the first feed */ { +} + +#block-block-1 /* First administrator-defined block */ { +} + +#block-blog-0 /* "Recent blog posts" block */ { +} + +#block-book-0 /* "Book navigation" block for the current book's table of contents */ { +} + +#block-comment-0 /* "Recent comments" block */ { +} + +#block-forum-0 /* "Active forum topics" block */ { +} + +#block-forum-1 /* "New forum topics" block */ { +} + +#block-menu-primary-links /* "Primary links" block */ { +} + +#block-menu-secondary-links /* "Secondary links" block */ { +} + +#block-node-0 /* "Syndicate" block for primary RSS feed */ { +} + +#block-poll-0 /* "Most recent poll" block */ { +} + +#block-profile-0 /* "Author information" block for the profile of the page's author */ { +} + +#block-search-0 /* "Search form" block */ { +} + +#block-statistics-0 /* "Popular content" block */ { +} + +#block-user-0 /* "User login form" block */ { +} + +#block-user-1 /* "Navigation" block for Drupal navigation menu */ { +} + +#block-user-2 /* "Who's new" block for a list of the newest users */ { +} + +#block-user-3 /* "Who's online" block for a list of the online users */ { +} + +/* navigation.css */ + +/** + * @file + * Navigation Styling + * + * Default menu styling (ul.menu) is defined in system-menus.css. + */ + + +/* + * The active item in a Drupal menu + */ +li a.active { + color: #000; +} + +/* + * Navigation bar + */ +#navigation { +} + +.region-navigation { +} + +/* + * Primary and Secondary menu links + */ +#main-menu { +} + +#secondary-menu { +} + +/* + * Menu blocks + */ +.block-menu { +} + +/* + * "Menu block" blocks. See http://drupal.org/project/menu_block + */ +.block-menu_block { +} + +/* views-styles.css */ + +/** + * @file + * Views Styling + */ + + + +/* nodes.css */ + +/** + * @file + * Node Styling + * + * Style anything that isn't in the $content variable. + */ + + +.node /* Node wrapper */ { +} + +.node-sticky /* A sticky node (displayed before others in a list) */ { +} + +.node-unpublished /* Unpublished nodes */ { + /* background-color: #fff4f4; */ /* Drupal core uses a #fff4f4 background */ +} + +.node-unpublished div.unpublished, +.comment-unpublished div.unpublished /* The word "Unpublished" displayed underneath the content. */ { + height: 0; + overflow: visible; + color: #d8d8d8; + font-size: 75px; + line-height: 1; + font-family: Impact, "Arial Narrow", Helvetica, sans-serif; + font-weight: bold; + text-transform: uppercase; + text-align: center; + word-wrap: break-word; /* A very nice CSS3 property */ +} + +.node-by-viewer /* A node created by the current user */ { +} + +.node-teaser /* A node displayed as teaser */ { +} + +/* All nodes are given a node-type-FOO class that describes the type of + * content that it is. If you create a new content type called + * "my-custom-type", it will receive a "node-type-my-custom-type" class. + */ +.node-type-page /* Page content node */ { +} + +.node-type-story /* Story content node */ { +} + +.node h2.title /* Node title */ { +} + +.marker /* "New" or "Updated" marker for content that is new or updated for the current user */ { + color: #c00; +} + +.node .picture /* The picture of the node author */ { +} + +.node.node-unpublished .picture, +.comment.comment-unpublished .picture { + position: relative; /* Otherwise floated pictures will appear below the "Unpublished" text. */ +} + +.node .meta /* Wrapper for submitted and terms data */ { +} + +.node .submitted /* The "posted by" information */ { +} + +.node .terms /* Node terms (taxonomy) */ { +} + +.node .content /* Node's content wrapper */ { +} + +.node ul.links /* Node links. See also the ul.links declaration in the pages.css. */ { +} + +.preview .node /* Preview of the content before submitting new or updated content */ { + /* background-color: #ffffea; */ /* Drupal core uses a #ffffea background */ +} + +/* comments.css */ + +/** + * @file + * Comment Styling + */ + + +#comments /* Wrapper for the list of comments and its title */ { + margin: 1em 0; +} + +#comments h2.title /* Heading for the list of comments */ { +} + +.comment /* Wrapper for a single comment */ { +} + +.comment-preview /* Preview of the comment before submitting new or updated comment */ { +} + +.comment.new /* A new comment since the user last viewed the page. */ { +} + +.comment.first /* The first comment in the list of comments */ { +} + +.comment.last /* The last comment in the list of comments */ { +} + +.comment.odd /* An odd-numbered comment in the list of comments */ { +} + +.comment.even /* An even-numbered comment in the list of comments */ { +} + +.comment-unpublished /* Unpublished comments */ { + /* background-color: #fff4f4; */ /* Drupal core uses a #fff4f4 background */ +} + +.comment-unpublished div.unpublished /* The word "Unpublished" displayed underneath the content. See also the div.unpublished declaration in the nodes.css. */ { +} + +.comment-by-anonymous /* A comment created by an anonymous user */ { +} + +.comment-by-node-author /* A comment created by the node's author */ { +} + +.comment-by-viewer /* A comment created by the current user */ { +} + +.comment h3.title /* Comment title */ { +} + +.new /* "New" marker for comments that are new for the current user */ { + color: #c00; +} + +.comment .picture /* The picture of the comment author */ { +} + +.comment .submitted /* The "posted by" information */ { +} + +.comment .content /* Comment's content wrapper */ { +} + +.comment .user-signature /* The user's signature */ { +} + +.comment ul.links /* Comment links. See also the ul.links declaration in the pages.css. */ { +} + +.indented /* Nested comments are indented */ { + /* margin-left: 25px; */ /* Drupal core uses a 25px left margin */ +} + +.preview .comment /* Preview of the comment before submitting new or updated comment */ { + /* background-color: #ffffea; */ /* Drupal core uses a #ffffea background */ +} + +/* forms.css */ + +/** + * @file + * Form Styling + */ + + +.form-item, +.form-checkboxes, +.form-radios /* Wrapper for a form element (or group of form elements) and its label */ { + margin: 1em 0; +} + +.form-item input.error, +.form-item textarea.error, +.form-item select.error /* Highlight the form elements that caused a form submission error */ { + border: 2px solid #c00; +} + +.form-item label /* The label for a form element */ { + display: block; + font-weight: bold; +} + +.form-item label.option /* The label for a radio button or checkbox */ { + display: inline; + font-weight: normal; +} + +.form-required /* The part of the label that indicates a required field */ { + color: #c00; +} + +.form-item .description /* The descriptive help text (separate from the label) */ { + font-size: 0.85em; +} + +.form-checkboxes .form-item, +.form-radios .form-item /* Pack groups of checkboxes and radio buttons closer together */ { + margin: 0.4em 0; +} + +.form-submit /* The submit button */ { +} + +.container-inline div, +.container-inline label /* Inline labels and form divs */ { + display: inline; +} + +.tips /* Tips for Drupal's input formats */ { +} + + +/* + * Search (search-theme-form.tpl.php) + */ +#search-box /* Wrapper for the search form */ { +} + +#edit-search-theme-form-1-wrapper label /* Label that says "Search this site:" */ { + display: none; +} + + +/* + * Search (search-block-form.tpl.php) + */ +#search-block-form /* Wrapper for the search form */ { +} + +#edit-search-block-form-1-wrapper label /* Label that says "Search this site:" */ { + display: none; +} + + +/* + * Drupal's default login form block + */ +#user-login-form { + text-align: left; /* LTR */ +} + + +/* + * OpenID + * + * The default styling for the OpenID login link seems to assume Garland's + * styling of list items. + */ + +#user-login-form ul /* OpenID creates a new ul above the login form's links. */ { + margin-bottom: 0; /* Position OpenID's ul next to the rest of the links. */ +} + +#user-login-form li.openid-link /* The "Log in using OpenID" link. */ { + margin-top: 1em; + margin-left: -20px; /* LTR */ /* Un-do some of the padding on the ul list. */ +} + +#user-login-form li.user-link /* The "Cancel OpenID login" link. */ { + margin-top: 1em; +} + +#user-login ul { + margin: 1em 0; +} + +#user-login li.openid-link, +#user-login li.user-link /* The OpenID links on the /user form. */ { + margin-left: -2em; /* LTR */ /* Un-do all of the padding on the ul list. */ +} + + +/* + * Drupal admin tables + * + * We overrode these styles in html-elements.css, but restore them for the admin + * section of the site. + */ + +form tbody { + border-top: 1px solid #ccc; +} + +form th, +form thead th { + text-align: left; /* LTR */ + padding-right: 1em; /* LTR */ + border-bottom: 3px solid #ccc; +} + +form tbody th { + border-bottom: 1px solid #ccc; +} + +/* fields.css */ + +/** + * @file + * Field Styling + */ + + +/* + * Field types + */ + +.field /* Wrapper for any CCK field. */ { +} + +.field-type-datetime /* Always use "datetime" when creating new CCK date fields. "date" and "datestamp" are legacy types. */ { +} + +.field-type-filefield /* Field from filefield module */ { +} + +.field-type-nodereference { +} + +.field-type-number-decimal { +} + +.field-type-number-float { +} + +.field-type-number-integer { +} + +.field-type-text { +} + +.field-type-userreference { +} + + +/* + * Named fields + */ + +.field-field-FIELDNAME /* Underscores in field name are replaced with dashes. */ { +} diff --git a/themes/zen/zen-internals/images/messages-error-ie6.png b/themes/zen/zen-internals/images/messages-error-ie6.png new file mode 100644 index 0000000..054b9f2 Binary files /dev/null and b/themes/zen/zen-internals/images/messages-error-ie6.png differ diff --git a/themes/zen/zen-internals/images/messages-error.png b/themes/zen/zen-internals/images/messages-error.png new file mode 100644 index 0000000..012813b Binary files /dev/null and b/themes/zen/zen-internals/images/messages-error.png differ diff --git a/themes/zen/zen-internals/images/messages-status-ie6.png b/themes/zen/zen-internals/images/messages-status-ie6.png new file mode 100644 index 0000000..f9eb63f Binary files /dev/null and b/themes/zen/zen-internals/images/messages-status-ie6.png differ diff --git a/themes/zen/zen-internals/images/messages-status.png b/themes/zen/zen-internals/images/messages-status.png new file mode 100644 index 0000000..9f07a42 Binary files /dev/null and b/themes/zen/zen-internals/images/messages-status.png differ diff --git a/themes/zen/zen-internals/images/messages-warning-ie6.png b/themes/zen/zen-internals/images/messages-warning-ie6.png new file mode 100644 index 0000000..551a9db Binary files /dev/null and b/themes/zen/zen-internals/images/messages-warning-ie6.png differ diff --git a/themes/zen/zen-internals/images/messages-warning.png b/themes/zen/zen-internals/images/messages-warning.png new file mode 100644 index 0000000..e727711 Binary files /dev/null and b/themes/zen/zen-internals/images/messages-warning.png differ diff --git a/themes/zen/zen-internals/images/tab-bar.png b/themes/zen/zen-internals/images/tab-bar.png new file mode 100644 index 0000000..0b380be Binary files /dev/null and b/themes/zen/zen-internals/images/tab-bar.png differ diff --git a/themes/zen/zen-internals/images/tab-left-ie6.png b/themes/zen/zen-internals/images/tab-left-ie6.png new file mode 100644 index 0000000..5c512ae Binary files /dev/null and b/themes/zen/zen-internals/images/tab-left-ie6.png differ diff --git a/themes/zen/zen-internals/images/tab-left.png b/themes/zen/zen-internals/images/tab-left.png new file mode 100644 index 0000000..dd925f7 Binary files /dev/null and b/themes/zen/zen-internals/images/tab-left.png differ diff --git a/themes/zen/zen-internals/images/tab-right-ie6.png b/themes/zen/zen-internals/images/tab-right-ie6.png new file mode 100644 index 0000000..1c00281 Binary files /dev/null and b/themes/zen/zen-internals/images/tab-right-ie6.png differ diff --git a/themes/zen/zen-internals/images/tab-right.png b/themes/zen/zen-internals/images/tab-right.png new file mode 100644 index 0000000..9ed9cb2 Binary files /dev/null and b/themes/zen/zen-internals/images/tab-right.png differ diff --git a/themes/zen/zen-internals/images/tab-secondary-bg.png b/themes/zen/zen-internals/images/tab-secondary-bg.png new file mode 100644 index 0000000..a5a617e Binary files /dev/null and b/themes/zen/zen-internals/images/tab-secondary-bg.png differ diff --git a/themes/zen/zen-internals/images/tab-secondary.png b/themes/zen/zen-internals/images/tab-secondary.png new file mode 100644 index 0000000..bf4e8d2 Binary files /dev/null and b/themes/zen/zen-internals/images/tab-secondary.png differ diff --git a/themes/zen/zen-internals/js/theme-settings.js b/themes/zen/zen-internals/js/theme-settings.js new file mode 100644 index 0000000..04ce8b6 --- /dev/null +++ b/themes/zen/zen-internals/js/theme-settings.js @@ -0,0 +1,27 @@ +$(document).ready( function() { + // Hide the breadcrumb details, if no breadcrumb. + $('#edit-zen-breadcrumb').change( + function() { + div = $('#div-zen-breadcrumb-collapse'); + if ($('#edit-zen-breadcrumb').val() == 'no') { + div.slideUp('slow'); + } else if (div.css('display') == 'none') { + div.slideDown('slow'); + } + } + ); + if ($('#edit-zen-breadcrumb').val() == 'no') { + $('#div-zen-breadcrumb-collapse').css('display', 'none'); + } + $('#edit-zen-breadcrumb-title').change( + function() { + checkbox = $('#edit-zen-breadcrumb-trailing'); + if ($('#edit-zen-breadcrumb-title').attr('checked')) { + checkbox.attr('disabled', 'disabled'); + } else { + checkbox.removeAttr('disabled'); + } + } + ); + $('#edit-zen-breadcrumb-title').change(); +} ); diff --git a/themes/zen/zen-internals/screenshot.png b/themes/zen/zen-internals/screenshot.png new file mode 100644 index 0000000..3821461 Binary files /dev/null and b/themes/zen/zen-internals/screenshot.png differ diff --git a/themes/zen/zen-internals/template.block-editing.inc b/themes/zen/zen-internals/template.block-editing.inc new file mode 100644 index 0000000..c12b5c1 --- /dev/null +++ b/themes/zen/zen-internals/template.block-editing.inc @@ -0,0 +1,88 @@ +module == 'block') { + $vars['edit_links_array']['block-edit'] = l('' . t('edit block') . '', 'admin/build/block/configure/' . $block->module . '/' . $block->delta, + array( + 'attributes' => array( + 'title' => t('edit the content of this block'), + 'class' => 'block-edit', + ), + 'query' => drupal_get_destination(), + 'html' => TRUE, + ) + ); + } + // Display 'configure' for other blocks. + else { + $vars['edit_links_array']['block-config'] = l('' . t('configure') . '', 'admin/build/block/configure/' . $block->module . '/' . $block->delta, + array( + 'attributes' => array( + 'title' => t('configure this block'), + 'class' => 'block-config', + ), + 'query' => drupal_get_destination(), + 'html' => TRUE, + ) + ); + } + + // Display 'edit view' for Views blocks. + if ($block->module == 'views' && user_access('administer views')) { + list($view_name, $view_block) = explode('-block', $block->delta); + $vars['edit_links_array']['block-edit-view'] = l('' . t('edit view') . '', 'admin/build/views/edit/' . $view_name, + array( + 'attributes' => array( + 'title' => t('edit the view that defines this block'), + 'class' => 'block-edit-view', + ), + 'query' => drupal_get_destination(), + 'fragment' => 'views-tab-block' . $view_block, + 'html' => TRUE, + ) + ); + } + // Display 'edit menu' for Menu blocks. + elseif (($block->module == 'menu' || ($block->module == 'user' && $block->delta == 1)) && user_access('administer menu')) { + $menu_name = ($block->module == 'user') ? 'navigation' : $block->delta; + $vars['edit_links_array']['block-edit-menu'] = l('' . t('edit menu') . '', 'admin/build/menu-customize/' . $menu_name, + array( + 'attributes' => array( + 'title' => t('edit the menu that defines this block'), + 'class' => 'block-edit-menu', + ), + 'query' => drupal_get_destination(), + 'html' => TRUE, + ) + ); + } + // Display 'edit menu' for Menu block blocks. + elseif ($block->module == 'menu_block' && user_access('administer menu')) { + list($menu_name, ) = split(':', variable_get("menu_block_{$block->delta}_parent", 'navigation:0')); + $vars['edit_links_array']['block-edit-menu'] = l('' . t('edit menu') . '', 'admin/build/menu-customize/' . $menu_name, + array( + 'attributes' => array( + 'title' => t('edit the menu that defines this block'), + 'class' => 'block-edit-menu', + ), + 'query' => drupal_get_destination(), + 'html' => TRUE, + ) + ); + } +} diff --git a/themes/zen/zen-internals/template.comment.inc b/themes/zen/zen-internals/template.comment.inc new file mode 100644 index 0000000..9578763 --- /dev/null +++ b/themes/zen/zen-internals/template.comment.inc @@ -0,0 +1,58 @@ +type, 1) == 0) { + $vars['title'] = ''; + } + + // New comment. + if ($vars['comment']->new) { + $vars['classes_array'][] = 'comment-new'; + } + // Add an "unpublished" flag. + if ($vars['comment']->status == COMMENT_NOT_PUBLISHED) { + $vars['unpublished'] = TRUE; + $vars['classes_array'][] = $vars['status']; + } + else { + $vars['unpublished'] = FALSE; + } + // Zebra striping. + if ($vars['id'] == 1) { + $vars['classes_array'][] = 'first'; + } + if ($vars['id'] == $vars['node']->comment_count) { + $vars['classes_array'][] = 'last'; + } + $vars['classes_array'][] = $vars['zebra']; + if ($vars['comment']->uid == 0) { + // Comment is by an anonymous user. + $vars['classes_array'][] = 'comment-by-anonymous'; + } + else { + if ($vars['comment']->uid == $vars['node']->uid) { + // Comment is by the node author. + $vars['classes_array'][] = 'comment-by-node-author'; + } + if ($vars['comment']->uid == $GLOBALS['user']->uid) { + // Comment was posted by current user. + $vars['classes_array'][] = 'comment-by-viewer'; + } + } +} diff --git a/themes/zen/zen-internals/template.conditional-styles.inc b/themes/zen/zen-internals/template.conditional-styles.inc new file mode 100644 index 0000000..fc4d04e --- /dev/null +++ b/themes/zen/zen-internals/template.conditional-styles.inc @@ -0,0 +1,112 @@ +base_theme)) { + $theme_paths[$theme] = conditional_styles_paths_to_basetheme($themes[$theme]->base_theme); + } + $theme_paths[$theme][$theme] = dirname($themes[$theme]->filename); + } + return $theme_paths[$theme]; +} + +/** + * When the theme registry is rebuilt, we also build the conditional stylesheets. + */ +function _conditional_styles_theme($existing, $type, $theme, $path) { + // Process the conditional stylesheets for every active theme. + $themes = list_themes(); + foreach (array_keys($themes) AS $theme) { + // We only need to process active themes. + if ($themes[$theme]->status || $GLOBALS['theme'] == $theme) { + $paths = conditional_styles_paths_to_basetheme($theme); + + // Grab all the conditional stylesheets. + $stylesheets = array(); + // Start with the base theme and travel up the chain to the active theme. + foreach ($paths AS $theme_name => $path) { + // Look at the conditional-stylesheets defined in the theme's .info file. + if (!empty($themes[$theme_name]->info['conditional-stylesheets'])) { + foreach ($themes[$theme_name]->info['conditional-stylesheets'] AS $condition => $css) { + // Allow the theme to override its base themes' styles. + foreach ($css AS $media => $files) { + foreach ($files AS $file) { + $stylesheets[$condition][$media][$file] = $path; + } + } + } + } + } + // Render the stylesheets to link elements. + $conditional_styles = $conditional_styles_rtl = ''; + if (!empty($stylesheets)) { + $query_string = '?'. substr(variable_get('css_js_query_string', '0'), 0, 1); + $base_path = base_path(); + foreach ($stylesheets AS $condition => $css) { + // Each condition requires its own set of links. + $output = $output_rtl = ''; + foreach ($css AS $media => $files) { + foreach ($files AS $file => $path) { + // Don't allow non-existent stylesheets to clutter the logs with 404. + if (file_exists("./$path/$file")) { + $link = "\n"; + $output .= $link; + $output_rtl .= $link; + $file_rtl = str_replace('.css', '-rtl.css', $file); + if (file_exists("./$path/$file_rtl")) { + $output_rtl .= "\n"; + } + } + } + } + if ($output) { + $conditional_styles .= "\n"; + $conditional_styles_rtl .= "\n"; + } + } + } + // Save the stylesheets for later retrieval. + if ($conditional_styles) { + if (db_is_active()) { + variable_set('conditional_styles_' . $theme, $conditional_styles); + variable_set('conditional_styles_' . $theme . '_rtl', $conditional_styles_rtl); + } + else { + $GLOBALS['conf']['conditional_styles_' . $theme] = $conditional_styles; + $GLOBALS['conf']['conditional_styles_' . $theme . '_rtl'] = $conditional_styles_rtl; + } + } + elseif (db_is_active()) { + variable_del('conditional_styles_' . $theme); + variable_del('conditional_styles_' . $theme . '_rtl'); + } + } + } + + // Return nothing. + return array(); +} diff --git a/themes/zen/zen-internals/template.theme-registry.inc b/themes/zen/zen-internals/template.theme-registry.inc new file mode 100644 index 0000000..b6fdf4c --- /dev/null +++ b/themes/zen/zen-internals/template.theme-registry.inc @@ -0,0 +1,137 @@ +extremely important to turn off this feature on production websites.', array('!link' => url('admin/build/themes/settings/' . $GLOBALS['theme']))), 'warning', FALSE); + } + + // Keep track of all the base themes. + static $base_themes = array(); + $base_themes[] = $theme; + + // Add a "process" phase to come after the "preprocess" functions. + if ($type == 'theme') { + foreach (array_keys($existing) as $hook) { + // Normally, preprocess functions are added to the registry after + // HOOK_theme() returns, but if we add them first, they won't be re-added. + if (function_exists($theme . '_preprocess')) { + $existing[$hook]['preprocess functions'][] = $theme . '_preprocess'; + } + if (function_exists($theme . '_preprocess_' . $hook)) { + $existing[$hook]['preprocess functions'][] = $theme . '_preprocess_' . $hook; + } + // Add base theme process functions. + foreach ($base_themes as $base_theme) { + if (function_exists($base_theme . '_process')) { + $existing[$hook]['preprocess functions'][] = $base_theme . '_process'; + } + if (function_exists($base_theme . '_process_' . $hook)) { + $existing[$hook]['preprocess functions'][] = $base_theme . '_process_' . $hook; + } + } + // Add the theme process functions. + if (function_exists($theme . '_process')) { + $existing[$hook]['preprocess functions'][] = $theme . '_process'; + } + if (function_exists($theme . '_process_' . $hook)) { + $existing[$hook]['preprocess functions'][] = $theme . '_process_' . $hook; + } + } + } + + // Manipulations only to be done by the base theme. + if ($theme == 'zen') { + // Insert zen_show_blocks_discovery() before template_preprocess_page(). + $existing['page']['preprocess functions'] = array_merge(array('zen_show_blocks_discovery'), $existing['page']['preprocess functions']); + + // Allow theme hook suggestions on theme_links. + $existing['links']['pattern'] = 'links__'; + + // The base theme registers region.tpl.php. + $templates = array( + 'region' => array( + 'arguments' => array('elements' => NULL), + 'pattern' => 'region_', + 'path' => drupal_get_path('theme', 'zen') . '/templates', + 'template' => 'region', + // drupal_find_theme_templates() requires this, so manually add it. + 'include files' => array(), + ), + ); + // We have to manually find template suggestions since phptemplate_theme() + // is in charge of that, but runs before zen_theme(). + $templates += drupal_find_theme_templates($templates, '.tpl.php', $path); + // We manually register the preprocess and process functions, since Drupal + // won't auto-register template_preprocess or process functions. + foreach (array_keys($templates) as $key) { + $templates[$key]['preprocess functions'] = array( + 'template_preprocess', + 'zen_preprocess', + 'zen_preprocess_region', + 'zen_process', + ); + } + return $templates; + } + + // Else return nothing. + return array(); +} + +/** + * Return the theme settings' default values from the .info and save them into the database. + * + * @param $theme + * The name of theme. + */ +function zen_theme_get_default_settings($theme) { + $themes = list_themes(); + + // Get the default values from the .info file. + $defaults = !empty($themes[$theme]->info['settings']) ? $themes[$theme]->info['settings'] : array(); + + if (!module_exists('domain_theme') && !empty($defaults)) { + // Merge the defaults with the theme settings saved in the database. + $settings = array_merge($defaults, variable_get('theme_'. $theme .'_settings', array())); + // Save the settings back to the database. + if (db_is_active()) { + variable_set('theme_'. $theme .'_settings', $settings); + } + else { + $GLOBALS['conf']['theme_'. $theme .'_settings'] = $settings; + } + // If the active theme has been loaded, force refresh of Drupal internals. + if (!empty($GLOBALS['theme_key'])) { + theme_get_setting('', TRUE); + } + } + + // Return the default settings. + return $defaults; +} diff --git a/themes/zen/zen-internals/template.zen.inc b/themes/zen/zen-internals/template.zen.inc new file mode 100644 index 0000000..390f6c7 --- /dev/null +++ b/themes/zen/zen-internals/template.zen.inc @@ -0,0 +1,41 @@ + + + +IE_STYLES; +} diff --git a/themes/zen/zen.info b/themes/zen/zen.info new file mode 100644 index 0000000..829b5aa --- /dev/null +++ b/themes/zen/zen.info @@ -0,0 +1,49 @@ +name = Zen +description = Zen sub-themes are the ultimate starting themes for Drupal 6. Read the online docs or the included README-FIRST.txt on how to create a theme with Zen. + +screenshot = zen-internals/screenshot.png + +core = 6.x +engine = phptemplate + +regions[sidebar_first] = First sidebar +regions[sidebar_second] = Second sidebar +regions[navigation] = Navigation bar +regions[highlight] = Highlighted content +regions[content_top] = Content top +regions[content_bottom] = Content bottom +regions[header] = Header +regions[footer] = Footer +regions[page_closure] = Page closure + +features[] = logo +features[] = name +features[] = slogan +features[] = mission +features[] = node_user_picture +features[] = comment_user_picture +features[] = search +features[] = favicon +features[] = primary_links +features[] = secondary_links + + ; Set the default settings to be used in theme-settings.php +settings[zen_block_editing] = 1 +settings[zen_breadcrumb] = yes +settings[zen_breadcrumb_separator] = ' › ' +settings[zen_breadcrumb_home] = 1 +settings[zen_breadcrumb_trailing] = 1 +settings[zen_breadcrumb_title] = 0 +settings[zen_layout] = zen-columns-liquid +settings[zen_rebuild_registry] = 0 +settings[zen_wireframes] = 0 + + ; Panels 3 layouts +plugins[panels][layouts] = layouts + +; Information added by drupal.org packaging script on 2011-04-05 +version = "6.x-2.1" +core = "6.x" +project = "zen" +datestamp = "1302017816" +