summaryrefslogtreecommitdiffstats
path: root/skins
diff options
context:
space:
mode:
authorNicolas Lécureuil <neoclust@mageia.org>2017-04-19 18:12:02 +0200
committerNicolas Lécureuil <neoclust@mageia.org>2017-04-19 18:12:02 +0200
commitac52ece6babf5fe0f2a4c6e2e5424adefea289b7 (patch)
tree95146fefd1e5130a9d9015a8140d9e4f0e2123e1 /skins
parentae1690690271c651ba9f9c01006fc7002eb5aac4 (diff)
downloadmediawiki-ac52ece6babf5fe0f2a4c6e2e5424adefea289b7.tar
mediawiki-ac52ece6babf5fe0f2a4c6e2e5424adefea289b7.tar.gz
mediawiki-ac52ece6babf5fe0f2a4c6e2e5424adefea289b7.tar.bz2
mediawiki-ac52ece6babf5fe0f2a4c6e2e5424adefea289b7.tar.xz
mediawiki-ac52ece6babf5fe0f2a4c6e2e5424adefea289b7.zip
Add Cavendish theme
Diffstat (limited to 'skins')
-rw-r--r--skins/Cavendish/COPYING339
-rw-r--r--skins/Cavendish/Cavendish.i18n.php17
-rw-r--r--skins/Cavendish/Cavendish.php14
-rw-r--r--skins/Cavendish/Cavendish.skin.php229
-rw-r--r--skins/Cavendish/Gruntfile.js20
-rw-r--r--skins/Cavendish/README.md4
-rw-r--r--skins/Cavendish/SkinCavendish.php228
-rw-r--r--skins/Cavendish/composer.json10
-rw-r--r--skins/Cavendish/i18n/en.json9
-rw-r--r--skins/Cavendish/resources/IE60Fixes.css126
-rw-r--r--skins/Cavendish/resources/IE70Fixes.css97
-rw-r--r--skins/Cavendish/resources/README28
-rw-r--r--skins/Cavendish/resources/babel.css134
-rw-r--r--skins/Cavendish/resources/cavendish.css2412
-rw-r--r--skins/Cavendish/resources/colors/blue.css80
-rw-r--r--skins/Cavendish/resources/colors/brown.css91
-rw-r--r--skins/Cavendish/resources/colors/green.css80
-rw-r--r--skins/Cavendish/resources/config.php14
-rw-r--r--skins/Cavendish/resources/extensions.css335
-rw-r--r--skins/Cavendish/resources/header.css9
-rw-r--r--skins/Cavendish/resources/images/audio.pngbin0 -> 1464 bytes
-rw-r--r--skins/Cavendish/resources/images/body_back.gifbin0 -> 526 bytes
-rw-r--r--skins/Cavendish/resources/images/bullet.gifbin0 -> 50 bytes
-rw-r--r--skins/Cavendish/resources/images/document.pngbin0 -> 1130 bytes
-rw-r--r--skins/Cavendish/resources/images/envelope.pngbin0 -> 1242 bytes
-rw-r--r--skins/Cavendish/resources/images/external.pngbin0 -> 1428 bytes
-rw-r--r--skins/Cavendish/resources/images/folder.pngbin0 -> 1213 bytes
-rw-r--r--skins/Cavendish/resources/images/headbg.jpgbin0 -> 7881 bytes
-rw-r--r--skins/Cavendish/resources/images/header_logo.gifbin0 -> 5162 bytes
-rw-r--r--skins/Cavendish/resources/images/key-point_bl.gifbin0 -> 102 bytes
-rw-r--r--skins/Cavendish/resources/images/key-point_tl.gifbin0 -> 103 bytes
-rw-r--r--skins/Cavendish/resources/images/locked.pngbin0 -> 1261 bytes
-rw-r--r--skins/Cavendish/resources/images/magnify-clip.pngbin0 -> 237 bytes
-rw-r--r--skins/Cavendish/resources/images/minus.pngbin0 -> 1209 bytes
-rw-r--r--skins/Cavendish/resources/images/newspaper.pngbin0 -> 1170 bytes
-rw-r--r--skins/Cavendish/resources/images/plus.pngbin0 -> 1241 bytes
-rw-r--r--skins/Cavendish/resources/images/required.gifbin0 -> 47 bytes
-rw-r--r--skins/Cavendish/resources/images/speech-bubble-left-4.pngbin0 -> 1323 bytes
-rw-r--r--skins/Cavendish/resources/images/subsite_back.gifbin0 -> 791 bytes
-rw-r--r--skins/Cavendish/resources/images/subsite_back.pngbin0 -> 248 bytes
-rw-r--r--skins/Cavendish/resources/images/subsite_mozilla-org.gifbin0 -> 2098 bytes
-rw-r--r--skins/Cavendish/resources/images/top-left.pngbin0 -> 281 bytes
-rw-r--r--skins/Cavendish/resources/images/top-mid.pngbin0 -> 163 bytes
-rw-r--r--skins/Cavendish/resources/images/top-right.pngbin0 -> 266 bytes
-rw-r--r--skins/Cavendish/resources/images/user.gifbin0 -> 932 bytes
-rw-r--r--skins/Cavendish/resources/images/video.pngbin0 -> 1200 bytes
-rw-r--r--skins/Cavendish/resources/images/wiki-indexed.pngbin0 -> 8205 bytes
-rw-r--r--skins/Cavendish/resources/images/wiki.pngbin0 -> 23064 bytes
-rw-r--r--skins/Cavendish/resources/images/wiki_header_logo.gifbin0 -> 4974 bytes
-rw-r--r--skins/Cavendish/resources/print.css62
-rw-r--r--skins/Cavendish/resources/rtl.css216
-rw-r--r--skins/Cavendish/resources/style.php36
-rw-r--r--skins/Cavendish/skin.json45
53 files changed, 4635 insertions, 0 deletions
diff --git a/skins/Cavendish/COPYING b/skins/Cavendish/COPYING
new file mode 100644
index 0000000..d159169
--- /dev/null
+++ b/skins/Cavendish/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser 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
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/skins/Cavendish/Cavendish.i18n.php b/skins/Cavendish/Cavendish.i18n.php
new file mode 100644
index 0000000..4bf8700
--- /dev/null
+++ b/skins/Cavendish/Cavendish.i18n.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Internationalization file for skin My Skin.
+ *
+ * @file
+ * @ingroup Skins
+ */
+
+$messages = array();
+
+/** English
+ * @author DaSch
+ */
+$messages['en'] = array(
+ 'cavendish' => "Cavendish",
+ 'cavendish-desc' => "Mozilla cavendish theme. Modified by DaSch for MW 1.19 and WeCoWi. Loosely based on the cavendish style by Gabriel Wicke.",
+);
diff --git a/skins/Cavendish/Cavendish.php b/skins/Cavendish/Cavendish.php
new file mode 100644
index 0000000..4fdd0d4
--- /dev/null
+++ b/skins/Cavendish/Cavendish.php
@@ -0,0 +1,14 @@
+<?php
+
+if ( function_exists( 'wfLoadSkin' ) ) {
+ wfLoadSkin( 'Cavendish' );
+ // Keep i18n globals so mergeMessageFileList.php doesn't break
+ $wgMessagesDirs['Modern'] = __DIR__ . '/i18n';
+ /* wfWarn(
+ 'Deprecated PHP entry point used for Modern skin. Please use wfLoadSkin instead, ' .
+ 'see https://www.mediawiki.org/wiki/Extension_registration for more details.'
+ ); */
+ return true;
+} else {
+ die( 'This version of the Modern skin requires MediaWiki 1.25+' );
+}
diff --git a/skins/Cavendish/Cavendish.skin.php b/skins/Cavendish/Cavendish.skin.php
new file mode 100644
index 0000000..25372db
--- /dev/null
+++ b/skins/Cavendish/Cavendish.skin.php
@@ -0,0 +1,229 @@
+<?php
+class SkinCavendish extends SkinTemplate {
+ /** Using cavendish. */
+
+ var $skinname = 'cavendish', $stylename = 'cavendish',
+ $template = 'CavendishTemplate', $useHeadElement = true;
+
+ /**
+ * @param $out OutputPage object
+ */
+ function setupSkinUserCss( OutputPage $out ) {
+ global $wgHandheldStyle, $wgStyleVersion, $wgJsMimeType, $wgStylePath, $wgVersion, $wgLogo;
+ parent::setupSkinUserCss( $out );
+ $out->addModuleStyles( "skins.cavendish" );
+ if( $wgHandheldStyle ) {
+ // Currently in testing... try 'chick/main.css'
+ $out->addStyle( $wgHandheldStyle, 'handheld' );
+ }
+ $out->addStyle( 'cavendish/IE60Fixes.css', 'screen', 'IE 6' );
+ $out->addStyle( 'cavendish/IE70Fixes.css', 'screen', 'IE 7' );
+
+ $out->addStyle( 'cavendish/rtl.css', 'screen', '', 'rtl' );
+
+ /* README for details */
+ include('cavendish/config.php');
+
+ $out->addStyle( 'cavendish/colors/'. $cavendishColor .'.css', 'screen' );
+
+ if ($cavendishExtensionCSS) {
+ $out->addStyle( 'cavendish/extensions.css', 'screen' );
+ }
+ $out->addStyle( 'cavendish/style.php', 'screen' );
+ }
+
+}
+
+class CavendishTemplate extends MonoBookTemplate {
+ var $skin;
+ /**
+ * Template filter callback for cavendish skin.
+ * Takes an associative array of data set from a SkinTemplate-based
+ * class, and a wrapper for MediaWiki's localization database, and
+ * outputs a formatted page.
+ *
+ * @access private
+ */
+ function execute() {
+ global $wgRequest, $wgLang;
+ include('cavendish/config.php');
+ $QRURL = htmlentities( $this->getSkin()->getTitle()->getFullURL()).$cavendishQRurladd;
+ $styleversion = '2.3.4';
+ $this->skin = $skin = $this->data['skin'];
+ $action = $wgRequest->getText( 'action' );
+ if ( $action == "") {
+ $action = "view";
+ }
+ // Suppress warnings to prevent notices about missing indexes in $this->data
+ wfSuppressWarnings();
+ // HTML starts here
+ $this->html( 'headelement' );
+?>
+<div id="internal"></div>
+<!-- Skin-Version: <?php echo $styleversion ?> //Please leave this for bugtracking purpose//-->
+<div id="globalWrapper" class="<?php echo $action ?>">
+ <div id="p-personal" class="portlet">
+ <h5><?php $this->msg('personaltools') ?></h5>
+ <div class="pBody">
+ <ul <?php $this->html('userlangattributes') ?>>
+ <?php foreach($this->data['personal_urls'] as $key => $item) {?>
+
+ <li id="<?php echo Sanitizer::escapeId( "pt-$key" ) ?>" class="<?php
+ if ($item['active']) { ?>active <?php } ?>top-nav-element">
+ <span class="top-nav-left">&nbsp;</span>
+ <a class="top-nav-mid <?php echo htmlspecialchars($item['class']) ?>"
+ href="<?php echo htmlspecialchars($item['href']) ?>">
+ <?php echo htmlspecialchars($item['text']) ?></a>
+ <span class="top-nav-right">&nbsp;</span></li>
+ <?php
+ } ?>
+
+ </ul>
+ </div>
+ </div>
+ <div id="header">
+ <a name="top" id="contentTop"></a>
+ <h6>
+ <a
+ href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>"
+ title="<?php $this->msg('mainpage') ?>"><?php $this->text('pagetitle') ?></a></h6>
+ <div id="p-cactions" class="portlet"><ul>
+<?php foreach($this->data['content_actions'] as $key => $tab) {
+ echo '
+ <li id="' . Sanitizer::escapeId( "ca-$key" ) . '"';
+ if( $tab['class'] ) {
+ echo ' class="'.htmlspecialchars($tab['class']).'"';
+ }
+ echo '><a href="'.htmlspecialchars($tab['href']).'"';
+ # We don't want to give the watch tab an accesskey if the
+ # page is being edited, because that conflicts with the
+ # accesskey on the watch checkbox. We also don't want to
+ # give the edit tab an accesskey, because that's fairly su-
+ # perfluous and conflicts with an accesskey (Ctrl-E) often
+ # used for editing in Safari.
+ if( in_array( $action, array( 'edit', 'submit' ) ) && in_array( $key, array( 'edit', 'watch', 'unwatch' ) ) ) {
+ echo $skin->tooltip( "ca-$key" );
+ }
+ else {
+ echo $skin->tooltip( "ca-$key" );
+ }
+ echo '>'.htmlspecialchars($tab['text']).'</a></li>';
+ }
+
+ ?>
+ </ul></div>
+ <?php
+ // TODO Searchbox Handling
+ $this->searchBox(); ?>
+ </div>
+ <div id="mBody">
+ <div id="side">
+ <div id="nav">
+<?php //sidebar
+ $sidebar = $this->data['sidebar'];
+ if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true;
+ if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
+ if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
+ foreach ($sidebar as $boxName => $cont) {
+ // TODO Searchbox Handling
+ if ( $boxName == 'SEARCH' ) {
+// $this->searchBox();
+ } elseif ( $boxName == 'TOOLBOX' ) {
+ $this->toolbox();
+ } elseif ( $boxName == 'LANGUAGES' ) {
+ $this->languageBox();
+ } else {
+ $this->customBox( $boxName, $cont );
+ }
+ }
+ ?>
+</div>
+</div>
+ </div><!-- end of SIDE div -->
+ <div id="column-content">
+ <div id="content">
+ <a id="top"></a>
+ <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?>
+ <h1 id="firstHeading" class="firstHeading"><?php $this->html('title') ?></h1>
+ <div id="bodyContent">
+ <h3 id="siteSub"><?php $this->msg('tagline') ?></h3>
+ <div id="contentSub"><?php $this->html('subtitle') ?></div>
+ <?php if($this->data['undelete']) { ?><div id="contentSub2"><?php $this->html('undelete') ?></div><?php } ?>
+ <?php if($this->data['newtalk'] ) { ?><div class="usermessage"><?php $this->html('newtalk') ?></div><?php } ?>
+ <?php if($this->data['showjumplinks']) { ?><div id="jump-to-nav"><?php $this->msg('jumpto') ?> <a href="#column-one"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div><?php } ?>
+ <!-- start content -->
+ <?php $this->html('bodytext') ?>
+ <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
+ <!-- end content -->
+ <?php if($this->data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?>
+ </div>
+ </div><!-- end of MAINCONTENT div -->
+ </div>
+ </div><!-- end of MBODY div -->
+ <div class="visualClear"></div>
+ <div id="footer">
+ <table>
+ <tr>
+ <td rowspan="2" class="f-iconsection">
+ <?php //copytight icon
+ if($this->data['copyrightico']) { ?><div id="f-copyrightico"><?php $this->html('copyrightico') ?></div><?php } ?>
+ </td>
+ <td align="center">
+<?php // Generate additional footer links
+ $footerlinks = array(
+ 'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
+ 'privacy', 'about', 'disclaimer', 'tagline',
+ );
+ $validFooterLinks = array();
+ foreach( $footerlinks as $aLink ) {
+ if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
+ $validFooterLinks[] = $aLink;
+ }
+ }
+ if ( count( $validFooterLinks ) > 0 ) {
+?> <ul id="f-list">
+<?php
+ foreach( $validFooterLinks as $aLink ) {
+ if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
+?> <li id="f-<?php echo$aLink?>"><?php $this->html($aLink) ?></li>
+<?php }
+ }
+ }
+?></ul></td>
+ <td rowspan="2" class="f-iconsection">
+ <?php
+ $validFooterIcons = $this->getFooterIcons( "nocopyright" );
+ foreach ( $validFooterIcons as $blockName => $footerIcons ) { ?>
+ <div id="f-<?php echo htmlspecialchars($blockName); ?>ico"><?php
+ foreach ( $footerIcons as $icon ) {
+ echo $this->skin->makeFooterIcon( $icon );
+ }
+ }
+ ?></div>
+ <?php
+ // QR-Code added on option
+ if ($cavendishQRCode) { ?>
+ <div id="qrcode">
+ <a href="http://goqr.me/" style="border:0 none;cursor:default;text-decoration:none;"><img src="http://api.qrserver.com/v1/create-qr-code/?data=<?php echo $QRURL; ?>&#38;size=160x160" height=80 width=80 alt="QR Code generator" title="" /></a>
+ </div>
+ <?php } ?>
+ </td>
+ </tr>
+ <tr>
+ <td><div id="skin-info">
+ Mozilla Cavendish Theme based on Cavendish style by Gabriel Wicke modified by <a href="http://www.dasch-tour.de" title="DaSch-Tour Blog" target="_blank">DaSch</a> for the <a href="http://www.wecowi.de/" title="Web Community Wiki">Web Community Wiki</a><br/>
+ <a href="https://github.com/DaSchTour/Cavendish" title="github projectpage">github Projectpage</a> &ndash; <a href="https://github.com/DaSchTour/Cavendish/issues" title="Bug reporting at github">Report Bug</a> &ndash; Skin-Version: <?php echo $styleversion ?>
+ </div></td>
+ </tr>
+ </table>
+ </div><!-- end of the FOOTER div -->
+</div><!-- end of the CONTAINER div -->
+<!-- scripts and debugging information -->
+<?php
+
+ $this->printTrail();
+ echo Html::closeElement( 'body' );
+ echo Html::closeElement( 'html' );
+ wfRestoreWarnings();
+ }
+} // end of class
diff --git a/skins/Cavendish/Gruntfile.js b/skins/Cavendish/Gruntfile.js
new file mode 100644
index 0000000..9c56558
--- /dev/null
+++ b/skins/Cavendish/Gruntfile.js
@@ -0,0 +1,20 @@
+/*jshint node:true */
+module.exports = function ( grunt ) {
+ grunt.loadNpmTasks( 'grunt-banana-checker' );
+ grunt.loadNpmTasks( 'grunt-jsonlint' );
+
+ grunt.initConfig( {
+ banana: {
+ all: 'i18n/'
+ },
+ jsonlint: {
+ all: [
+ '**/*.json',
+ '!node_modules/**'
+ ]
+ }
+ } );
+
+ grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] );
+ grunt.registerTask( 'default', 'test' );
+};
diff --git a/skins/Cavendish/README.md b/skins/Cavendish/README.md
new file mode 100644
index 0000000..85738d8
--- /dev/null
+++ b/skins/Cavendish/README.md
@@ -0,0 +1,4 @@
+# Cavendish
+Cavendish MediaWiki Skin
+
+This version of the skin is compatible with MW 1.27
diff --git a/skins/Cavendish/SkinCavendish.php b/skins/Cavendish/SkinCavendish.php
new file mode 100644
index 0000000..f9cb3bf
--- /dev/null
+++ b/skins/Cavendish/SkinCavendish.php
@@ -0,0 +1,228 @@
+<?php
+class SkinCavendish extends SkinTemplate {
+ /** Using cavendish. */
+
+ var $skinname = 'cavendish', $stylename = 'cavendish',
+ $template = 'CavendishTemplate', $useHeadElement = true;
+
+ /**
+ * @param $out OutputPage object
+ */
+ function setupSkinUserCss( OutputPage $out ) {
+ global $wgHandheldStyle, $wgStyleVersion, $wgJsMimeType, $wgStylePath, $wgVersion, $wgLogo;
+ parent::setupSkinUserCss( $out );
+ $out->addModuleStyles( "skins.cavendish" );
+ if( $wgHandheldStyle ) {
+ // Currently in testing... try 'chick/main.css'
+ $out->addStyle( $wgHandheldStyle, 'handheld' );
+ }
+ $out->addStyle( 'Cavendish/resources/IE60Fixes.css', 'screen', 'IE 6' );
+ $out->addStyle( 'Cavendish/resources/IE70Fixes.css', 'screen', 'IE 7' );
+
+ $out->addStyle( 'Cavendish/resources/rtl.css', 'screen', '', 'rtl' );
+
+ /* README for details */
+ include('resources/config.php');
+
+ $out->addStyle( 'Cavendish/resources/colors/'. $cavendishColor .'.css', 'screen' );
+
+ if ($cavendishExtensionCSS) {
+ $out->addStyle( 'Cavendish/resources/extensions.css', 'screen' );
+ }
+ $out->addStyle( 'Cavendish/resources/style.php', 'screen' );
+ }
+
+}
+
+class CavendishTemplate extends MonoBookTemplate {
+ var $skin;
+ /**
+ * Template filter callback for cavendish skin.
+ * Takes an associative array of data set from a SkinTemplate-based
+ * class, and a wrapper for MediaWiki's localization database, and
+ * outputs a formatted page.
+ *
+ * @access private
+ */
+ function execute() {
+ global $wgRequest, $wgLang;
+ include('resources/config.php');
+ $QRURL = htmlentities( $this->getSkin()->getTitle()->getFullURL()).$cavendishQRurladd;
+ $styleversion = '2.3.5';
+ $this->skin = $skin = $this->data['skin'];
+ $action = $wgRequest->getText( 'action' );
+ if ( $action == "") {
+ $action = "view";
+ }
+ // Suppress warnings to prevent notices about missing indexes in $this->data
+ wfSuppressWarnings();
+ // HTML starts here
+ $this->html( 'headelement' );
+?>
+<div id="internal"></div>
+<!-- Skin-Version: <?php echo $styleversion ?> //Please leave this for bugtracking purpose//-->
+<div id="globalWrapper" class="<?php echo $action ?>">
+ <div id="p-personal" class="portlet">
+ <h5><?php $this->msg('personaltools') ?></h5>
+ <div class="pBody">
+ <ul <?php $this->html('userlangattributes') ?>>
+ <?php foreach($this->data['personal_urls'] as $key => $item) {?>
+
+ <li id="<?php echo Sanitizer::escapeId( "pt-$key" ) ?>" class="<?php
+ if ($item['active']) { ?>active <?php } ?>top-nav-element">
+ <span class="top-nav-left">&nbsp;</span>
+ <a class="top-nav-mid <?php echo htmlspecialchars($item['class']) ?>"
+ href="<?php echo htmlspecialchars($item['href']) ?>">
+ <?php echo htmlspecialchars($item['text']) ?></a>
+ <span class="top-nav-right">&nbsp;</span></li>
+ <?php
+ } ?>
+
+ </ul>
+ </div>
+ </div>
+ <div id="header">
+ <a name="top" id="contentTop"></a>
+ <h6>
+ <a
+ href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>"
+ title="<?php $this->msg('mainpage') ?>"><?php $this->text('pagetitle') ?></a></h6>
+ <div id="p-cactions" class="portlet"><ul>
+<?php foreach($this->data['content_actions'] as $key => $tab) {
+ echo '
+ <li id="' . Sanitizer::escapeId( "ca-$key" ) . '"';
+ if( $tab['class'] ) {
+ echo ' class="'.htmlspecialchars($tab['class']).'"';
+ }
+ echo '><a href="'.htmlspecialchars($tab['href']).'"';
+ # We don't want to give the watch tab an accesskey if the
+ # page is being edited, because that conflicts with the
+ # accesskey on the watch checkbox. We also don't want to
+ # give the edit tab an accesskey, because that's fairly su-
+ # perfluous and conflicts with an accesskey (Ctrl-E) often
+ # used for editing in Safari.
+ if( in_array( $action, array( 'edit', 'submit' ) ) && in_array( $key, array( 'edit', 'watch', 'unwatch' ) ) ) {
+ echo Linker::tooltip( 'ca-'.$key );
+ }
+ else {
+ echo Linker::tooltip( 'ca-'.$key );
+ }
+ echo '>'.htmlspecialchars($tab['text']).'</a></li>';
+ }
+ ?>
+ </ul></div>
+ <?php
+ // TODO Searchbox Handling
+ $this->searchBox(); ?>
+ </div>
+ <div id="mBody">
+ <div id="side">
+ <div id="nav">
+<?php //sidebar
+ $sidebar = $this->data['sidebar'];
+ if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true;
+ if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
+ if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
+ foreach ($sidebar as $boxName => $cont) {
+ // TODO Searchbox Handling
+ if ( $boxName == 'SEARCH' ) {
+// $this->searchBox();
+ } elseif ( $boxName == 'TOOLBOX' ) {
+ $this->toolbox();
+ } elseif ( $boxName == 'LANGUAGES' ) {
+ $this->languageBox();
+ } else {
+ $this->customBox( $boxName, $cont );
+ }
+ }
+ ?>
+</div>
+</div>
+ </div><!-- end of SIDE div -->
+ <div id="column-content">
+ <div id="content">
+ <a id="top"></a>
+ <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?>
+ <h1 id="firstHeading" class="firstHeading"><?php $this->html('title') ?></h1>
+ <div id="bodyContent">
+ <h3 id="siteSub"><?php $this->msg('tagline') ?></h3>
+ <div id="contentSub"><?php $this->html('subtitle') ?></div>
+ <?php if($this->data['undelete']) { ?><div id="contentSub2"><?php $this->html('undelete') ?></div><?php } ?>
+ <?php if($this->data['newtalk'] ) { ?><div class="usermessage"><?php $this->html('newtalk') ?></div><?php } ?>
+ <?php if($this->data['showjumplinks']) { ?><div id="jump-to-nav"><?php $this->msg('jumpto') ?> <a href="#column-one"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div><?php } ?>
+ <!-- start content -->
+ <?php $this->html('bodytext') ?>
+ <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
+ <!-- end content -->
+ <?php if($this->data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?>
+ </div>
+ </div><!-- end of MAINCONTENT div -->
+ </div>
+ </div><!-- end of MBODY div -->
+ <div class="visualClear"></div>
+ <div id="footer">
+ <table>
+ <tr>
+ <td rowspan="2" class="f-iconsection">
+ <?php //copytight icon
+ if($this->data['copyrightico']) { ?><div id="f-copyrightico"><?php $this->html('copyrightico') ?></div><?php } ?>
+ </td>
+ <td align="center">
+<?php // Generate additional footer links
+ $footerlinks = array(
+ 'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
+ 'privacy', 'about', 'disclaimer', 'tagline',
+ );
+ $validFooterLinks = array();
+ foreach( $footerlinks as $aLink ) {
+ if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
+ $validFooterLinks[] = $aLink;
+ }
+ }
+ if ( count( $validFooterLinks ) > 0 ) {
+?> <ul id="f-list">
+<?php
+ foreach( $validFooterLinks as $aLink ) {
+ if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
+?> <li id="f-<?php echo$aLink?>"><?php $this->html($aLink) ?></li>
+<?php }
+ }
+ }
+?></ul></td>
+ <td rowspan="2" class="f-iconsection">
+ <?php
+ $validFooterIcons = $this->getFooterIcons( "nocopyright" );
+ foreach ( $validFooterIcons as $blockName => $footerIcons ) { ?>
+ <div id="f-<?php echo htmlspecialchars($blockName); ?>ico"><?php
+ foreach ( $footerIcons as $icon ) {
+ echo $this->skin->makeFooterIcon( $icon );
+ }
+ }
+ ?></div>
+ <?php
+ // QR-Code added on option
+ if ($cavendishQRCode) { ?>
+ <div id="qrcode">
+ <a href="http://goqr.me/" style="border:0 none;cursor:default;text-decoration:none;"><img src="http://api.qrserver.com/v1/create-qr-code/?data=<?php echo $QRURL; ?>&#38;size=160x160" height=80 width=80 alt="QR Code generator" title="" /></a>
+ </div>
+ <?php } ?>
+ </td>
+ </tr>
+ <tr>
+ <td><div id="skin-info">
+ Mozilla Cavendish Theme based on Cavendish style by Gabriel Wicke modified by <a href="http://www.dasch-tour.de" title="DaSch-Tour Blog" target="_blank">DaSch</a> for the <a href="http://www.wecowi.de/" title="Web Community Wiki">Web Community Wiki</a><br/>
+ <a href="https://github.com/DaSchTour/Cavendish" title="github projectpage">github Projectpage</a> &ndash; <a href="https://github.com/DaSchTour/Cavendish/issues" title="Bug reporting at github">Report Bug</a> &ndash; Skin-Version: <?php echo $styleversion ?>
+ </div></td>
+ </tr>
+ </table>
+ </div><!-- end of the FOOTER div -->
+</div><!-- end of the CONTAINER div -->
+<!-- scripts and debugging information -->
+<?php
+
+ $this->printTrail();
+ echo Html::closeElement( 'body' );
+ echo Html::closeElement( 'html' );
+ wfRestoreWarnings();
+ }
+} // end of class
diff --git a/skins/Cavendish/composer.json b/skins/Cavendish/composer.json
new file mode 100644
index 0000000..fd380fb
--- /dev/null
+++ b/skins/Cavendish/composer.json
@@ -0,0 +1,10 @@
+{
+ "require-dev": {
+ "jakub-onderka/php-parallel-lint": "0.9"
+ },
+ "scripts": {
+ "test": [
+ "parallel-lint . --exclude node_modules --exclude vendor"
+ ]
+ }
+}
diff --git a/skins/Cavendish/i18n/en.json b/skins/Cavendish/i18n/en.json
new file mode 100644
index 0000000..a8a8c8b
--- /dev/null
+++ b/skins/Cavendish/i18n/en.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": ["DaSch"]
+ },
+ "cavendish.css": "/* CSS placed here will affect users of the Modern skin */",
+ "cavendish.js": "/* Any JavaScript here will be loaded for users using the Cavendish skin */",
+ "skinname-cavendish": "Cavendish",
+ "cavendish-desc": "Mozilla cavendish theme. Modified by DaSch for MW 1.19 and WeCoWi. Loosely based on the cavendish style by Gabriel Wicke."
+}
diff --git a/skins/Cavendish/resources/IE60Fixes.css b/skins/Cavendish/resources/IE60Fixes.css
new file mode 100644
index 0000000..1b8376e
--- /dev/null
+++ b/skins/Cavendish/resources/IE60Fixes.css
@@ -0,0 +1,126 @@
+/* 6.0 - only fixes */
+/* content area */
+/* workaround for various ie float bugs */
+div#column-content {
+ float: none;
+ margin-left: 0;
+ height: 1%;
+}
+
+div#column-content div#content {
+ margin-left: 12.2em;
+ margin-top: 3em;
+ height: 1%;
+}
+
+.rtl div#column-content div#content {
+ margin-right: 12.2em;
+ margin-left: 0;
+}
+
+div#column-one {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 4;
+}
+
+.rtl div#column-one {
+ left: auto;
+ right: 0;
+}
+
+div#footer {
+ margin-left: 13.6em;
+ border-left: 1px solid #fabd23;
+}
+
+.rtl div#footer {
+ margin-left: 0;
+ margin-right: 13.6em;
+ border-left: none;
+ border-right: 1px solid #fabd23;
+}
+
+/* float/negative margin brokenness */
+* html div#footer {
+ margin-top: 0;
+}
+
+* html div#column-content {
+ display: inline;
+ margin-bottom: 0;
+}
+
+/* the tabs */
+
+#p-cactions {
+ z-index: 3;
+}
+
+#p-cactions li {
+ padding-bottom: 0 !important;
+ border: none;
+ background-color: transparent;
+ cursor: default;
+ float: none !important;
+}
+
+#p-cactions li a {
+ display: inline-block !important;
+ vertical-align: top;
+ padding-bottom: 0;
+ border: solid #aaa;
+ border-width: 1px 1px 0;
+}
+
+#p-cactions li.selected a {
+ border-color: #fabd23;
+ padding-bottom: 0.17em;
+}
+
+#p-cactions li a:hover {
+ padding-bottom: 0.17em;
+}
+
+#p-navigation a {
+ display: inline-block;
+ width: 100%;
+}
+
+#portal-personaltools {
+ padding-bottom: 0.1em;
+}
+
+.rtl a.feedlink {
+ background-position: right;
+ padding-right: 0;
+ padding-left: 16px;
+}
+
+/* show the hand */
+#p-logo a,
+#p-logo a:hover {
+ cursor: pointer;
+}
+
+div.visualClear {
+ width: 100%;
+ line-height: 0;
+}
+
+textarea {
+ width: 96%;
+}
+
+#catlinks,
+div.tright,
+div.tleft {
+ position: relative;
+}
+
+/* bug 12846 */
+body.rtl #preftoc a, body.rtl #preftoc a:active {
+ float: left;
+}
+
diff --git a/skins/Cavendish/resources/IE70Fixes.css b/skins/Cavendish/resources/IE70Fixes.css
new file mode 100644
index 0000000..2eba9b8
--- /dev/null
+++ b/skins/Cavendish/resources/IE70Fixes.css
@@ -0,0 +1,97 @@
+/* 7.0 - only fixes */
+/* content area */
+/* workaround for various ie float bugs */
+
+/* This bit is needed to make links clickable... WTF */
+div#column-content div#content {
+ margin-left: 12.2em;
+ margin-top: 3em;
+ height: 1%;
+}
+
+.rtl div#column-content div#content {
+ margin-right: 12.2em;
+ margin-left: 0;
+}
+
+.rtl div#column-one {
+ /* For some reason it tries to inherit the padding-top into every div,
+ * and I can't figure out how to get it back off.
+ * Margin works correctly for this use, though.
+ */
+ padding-top: 0;
+ margin-top: 160px;
+}
+
+/* These elements also have padding-left: 20px; in main.css, but in RTL mode this is flipped.
+ * That's good in normal browsers, but in IE7 it needs to not be flipped for some daft reason.
+ * Also clear the right margin (originally margin-left: 1em)
+ */
+li#pt-userpage, li#pt-anonuserpage, li#pt-login {
+ padding-left: 20px;
+ margin-right: 0;
+}
+
+.rtl a.feedlink {
+ background-position: right;
+ padding-right: 0;
+ padding-left: 16px;
+}
+
+/* the tabs */
+
+#p-cactions {
+ z-index: 3;
+}
+
+#p-cactions li {
+ padding-bottom: 0 !important;
+ border: none;
+ background-color: transparent;
+ cursor: default;
+ float: none !important;
+}
+
+#p-cactions li a {
+ display: inline-block !important;
+ vertical-align: top;
+ padding-bottom: 0;
+ border: solid #aaa;
+ border-width: 1px 1px 0;
+}
+
+#p-cactions li.selected a {
+ border-color: #fabd23;
+ padding-bottom: 0.17em;
+}
+
+#p-cactions li a:hover {
+ padding-bottom: 0.17em;
+}
+
+#p-navigation a {
+ display: inline-block;
+ width: 100%;
+}
+
+#portal-personaltools {
+ padding-bottom: 0.1em;
+}
+
+textarea {
+ width: 96%;
+}
+
+/*
+#catlinks,
+div.tright,
+div.tleft {
+ position: relative;
+}
+*/
+
+div#footer li {
+ /* Work around bug with inline <li> tags with right margins and nowrap */
+ margin-right: 0;
+}
+
diff --git a/skins/Cavendish/resources/README b/skins/Cavendish/resources/README
new file mode 100644
index 0000000..6067c52
--- /dev/null
+++ b/skins/Cavendish/resources/README
@@ -0,0 +1,28 @@
+There are different options that can be set in cavendish/config.php
+
+$cavendishLogoURL
+Link to the Logo that should be displayed in the header
+
+$cavendishLogoWidth
+width of the logo as a number in px
+
+$cavendishLogoHeight
+height of the logo as a number in px
+
+$cavendishLogoMargin
+offset on top of the logo
+
+$cavendishSiteWith
+fixed width of the content area, if not set it's dynamic (default is false, that means dynamic)
+
+$cavendishExtensionCSS
+set this to false if you do not want to use Cavendish CSS for Extensions (default is true)
+
+$cavendishQRCode
+adding QR-Code to printpage (default is true)
+
+$cavendishQRurladd
+used to track campaign for entry through QR Code, default is for Piwik (default="?pk_campaign=qr-code")
+
+$cavendishcolor
+select color of the theme: blue, brown or green (default is blue)
diff --git a/skins/Cavendish/resources/babel.css b/skins/Cavendish/resources/babel.css
new file mode 100644
index 0000000..8a822a8
--- /dev/null
+++ b/skins/Cavendish/resources/babel.css
@@ -0,0 +1,134 @@
+/**
+* Stylesheet for Babel extension.
+*
+* This should be added to your MediaWiki:Common.css page when installing this
+* extension and should not be modified. You may modify the CSS code on the
+* MediaWiki:Common.css page to adjust colours etc.
+*
+* @addtogroup Extensions
+*/
+
+/* Babel wrapper layout. */
+table.mw-babel-wrapper {
+ width: 238px;
+ float: right;
+ clear: right;
+ border-style: solid;
+ margin-right: 0;
+ border-width: 1px;
+ border-color: #99B3FF;
+}
+
+/* Babel box layout. */
+div.mw-babel-box {
+ float: left;
+ clear: left;
+ margin: 1px;
+}
+
+div.mw-babel-box table {
+ width: 238px;
+}
+
+div.mw-babel-box table th {
+ width: 238px;
+ width: 45px;
+ height: 45px;
+ font-size: 14pt;
+ font-family: monospace;
+}
+
+div.mw-babel-box table td {
+ font-size: 8pt;
+ padding: 4pt;
+ line-height: 1.25em;
+}
+
+/* Babel box colours. */
+div.mw-babel-box-0 {
+ border: solid #B7B7B7 1px;
+}
+
+div.mw-babel-box-1 {
+ border: solid #C0C8FF 1px;
+}
+
+div.mw-babel-box-2 {
+ border: solid #77E0E8 1px;
+}
+
+div.mw-babel-box-3 {
+ border: solid #99B3FF 1px;
+}
+
+div.mw-babel-box-4 {
+ border: solid #CCCC00 1px;
+}
+
+div.mw-babel-box-5 {
+ border: solid #F99C99 1px;
+}
+
+div.mw-babel-box-N {
+ border: solid #6EF7A7 1px;
+}
+
+div.mw-babel-box-0 table th {
+ background-color: #B7B7B7;
+}
+
+div.mw-babel-box-1 table th {
+ background-color: #C0C8FF;
+}
+
+div.mw-babel-box-2 table th {
+ background-color: #77E0E8;
+}
+
+div.mw-babel-box-3 table th {
+ background-color: #99B3FF;
+}
+
+div.mw-babel-box-4 table th {
+ background-color: #CCCC00;
+}
+
+div.mw-babel-box-5 table th {
+ background-color: #F99C99;
+}
+
+div.mw-babel-box-N table th{
+ background-color: #6EF7A7;
+}
+
+div.mw-babel-box-0 table {
+ background-color: #E8E8E8;
+}
+
+div.mw-babel-box-1 table {
+ background-color: #F0F8FF;
+}
+
+div.mw-babel-box-2 table {
+ background-color: #D0F8FF;
+}
+
+div.mw-babel-box-3 table {
+ background-color: #E0E8FF;
+}
+
+div.mw-babel-box-4 table {
+ background-color: #FFFF99;
+}
+
+div.mw-babel-box-5 table {
+ background-color: #F9CBC9;
+}
+
+div.mw-babel-box-N table {
+ background-color: #C5FCDC;
+}
+
+.babel-box td.babel-footer {
+ text-align: center;
+} \ No newline at end of file
diff --git a/skins/Cavendish/resources/cavendish.css b/skins/Cavendish/resources/cavendish.css
new file mode 100644
index 0000000..b3d9538
--- /dev/null
+++ b/skins/Cavendish/resources/cavendish.css
@@ -0,0 +1,2412 @@
+/*
+ ** MediaWiki 'Cavendish' style sheet for CSS2-capable browsers.
+ ** Copyright Mozilla Foundation - http://www.mozilla.org/
+ ** License: GPL (http://www.gnu.org/copyleft/gpl.html)
+ **
+ ** Loosely based on the monobook style by Gabriel Wicke
+ */
+
+/* mozilla.org Cavendish Content Styles
+ * Design by SilverOrange
+ * Markup Reference classes organized by fantasai
+ */
+
+/* Suggested order:
+ * display
+ * list-style
+ * position
+ * float
+ * clear
+ * width
+ * height
+ * margin
+ * padding
+ * border
+ * background
+ * color
+ * font
+ * text-decoration
+ * text-align
+ * vertical-align
+ * white-space
+ * other text
+ * content
+ *
+ */
+
+/* TOC:
+ Body
+ Random HTML Styles
+ Forms
+ General Structure
+ Navigation
+ Quotations
+ Comments and Other Asides
+ Emphasis
+ Computers - General
+ Code
+ Examples and Figures
+ Q and A (FAQ)
+ Tables
+ Meta
+
+ Body */
+#column-content, #side {
+ background: #FFF;
+ line-height: 1.7em;
+ /* value other than 'normal' needed for WinIE */
+ color: #000;
+}
+#column-content #content {
+ margin-top: 0;
+}
+
+.deepLevel #column-content {
+ line-height: 1.4em;
+}
+
+/* Random HTML Styles */
+hr {
+ height: 1px;
+ background-color: #AAA;
+ color: #AAA;
+ margin: .2em 0 .2em 0;
+ border: 1px solid #FFF;
+ border-top: 1px solid #CCC;
+}
+/* General Structure */
+body {
+ font-family: Verdana, "DejaVu Sans", sans-serif;
+ background: url("images/subsite_back.png") repeat-x;
+ background-color: #FFF;
+ margin-top: 0;
+ margin-left: 5%;
+ margin-right: 5%;
+ margin-bottom: 20px;
+ padding-top: 0;
+ color: #000;
+}
+/* Headings */
+h1, h2, h3, h4, h5, h6 {
+ color: black;
+ background: none;
+ font-weight: normal;
+ margin-top: 0.5em;
+ margin-bottom: 0.3em;
+ padding-top: .5em;
+ padding-bottom: .17em;
+ border-bottom: 1px solid #aaa;
+ overflow: hidden;
+}
+
+h3, h4, h5, h6 {
+ border-bottom: none;
+ font-weight: bold;
+}
+
+h1 .editsection, h2 .editsection, h3 .editsection, h4 .editsection, h5 .editsection, h6 .editsection, h1 .mw-editsection, h2 .mw-editsection, h3 .mw-editsection, h4 .mw-editsection, h5 .mw-editsection, h6 .mw-editsection {
+ font-size: 7pt;
+ font-weight: normal;
+}
+
+.editsection, .mw-editsection {
+ float: right;
+ line-height: inherit;
+}
+
+h1 {
+ font-size: 16pt;
+ font-weight: normal;
+}
+
+#firstHeading {
+ margin-top: 0.1em;
+ padding-top: 0.2em;
+ text-shadow: 0.1em 0.1em 0.2em gray;
+}
+
+h2 {
+ font-size: 14pt;
+ font-weight: normal;
+}
+
+h3 {
+ font-size: 13pt;
+}
+
+h4 {
+ font-size: 11.5pt;
+}
+
+h5 {
+ font-size: 10.5pt;
+}
+
+h6 {
+ font-size: 10pt;
+ border: 0;
+}
+
+caption {
+ font-size: 1.3em;
+ font-weight: bold;
+ margin-bottom: 2pt;
+}
+
+/* Navigation */
+:link, a {
+ text-decoration: none;
+ color: #039;
+}
+
+:visited {
+ color: #5a3696;
+ text-decoration: none;
+}
+
+:link :hover, :visited :hover, a:hover {
+ color: #333;
+ text-decoration: underline;
+}
+:link :focus, :visited :focus, a:focus {
+ color: #333;
+ text-decoration: underline;
+}
+
+:link :active, a:active {
+ color: #faa700;
+}
+
+a.stub {
+ color: #772233;
+}
+
+a.new, #p-personal a.new {
+ color: #ba0000;
+}
+
+a.new:visited, #p-personal a.new:visited {
+ color: #a55858;
+}
+
+/* Comments and other Asides */
+.note {
+ color: #666;
+ font-style: normal;
+}
+
+.remark {
+ color: #666;
+}
+
+.sidenote {
+ border: #666;
+}
+
+.key-point:before {
+ line-height: 0.1;
+ font-size: 1px;
+ background: transparent url("../../images/key-point_tr.gif") no-repeat top right;
+ margin: -15px -15px 0 -15px;
+ height: 15px;
+ display: block;
+ border: none;
+ content: url("../../images/key-point_tl.gif");
+}
+
+.key-point {
+ background: #e4ecec url("../../images/key-point_back.gif") right repeat-y;
+ padding: 15px;
+ margin-bottom: 1em;
+}
+
+.key-point:after {
+ display: block;
+ clear: both;
+ padding-top: 15px;
+ line-height: 0.1;
+ font-size: 1px;
+ content: url("../../images/key-point_bl.gif");
+ margin: -15px;
+ height: 8px;
+ background: transparent url("../../images/key-point_br.gif") scrollno-repeat bottom right;
+}
+
+.key-point h2, .key-point h3, .key-point h4, .key-point h5 {
+ border: none;
+ margin-top: 0;
+ color: #4C5C5C;
+}
+
+.news dt {
+ font-weight: normal;
+ color: #666;
+}
+
+.news dt a {
+ font-weight: bold;
+}
+
+ul.compact {
+ margin-left: 0;
+ padding-left: 20px;
+}
+/* Emphasis */
+/* Computers - General */
+kbd {
+ background-color: #FAFAFA;
+ border-color: #CCCCCC #CCCCCC white;
+ border-radius: 4px 4px 4px 4px;
+ border-style: solid solid none;
+ border-width: 1px 1px medium;
+ box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px #FFFFFF inset;
+ color: #444444;
+ font-weight: normal;
+ padding: 0 6px;
+ white-space: nowrap;
+}
+
+kbd.command, code.command {
+ color: #6B5839;
+}
+/* Code */
+pre.code {
+ background: #EEECF6;
+}
+
+code > em, code > strong, pre.code > em, pre.code > strong {
+ font-style: normal;
+}
+/* Examples and Figures */
+div.example {
+ border-color: #554FA0;
+}
+
+div.example:before {
+ color: #666;
+}
+/* Q and A (FAQ) */
+ol.faq li a {
+ text-decoration: none;
+ border-bottom: 1px dotted #6C98EE;
+}
+
+ol.faq li a:hover {
+ border-color: #039;
+}
+/* Tables */
+table {
+ line-height: 1.6em;
+}
+
+#content table {
+ border-radius: 6px;
+}
+
+table.data {
+ border-collapse: collapse;
+ margin: 0.5em auto;
+ border: 1px solid;
+}
+
+table.data caption {
+ margin: 1em auto 0.2em;
+ font-size: small;
+ font-style: italic;
+ text-align: center;
+}
+
+table.data th, table.data td {
+ padding: 0.2em;
+ border: 1px solid #ccc;
+ vertical-align: baseline;
+}
+
+table.data tbody th:first-child {
+ text-align: right;
+}
+
+table.data thead th {
+ background: #e4ecec;
+ empty-cells: hide;
+ vertical-align: bottom;
+}
+
+tr.odd {
+ background: #F5F5F5;
+}
+
+table.wikitable {
+ margin-top: 0;
+ margin-bottom: 1em;
+ background-color: #f9f9f9;
+ border-collapse: collapse;
+ empty-cells: show;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #AAA;
+ padding: 0;
+ line-height: 1.6em;
+ border-radius: 6px;
+ /* force width of tables (important for webkit) */
+ table-layout: auto;
+}
+
+table.wikitable th {
+ background-color: #e0e9e9;
+ border: 1px #aaa solid;
+ padding-top: 0.2em;
+ padding-bottom: 0.2em;
+}
+
+table.sortable th {
+ white-space: nowrap;
+}
+
+table.wikitable td {
+ border: 1px #aaa solid;
+ padding: 0.2em;
+}
+
+table.wikitable caption {
+ margin-left: inherit;
+ margin-right: inherit;
+ font-weight: bold;
+}
+
+.mw-datatable {
+ margin-bottom: 1em;
+}
+
+.NavFrame, .BoxenVerschmelzen {
+ border-radius: 6px;
+ box-shadow: 1px 1px 1px grey;
+}
+.NavFrame .wikitable {
+ table-layout: auto;
+}
+
+.BoxenVerschmelzen .NavFrame, .wikitable .NavFrame {
+ border-radius: none;
+ box-shadow: none;
+}
+
+table.infobox {
+ border-radius: 6px;
+ box-shadow: 1px 1px 1px grey;
+}
+/* Meta */
+address {
+ color: #666;
+ text-align: right;
+}
+
+.author {
+ margin-bottom: 1em;
+ text-align: left;
+}
+
+#globalWrapper {
+ margin: 0 auto;
+ font-size: 9.5pt;
+}
+
+#mBody {
+ clear: both;
+ padding: 0;
+ font-size: 9pt;
+}
+
+#side {
+ float: left;
+ width: 15%;
+ margin-bottom: 1em;
+ font-size: 8.5pt;
+}
+
+#column-content {
+ float: right;
+ width: 83%;
+ margin-bottom: 1em;
+}
+
+.nomenu #column-content {
+ float: none;
+ width: 100%;
+}
+
+.bodyleft {
+ float: right !important;
+ width: 75% !important;
+}
+
+#column-content.right {
+ float: left;
+ width: 62%;
+ font-size: 9pt;
+}
+
+#side.right {
+ float: right;
+ width: 35%;
+}
+
+/* Sidebar */
+#getcd {
+ margin: 1em 0 0 45px;
+}
+
+/*accessibility tweaks*/
+.skipLink {
+ position: absolute;
+ left: -999px;
+ width: 990px;
+}
+
+hr.hide {
+ display: none;
+}
+
+/* Header */
+#header {
+ margin-bottom: 1em;
+ position: relative;
+ min-height: 39px;
+ height: 5em;
+ padding: 0;
+ height: 3em;
+ padding: 18px 0;
+}
+
+#p-cactions {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ margin: 0;
+ padding: 0 10px 0 0;
+ overflow: hidden;
+ z-index: 3;
+ white-space: nowrap;
+}
+#p-cactions h5 {
+ display: none;
+}
+#p-cactions .pBody {
+ padding: 0;
+ background-color: transparent;
+ border: none;
+ font-size: 85%;
+ font-weight: bold;
+}
+#p-cactions ul {
+ list-style: none;
+ line-height: 0.8em;
+}
+#p-cactions li {
+ float: left;
+ margin: 0 2px 0 0;
+ padding: 0 6px 0 0;
+ overflow: visible;
+ display: inline;
+ white-space: nowrap;
+ font-size: 7.5pt;
+ border-top-right-radius: 6px;
+ border-top-left-radius: 6px;
+ border-top-width: 2px;
+ border-top-style: solid;
+}
+
+#p-cactions li a {
+ display: block;
+ float: left;
+ margin: 0;
+ padding: 2px 2px 4px 8px;
+ z-index: 0;
+ color: #FFF;
+ border: none;
+ text-decoration: none;
+}
+
+#p-cactions li:hover a, #p-cactions li a:hover {
+ text-decoration: none;
+ border-bottom: 0px;
+}
+
+#p-cactions li.selected, #p-cactions li.selected:hover {
+ border-top-color: #FFC600;
+ background-color: #FFFFFF;
+}
+
+#p-cactions li.selected {
+ border-bottom: 1px solid #FFF;
+ font-weight: bold;
+}
+
+#p-cactions .new a {
+ color: #FFD955;
+}
+
+#p-cactions .hiddenStructure {
+ display: none;
+}
+
+/* offsets to distinguish the tab groups */
+#p-cactions li#ca-talk, #p-cactions li#ca-watch, #p-cactions li#ca-unwatch {
+ margin-right: 1.6em;
+}
+
+#p-cactions li#ca-edit {
+ font-weight: bold;
+}
+
+div#header {
+ clear: both;
+ border-radius: 6px;
+}
+
+#header h6 a {
+ display: block;
+ text-indent: -700em;
+ text-decoration: none;
+ background-size: 100%;
+}
+
+#header h6 {
+ position: absolute;
+ top: 0;
+ left: 0;
+ margin: 0;
+ font-size: 2px;
+ height: 8px;
+ z-index: 100; /* above the UL */
+ padding-left: 5px;
+ overflow: visible;
+}
+
+/* P-Personal */
+#p-personal {
+ margin-bottom: 0;
+}
+
+#p-personal h5 {
+ display: none;
+}
+
+#p-personal .pBody {
+ line-height: 19px;
+ margin-right: 0;
+ margin-left: 0;
+ margin-top: 0;
+ margin-bottom: 1.4em;
+ text-align: right;
+ white-space: nowrap;
+ border: none;
+ z-index: 0;
+ overflow: visible;
+ background: none;
+ padding: 0;
+}
+
+#p-personal .portlet {
+ padding: 0;
+ margin: 0;
+ border: none;
+ z-index: 0;
+ overflow: visible;
+ background: none;
+}
+
+#p-personal .top-nav-element {
+ display: inline;
+ margin: 0;
+ height: 25px;
+ font-size: 10px;
+ padding: 0;
+}
+
+#p-personal .top-nav-left {
+ width: 7px;
+ height: 25px;
+ display: inline;
+ background: url("images/top-left.png") no-repeat;
+ padding-top: 5px;
+ padding-right: 4px;
+ padding-bottom: 8px;
+ margin-left: 3px;
+ margin-right: -1px;
+}
+
+#p-personal .top-nav-right {
+ width: 7px;
+ height: 25px;
+ display: inline;
+ background: url("images/top-right.png") no-repeat;
+ padding-top: 5px;
+ padding-left: 4px;
+ padding-bottom: 8px;
+ margin-left: -1px;
+ margin-right: 3px;
+}
+
+#p-personal .top-nav-mid {
+ text-decoration: none;
+ height: 25px;
+ display: inline;
+ background: url("images/top-mid.png") repeat-x;
+ padding-top: 5px;
+ padding-left: 3px;
+ padding-right: 3px;
+ padding-bottom: 8px;
+ margin-left: -4px;
+ margin-right: -4px;
+ font-size: 10px;
+ text-shadow: 0.1em 0.1em 0.1em gray;
+}
+
+#pt-userpage a, #pt-mytalk a {
+ font-weight: bold;
+}
+
+/* this is the ul contained in the portlet */
+#p-personal ul {
+ border: none;
+ line-height: 22px;
+ color: #2f6fab;
+ margin: 0;
+ text-align: right;
+ list-style: none;
+ z-index: 0;
+ background: none;
+}
+
+/*
+ ** the main content area
+ */
+h3#siteSub {
+ display: none;
+ font-size: 0.75em;
+ color: #aaa;
+}
+
+#contentSub, #contentSub2 {
+ font-size: 8pt;
+ line-height: 1.2em;
+ margin: 0 0 0.8em 0;
+ color: #7d7d7d;
+ width: auto;
+}
+
+#contentSub div, #contentSub2 div {
+ margin-right: 0;
+}
+
+#contentSub2 .breadcrumb {
+ list-style-type: none;
+ margin-left: 0.1em;
+}
+
+#contentSub2 .breadcrumb li {
+ display: inline;
+}
+
+#jump-to-nav {
+ display: none;
+}
+
+span.subpages {
+ display: block;
+}
+
+img {
+ border: none;
+ vertical-align: middle;
+}
+
+p {
+ margin: .4em 0 .5em 0;
+ line-height: 1.6em;
+}
+
+p img {
+ margin: 0;
+}
+
+ul {
+ line-height: 1.6em;
+ list-style-type: square;
+ margin: 0.4em 0 0.4em 1.5em;
+ padding: 0;
+ list-style-image: url("images/bullet.gif");
+ font-weight: normal;
+}
+
+ol {
+ line-height: 1.6em;
+ margin: .3em 0 0 3.2em;
+ padding: 0;
+ list-style-image: none;
+ font-weight: normal;
+}
+
+li {
+ margin-top: 0.2em;
+ margin-bottom: 0.2em;
+}
+
+dt {
+ font-weight: bold;
+ margin-bottom: .1em;
+}
+
+dl {
+ margin-top: .2em;
+ margin-bottom: .5em;
+}
+
+dd {
+ line-height: 1.6em;
+ margin-left: 2em;
+ margin-bottom: .1em;
+}
+
+sup, sub {
+ font-size: 0.8em;
+}
+
+del {
+ text-decoration: line-through;
+}
+
+legend {
+ font-size: 10pt;
+ font-weight: bold;
+ margin-bottom: 0.3em;
+}
+
+fieldset {
+ margin: 1em 0 1em 0;
+ padding: 0 1em 1em;
+ line-height: 1.6em;
+ border-radius: 6px;
+}
+
+fieldset.nested {
+ margin: 0 0 0.5em 0;
+ padding: 0 0.5em 0.5em;
+}
+
+form {
+ border: none;
+ margin: 0;
+}
+
+textarea {
+ width: 100%;
+ padding: .1em;
+}
+
+input.historysubmit {
+ padding: 0 .3em .3em .3em !important;
+ cursor: pointer;
+ height: 1.7em !important;
+ margin-left: 1.6em;
+}
+
+input#wpSummary {
+ width: 80%;
+}
+
+input {
+ margin: 2px;
+ vertical-align: middle;
+}
+
+input[type="submit"] {
+ cursor: pointer;
+}
+
+iframe {
+ border-width: 0;
+}
+
+/* nested elements */
+td > p, td > div {
+ margin: 0;
+ padding: 0;
+}
+
+#wpSave {
+ font-weight: bold;
+}
+
+select {
+ vertical-align: middle;
+}
+
+abbr, acronym, .explain {
+ border-bottom: 1px dotted black;
+ color: black;
+ background: none;
+ cursor: help;
+}
+
+q, blockquote {
+ font-family: "Palatino Linotype", Georgia, "DejaVu Serif", serif;
+ font-size: 1em;
+ color: #888888;
+}
+
+/* Code */
+code, pre, tt, kbd, samp {/* override IE6 default */
+ font-size: 1em;
+ overflow: auto;
+ overflow-y: hidden;
+ font-family: Menlo, Monaco, "Courier New", "Nimbus Mono L", monospace, sans-serif;
+}
+
+code, tt {
+ background-color: #f9f9f9;
+ white-space: nowrap;
+}
+
+code.long, tt.long {
+ display: block;
+ margin: 0.1em 1em;
+ white-space: normal;
+}
+
+pre {
+ border: 1px dashed #2f6fab;
+ color: black;
+ background-color: #f9f9f9;
+ line-height: 1.1em;
+ padding: 15px 20px 15px 20px;
+ border-radius: 6px;
+}
+
+pre.code {
+ overflow: auto;
+ margin: 1em .5em;
+ padding: .2em;
+ border: solid 1px;
+}
+
+pre.code .remark {
+ font-size: 1em;
+ font-style: italic;
+}
+
+/* turn off content generation */
+pre.code .remark:before, pre.code .remark:after, pre.code .note:before {
+ content: "";
+}
+
+/* user notification thing */
+.usermessage {
+ background-color: #ffce7b;
+ border: 1px solid #ffa500;
+ color: black;
+ font-weight: bold;
+ margin: 2em 0em 1em 0em;
+ padding: 0.5em 1em;
+ vertical-align: middle;
+ border-radius: 6px;
+}
+
+#sitenotice {
+ text-align: center;
+ font-size: 95%;
+ padding: 0.9em 0.9em 0 0.9em;
+ margin-top: -1em;
+ margin-bottom: 0.5em;
+}
+
+#sitenotice p {
+ margin: 0;
+ padding: 0;
+}
+
+#catlinks, .catlinks {
+ border: 1px solid #AAA;
+ background-color: #F9F9F9;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-right: 5px;
+ padding-left: 5px;
+ margin-top: 1em;
+ clear: both;
+ border-radius: 6px;
+ box-shadow: 1px 1px 1px grey;
+}
+
+/* emulate center */
+.center {
+ width: 100%;
+ text-align: center;
+}
+
+* .center * {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+/* small for tables and similar */
+.small, .small * {
+ font-size: 94%;
+}
+
+table.small {
+ font-size: 100%
+}
+
+/*
+ ** content styles
+ */
+.successbox, .errorbox, .warningbox {
+ border-width: 1px;
+ border-radius: 6px;
+ margin-bottom: 1em;
+ padding-left: 5em;
+ padding-right: 5em;
+ text-align: center;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.successbox p, .errorbox p, .warningbox p {
+ width: 100%;
+}
+
+.successbox {
+ color: green;
+ box-shadow: 0 0 2px green;
+}
+
+.errorbox {
+ color: red;
+ background-color: #FFDDDD;
+ box-shadow: 0 0 2px red;
+}
+
+.warningbox {
+ color: #FFA500;
+ box-shadow: 0 0 2px #FFA500;
+}
+
+.mw-warning {
+ margin-left: 50px;
+ margin-right: 50px;
+ text-align: center;
+}
+
+#editpage-copywarn {
+ margin-top: 2em;
+ margin-bottom: 2em;
+ border-radius: 6px;
+ padding: 0.5em;
+}
+
+#mw-anon-edit-warning, .mw-warning-with-logexcerpt, .mw-editinginterface {
+ border-radius: 6px;
+ border-width: 1px;
+}
+
+/* TOC */
+
+#toc, .toc, .mw-warning {
+ border: 1px solid #AAA;
+ background-color: #F9F9F9;
+ padding: 5px;
+ font-size: 9pt;
+ border-radius: 6px;
+ box-shadow: 1px 1px 1px grey;
+}
+
+#toc, .toc {
+ display: inline-block;
+}
+
+#toctitle h2 {
+ display: inline;
+ border: none;
+ padding: 0;
+ font-size: 9.5pt;
+ font-weight: bold;
+}
+
+#toc #toctitle, .toc #toctitle, #toc .toctitle, .toc .toctitle {
+ text-align: center;
+}
+
+#toc ul, .toc ul {
+ list-style-type: none;
+ list-style-image: none;
+ margin-left: 0;
+ padding-left: 0;
+ text-align: left;
+}
+
+#toc ul ul, .toc ul ul {
+ margin: 0 0 0 2em;
+}
+
+#toctitle .toctoggle {
+ font-size: 8pt;
+}
+
+.toccolours {
+ background-color: #F9F9F9;
+ border: 1px solid #AAAAAA;
+ font-size: 95%;
+ padding: 5px;
+}
+
+/* Colors RC */
+
+.mw-plusminus-pos {
+ color: #006400; /* darkgreen */
+}
+
+.mw-plusminus-null {
+ color: #aaaaaa; /* gray */
+}
+
+.mw-plusminus-neg {
+ color: #8b0000; /* darkred */
+}
+
+#content table.mw-enhanced-rc {
+ margin-bottom: 0.1em;
+}
+
+.skin-cavendish td.mw-enhanced-rc {
+ font-family: Verdana, "DejaVu Sans", sans-serif;
+ font-weight: normal;
+}
+
+.skin-cavendish table.mw-enhanced-rc th, .skin-cavendish table.mw-enhanced-rc td {
+ vertical-align: middle;
+}
+
+td.mw-enhanced-rc .newpage, td.mw-enhanced-rc .minoredit, td.mw-enhanced-rc .botedit {
+ font-weight: normal;
+}
+
+.skin-cavendish .mw-icon-arrow-expanded, .skin-cavendish .mw-collapsible-arrow.mw-collapsible-toggle-expanded {
+ background: url("images/minus.png") no-repeat scroll left center transparent;
+ background-size: 12px 12px;
+}
+
+.skin-cavendish .mw-icon-arrow-collapsed, .skin-cavendish .mw-collapsible-arrow.mw-collapsible-toggle-collapsed {
+ background: url("images/plus.png") no-repeat scroll left center transparent;
+ background-size: 12px 12px;
+}
+
+/* Preferences */
+
+#mw-pref-clear {
+ clear: both;
+}
+
+.mw-prefs-buttons a {
+ padding-top: 4px;
+ vertical-align: middle;
+}
+
+table#mw_metadata {
+ margin-left: 0;
+ margin-top: 1em;
+}
+
+table#mw-prefixindex-list-table {
+ width: 100%
+}
+
+#mw-hidden-catlinks {
+ font-style: italic;
+ color: gray;
+}
+
+span.comment {
+ color: gray;
+}
+
+.mw-specialpagecached {
+ font-style: italic;
+}
+
+table.filehistory {
+ overflow: scroll;
+ width: 100%;
+ font-size: 0.9em;
+}
+
+/* images */
+img.floatright, img.float-right {
+ clear: right;
+ float: right;
+ position: relative;
+ margin-bottom: 0.5em;
+ margin-left: 0.5em;
+ padding: 5px;
+}
+
+img div.floatright p, img div.float-right p {
+ font-style: italic;
+}
+
+img.floatleft, img.float-left {
+ float: left;
+ clear: left;
+ position: relative;
+ margin-right: 0.5em;
+ margin-bottom: 0.5em;
+ padding: 5px;
+}
+
+img div.floatleft p, img div.float-left p {
+ font-style: italic;
+}
+
+/* thumbnails */
+div.thumb {
+ margin-bottom: 0.5em;
+ border-style: solid;
+ border-color: white;
+ width: auto;
+}
+
+div.thumb div {
+ background-color: #f9f9f9;
+ font-size: 8.5pt;
+ text-align: center;
+ overflow: hidden;
+}
+
+div.thumbinner {
+ border: 1px solid #cccccc;
+ padding: 3px !important;
+ background-color: #f9f9f9;
+ font-size: 8.5pt;
+ text-align: center;
+ overflow: hidden;
+ border-radius: 6px;
+}
+
+li.gallerybox div.thumb {
+ border-radius: 6px;
+ box-shadow: 1px 1px 1px grey;
+}
+
+div.thumb div a img {
+ /* border: 1px solid #cccccc; */
+}
+
+div.thumbinner div.thumbcaption {
+ border: none;
+ text-align: left;
+ line-height: 1.4em;
+ padding: 0.3em 0 0.1em 0.2em;
+}
+
+div.magnify {
+ float: right;
+ border: none !important;
+ background: none !important;
+}
+
+div.magnify a, div.magnify img {
+ display: block;
+ border: none !important;
+ background: none !important;
+}
+
+div.tright, .float-right, .floatright {
+ clear: right;
+ float: right;
+ position: relative;
+ margin-left: 0.7em;
+ margin-right: 0;
+}
+
+table.float-right, table.floatright {
+ margin-left: 0.7em;
+ margin-right: 0;
+}
+
+div.tleft, .float-left, .floatleft {
+ float: left;
+ clear: left;
+ position: relative;
+ margin-right: 0.7em;
+ margin-left: 0;
+}
+
+table.float-left, table.floatleft {
+ margin-right: 0.7em;
+ margin-left: 0;
+}
+
+.urlexpansion, .hiddenstructure {
+ display: none;
+}
+
+img.tex {
+ vertical-align: middle;
+ margin-left: auto;
+ margin-right: auto;
+ text-align: center;
+}
+
+span.texhtml {
+ font-family: "Palatino Linotype", Georgia, "DejaVu Serif", serif;
+}
+
+/*
+ ** classes for special content elements like town boxes
+ ** intended to be referenced directly from the wiki src
+
+ ** User styles
+
+ table standards */
+table.rimage {
+ float: right;
+ position: relative;
+ margin-left: 1em;
+ margin-bottom: 1em;
+ text-align: center;
+}
+
+.toccolours {
+ border: 1px solid #aaaaaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+}
+
+div.townbox {
+ position: relative;
+ float: right;
+ background: white;
+ margin-left: 1em;
+ border: 1px solid gray;
+ padding: 0.3em;
+ width: 200px;
+ overflow: hidden;
+ clear: right;
+}
+
+div.townbox dl {
+ padding: 0;
+ margin: 0 0 0.3em 0;
+ font-size: 96%;
+}
+
+div.townbox dl dt {
+ background: none;
+ margin: 0.4em 0 0 0;
+}
+
+div.townbox dl dd {
+ margin: 0.1em 0 0 1.1em;
+ background-color: #f3f3f3;
+}
+
+div.sideBox {
+ border-radius: 6px;
+}
+
+/*
+ ** edit views etc
+ */
+.special li {
+ line-height: 1.4em;
+ margin: 0;
+ padding: 0;
+}
+
+/* Page history styling */ /* the auto-generated edit comments */
+.autocomment {
+ color: gray;
+}
+
+#pagehistory span.user {
+ margin-left: 1.4em;
+ margin-right: 0.4em;
+}
+
+#pagehistory span.minor {
+ font-weight: bold;
+}
+
+#pagehistory li {
+ border: 1px solid white;
+ padding: 2px;
+ border-radius: 6px;
+}
+
+#pagehistory li:focus, #pagehistory li:hover {
+ box-shadow: 0 0 2px inset;
+}
+
+#pagehistory li.selected {
+ background-color: #f9f9f9;
+ border: 1px dashed #aaaaaa;
+ border-radius: 6px;
+}
+
+/*
+ ** Diff rendering
+ */
+table.diff {
+ background: white;
+}
+
+td.diff-otitle {
+ background: #ffffff;
+}
+
+td.diff-ntitle {
+ background: #ffffff;
+}
+
+td.diff-addedline {
+ background: #ccffcc;
+ font-size: smaller;
+}
+
+td.diff-deletedline {
+ background: #ffffaa;
+ font-size: smaller;
+}
+
+td.diff-context {
+ background: #eeeeee;
+ font-size: smaller;
+}
+
+span.diffchange {
+ color: red;
+ font-weight: bold;
+}
+
+/*
+ ** keep the whitespace in front of the ^=, hides rule from konqueror
+ ** this is css3, the validator doesn't like it when validating as css2
+ */
+#bodyContent a.external, #bodyContent a[href ^="gopher://"] {
+ background: url("images/external.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+.rtl #bodyContent a.external, .rtl #bodyContent a[href ^="gopher://"] {
+ background-image: url("images/external.png");
+}
+
+#bodyContent a[href ^="https://"], .link-https {
+ background: url("images/locked.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+#bodyContent a[href ^="mailto:"], .link-mailto {
+ background: url("images/envelope.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+#bodyContent a[href ^="news://"] {
+ background: url("images/newspaper.png") center right no-repeat;
+ ppadding-right: 16px;
+ background-size: 12px 12px;
+}
+
+#bodyContent a[href ^="ftp://"], .link-ftp {
+ background: url("images/folder.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+#bodyContent a[href ^="irc://"], #bodyContent a.extiw[href ^="irc://"], .link-irc {
+ background: url("images/speech-bubble-left-4.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+#bodyContent a[href ^="skype:"], .link-skype {
+ background: url("images/speech-bubble-left-4.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+#bodyContent a.external[href $=".ogg"], #bodyContent a.external[href $=".ogg"], #bodyContent a.external[href
+$=".mid"], #bodyContent a.external[href $=".mid"], #bodyContent a.external[href
+$=".midi"], #bodyContent a.external[href $=".midi"], #bodyContent a.external[href
+$=".mp3"], #bodyContent a.external[href $=".mp3"], #bodyContent a.external[href
+$=".wav"], #bodyContent a.external[href $=".wav"], #bodyContent a.external[href
+$=".wma"], #bodyContent a.external[href $=".wma"], #bodyContent a.external[href $=".m4a"], .link-audio {
+ background: url("images/audio.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+#bodyContent a.external[href $=".ogm"], #bodyContent a.external[href $=".ogm"], #bodyContent a.external[href
+$=".avi"], #bodyContent a.external[href $=".avi"], #bodyContent a.external[href
+$=".mpeg"], #bodyContent a.external[href $=".mpeg"], #bodyContent a.external[href
+$=".mpg"], #bodyContent a.external[href $=".mpg"], #bodyContent a.external[href $=".m4v"], .link-video {
+ background: url("images/video.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+#bodyContent a.external[href $=".pdf"], #bodyContent a.external[href $=".doc"], #bodyContent a.external[href
+$=".docx"], #bodyContent a.external[href $=".odt"], .link-document {
+ background: url("images/document.png") center right no-repeat;
+ padding-right: 16px;
+ background-size: 12px 12px;
+}
+
+/* for rtl wikis */
+.rtl #bodyContent a.external {
+ background-position: left;
+ padding-right: 0;
+}
+
+.rtl a.feedlink {
+ background-position: right;
+ padding-right: 16px;
+ padding-left: 0;
+}
+
+/* correction for ltr wikis */
+.ltr #bodyContent a.external {
+ padding-left: 0;
+}
+
+/* disable interwiki styling */
+#bodyContent a.extiw, #bodyContent a.extiw:active {
+ color: #36b;
+ background: none;
+ padding: 0;
+}
+
+#bodyContent a.external {
+ color: #36b;
+}
+
+/* this can be used in the content area to switch off
+ special external link styling */
+#bodyContent .plainlinks a {
+ background: none !important;
+ padding: 0 !important;
+}
+
+/*
+ ** Structural Elements
+ */
+
+/*
+ ** general portlet styles (elements in the quickbar)
+ */
+.portlet {
+ border: none;
+ margin: 0 0 0.5em 0em;
+ float: none;
+ padding: 0;
+ /* width: 11.6em; */
+ overflow: hidden;
+}
+
+.portlet h4 {
+ font-size: 95%;
+ font-weight: normal;
+ white-space: nowrap;
+}
+
+.portlet h5, .portlet h3 {
+ background: transparent;
+ padding: 0em 1em 0em 0.5em;
+ /* text-transform: lowercase; */
+ display: inline;
+ font-size: 8.5pt;
+ height: 1em;
+ font-weight: normal;
+ white-space: nowrap;
+ border-bottom: none;
+}
+
+.portlet h6 {
+ background: #ffae2e;
+ border: 1px solid #2f6fab;
+ border-style: solid solid none solid;
+ padding: 0em 1em 0em 1em;
+ text-transform: lowercase;
+ display: block;
+ font-size: 1em;
+ height: 1.2em;
+ font-weight: normal;
+ white-space: nowrap;
+}
+
+.pbody {
+ font-size: 95%;
+ background: white;
+ border-collapse: collapse;
+ border: 1px solid #aaaaaa;
+ padding: 0 0.8em 0.3em 0.5em;
+}
+
+/*
+ .portlet h1,.portlet h2,.portlet h3,.portlet h4 {
+ margin: 0;
+ padding: 0;
+ }
+ */
+
+/* Sidebar */
+
+#nav {
+ padding-top: 6px;
+ padding-bottom: 6px;
+ padding-left: 0;
+ padding-right: 0;
+ line-height: 1em;
+ margin-bottom: 1em;
+ margin-left: 0;
+ margin-right: 0;
+ margin-top: 0;
+ border-radius: 6px;
+ box-shadow: 1px 1px 1px grey;
+}
+
+#nav ul {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+#nav div, #nav li {
+ display: inline;
+ padding: 0;
+ margin: 0;
+}
+
+#nav div span {/* used for un-linked menu items */
+ display: block;
+ padding: 6px 10px;
+ font-weight: bold;
+ color: #666;
+ text-shadow: 0.1em 0.1em 0.1em gray;
+}
+
+#nav div h5, #nav div h3 {
+ display: block;
+ padding: 0.5em 1.0em;
+ font-weight: bold;
+ color: #666;
+ text-shadow: 0.1em 0.1em 0.1em gray;
+ font-size: 8.5pt;
+}
+
+#nav div span#configParent, #nav div span #configuration {
+ display: inline;
+ font-weight: normal;
+ padding: 0;
+}
+
+#nav div li span {/* used for un-linked menu items */
+ padding: 4px 8px 4px 20px;
+}
+
+#nav div li a {
+ padding: 6px 8px 6px 20px;
+}
+
+#nav div#searchBody {
+ text-align: center;
+}
+
+#nav div form#searchform {
+ background: #EDF2F2;
+}
+#nav div form#searchform input#searchInput {
+ margin-top: 1em;
+}
+#nav div form#searchform input {
+ margin-bottom: 1em;
+}
+
+#oN {
+ background-color: #E0E9E9;
+}
+
+#oN :hover {
+ background-color: #C6DCDC;
+}
+
+#nav div ul #feedlinks {
+ display: block;
+ padding: 8px 20px;
+ text-decoration: none;
+ background: #EDF2F2;
+ border-bottom: 1px solid #ddd;
+ border-top: 1px solid #fff;
+ border-right: 1px solid #ddd;
+}
+
+#nav div ul #feedlinks #feed-rss, #nav div ul #feedlinks #feed-atom {
+ display: inline;
+ background: #EDF2F2;
+ border: none;
+ padding: 0px;
+}
+
+#nav div ul #feedlinks a.feedlink:last-child:before {
+ content: " | ";
+}
+
+#nav div ul #feedlinks #feed-atom:only-child:before {
+ content: "";
+}
+
+#nav .pBody {
+ border: none;
+}
+
+#nav div a, #nav div span.social {
+ display: block;
+ padding: 8px 10px;
+ text-decoration: none;
+ text-shadow: 0.1em 0.1em 0.1em gray;
+ font-size: 8pt;
+}
+
+/*
+ ** Logo properties
+ */
+#p-logo {
+ z-index: 3;
+ position: absolute; /*needed to use z-index */
+ top: 0;
+ left: 0;
+ height: 155px;
+ width: 12em;
+ overflow: visible;
+}
+
+#p-logo h5 {
+ display: none;
+}
+
+#p-logo a, #p-logo a:hover {
+ display: block;
+ height: 155px;
+ width: 12.2em;
+ background-repeat: no-repeat;
+ background-position: 35% 50% !important;
+ text-decoration: none;
+}
+
+/*
+ ** the navigation portlet
+ */
+#p-nav {
+ position: relative;
+ z-index: 3;
+}
+
+/*
+ ** Search portlet
+ */
+#header form {
+ display: inline;
+}
+
+#header #p-search {
+ position: absolute;
+ font-size: 10pt;
+ top: 0;
+ right: 0;
+ padding: 15px 20px 0 0;
+ margin: 0; /* need for IE Mac */
+ text-align: right; /* need for IE Mac */
+ white-space: nowrap; /* for Opera */
+}
+
+#header #p-search h3 {
+ display: none;
+}
+
+#searchBody {
+ display: inline;
+}
+
+#header form label, #header label {
+ font-size: 8.5pt;
+}
+
+#header form input {
+ font-size: 8.5pt;
+}
+
+#header form #submit {
+ font-size: 8.5pt;
+ background: #6A7389;
+ color: #fff;
+ padding: 1px 4px;
+ border-right: 1px solid #283043;
+ border-bottom: 1px solid #283043;
+ border-top: 1px solid #9097A2;
+ border-left: 1px solid #9097A2;
+}
+
+#header form #searchInput:hover, #header form #searchInput:focus {
+ background: #fff;
+}
+
+#p-search {/* position: relative; */
+ z-index: 3;
+ border-bottom: none;
+}
+
+#p-search .pbody {
+ text-align: center;
+ padding: 0.5em 0.4em 0.4em 0.4em;
+}
+
+#searchform input.searchbutton {
+ margin-top: 1px;
+ font-size: 8.5pt;
+}
+#searchform div {
+ display: inline
+}
+
+#searchgobutton, #searchGoButton {
+ padding-left: .5em;
+ padding-right: .5em;
+ font-weight: bold;
+}
+
+#header form #searchInput {
+ width: 270px;
+ font-size: 8.5pt;
+ padding: 2px;
+ margin: 0 0.5em 0 0.5em;
+ border-radius: 6px;
+ box-shadow: 2px inset;
+}
+
+#searchInputResult {
+ font-size: 8.5pt;
+}
+
+.suggestions {
+ margin-right: 142px;
+}
+
+/*
+ ** the remaining portlets
+ */
+#p-tbx, #p-lang {
+ position: relative;
+ z-index: 3;
+}
+
+/*
+ ** Footer
+ */
+#footer {
+ clear: both;
+ margin-top: 1em;
+ font-size: 7pt;
+ border-top: 1px solid #999;
+ padding-top: 2em;
+ color: #666;
+}
+
+#footer ul {
+ margin: 0 0 1em 0;
+ padding: 0;
+ line-height: 1.6em;
+ list-style: none;
+}
+
+#footer li {
+ margin: 0;
+ white-space: nowrap;
+}
+
+#footer table {
+ width: 100%;
+ text-align: center;
+}
+
+#f-list {
+ width: 70%;
+}
+
+#f-list #f-credits {
+ white-space: normal;
+}
+
+#footer td.f-iconsection {
+ width: 5%;
+ text-align: center;
+ vertical-align: top;
+ padding-right: 1em;
+ white-space: nowrap
+}
+
+#f-list li {
+ list-style: none;
+ list-style-image: none;
+ list-style-type: none;
+}
+
+#footer #f-poweredbyico a, #footer #f-copyrightico a {
+ display: list-item;
+ margin-bottom: 5px;
+ list-style: none;
+ list-style-image: none;
+ list-style-type: none;
+}
+
+#footer p, #footer a {
+ margin: 0.6em 0;
+ display: inline;
+ white-space: nowrap;
+}
+
+#f-about, #f-disclaimer, #f-privacy, #f-viewcount, #f-numberofwatchingusers {
+ display: inline;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+/* js pref toc */
+#preftoc {
+ float: left;
+ margin-right: 1em;
+ margin-left: 0;
+ margin-top: 1em;
+ width: 13em;
+ list-style-image: none;
+ list-style-type: none;
+}
+
+#preftoc li {
+ border: 1px solid #AAA;
+ margin-bottom: 0.9em;
+ padding: 3px;
+ border-radius: 6px;
+ box-shadow: 1px 1px 1px grey;
+}
+
+#preftoc li.selected {
+ font-weight: bold;
+}
+
+#preftoc a, #preftoc a:active {
+ margin: 1px;
+}
+
+#preftoc a:hover, #preftoc a:focus {
+ text-decoration: none;
+ margin: 1px;
+}
+
+#prefcontrol {
+ clear: both;
+ float: left;
+ margin-right: 1em;
+}
+
+div.prefsectiontip {
+ font-size: 95%;
+ margin-top: 1em;
+}
+
+fieldset.operaprefsection {
+ margin-left: 15em
+}
+
+.mainLegend {
+ display: none;
+}
+
+.prefsection {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+
+td.htmlform-tip {
+ font-size: x-small;
+ padding: .2em 2em;
+ color: #666;
+}
+
+td.mw-label {
+ padding-right: 4pt;
+}
+
+/* footer icons need a fixed width */
+* > html #f-poweredbyico, * > html #f-copyrightico {
+ width: 88px;
+}
+
+* > html #mBody, * > html #mBody pre {
+ overflow-x: auto;
+ width: 100%;
+ padding-bottom: 25px;
+}
+/* more IE fixes */ /* float/negative margin brokenness */
+* html #footer {
+ margin-top: 0;
+}
+
+* html #column-content {
+ display: inline;
+ margin-bottom: 0;
+}
+
+* html div.editsection, * html div.mw-editsection {
+ font-size: smaller;
+}
+
+#pagehistory li.selected {
+ position: relative;
+}
+
+.redirecttext {
+ font-size: 150%;
+ margin: 5px;
+}
+
+.printfooter {
+ display: none;
+}
+
+.not_patrolled {
+ background-color: #ffa;
+}
+
+div.patrollink {
+ font-size: 75%;
+ text-align: right;
+}
+
+span.newpage, span.minor, span.searchmatch {
+ font-weight: bold;
+}
+
+span.unpatrolled {
+ font-weight: bold;
+ color: red;
+}
+
+span.searchmatch {
+ color: red;
+}
+
+.sharedUploadNotice {
+ font-style: italic;
+ width: 100%;
+ font-size: 100%;
+ border: 1px solid #0000DD;
+ background-color: #DDDDFF;
+ margin-top: 3pt;
+ padding: 5px;
+ border-radius: 5px;
+ box-shadow: 0 0 2px #0000DD;
+}
+
+span.updatedmarker {/* color: black; */
+ color: #00ff00;
+}
+
+span.newpageletter {
+ font-weight: bold;
+ color: black;
+ background-color: yellow;
+}
+
+span.minoreditletter {
+ color: black;
+ background-color: #c5ffe6;
+}
+
+table.gallery {
+ border: 1px solid #cccccc;
+ margin: 2px;
+ padding: 2px;
+ background-color: #ffffff;
+}
+
+table.gallery tr {
+ vertical-align: top;
+}
+
+table.gallery td {
+ vertical-align: top;
+ background-color: #f9f9f9;
+ border: solid 2px white;
+}
+
+div.gallerybox {
+ margin: 2px;
+ width: 150px;
+}
+
+div.gallerybox div.thumb {
+ text-align: center;
+ border: 1px solid #cccccc;
+ margin: 2px;
+}
+
+div.gallerytext {
+ font-size: 94%;
+ padding: 2px 4px;
+ text-align: left;
+}
+
+/* ADDED BY DEB@DRIA.ORG FOR DEVMO WIKI */
+.standard-table {
+ border: solid black 1px;
+ border-collapse: collapse;
+}
+
+.standard-table td {
+ text-align: left;
+ vertical-align: top;
+ padding: 5px;
+ border: solid #bbb 1px;
+}
+
+.standard-table td.header, .standard-table th {
+ font-weight: bold;
+ background: #ddd;
+ border: solid #bbb 1px;
+ text-align: left;
+ padding: 0px 5px 0px 5px;
+}
+
+.fullwidth-table {
+ border: solid #666 1px;
+ border-collapse: collapse;
+ width: 100%;
+ margin-bottom: 10px;
+ background: #fff;
+}
+
+.fullwidth-table td {
+ text-align: left;
+ vertical-align: top;
+ padding: 5px 15px 5px 15px;
+ border: solid #bbb 1px;
+}
+
+.fullwidth-table td.header, .fullwidth-table th {
+ background: #ddd;
+ border: solid #bbb 1px;
+ font-weight: bold;
+ font-size: 1.2em;
+ text-align: left;
+ padding: 0px 5px 0px 5px;
+}
+
+div.breadcrumbs {
+ border: solid #888 1px;
+ padding: 0px 5px 0px 5px;
+ background: #ddd;
+ margin: 5px 0px 10px 0px;
+ font-size: 0.9em;
+}
+
+div.breadcrumbs a.breadcrumbs {
+ text-decoration: none;
+}
+
+div.breadcrumbs span.breadcrumbs {
+ font-weight: bold;
+}
+
+div.tip {
+ border: solid green 2px;
+ padding: 0px 10px 0px 10px;
+ margin: 10px 0px 10px 0px;
+ background: #dfd;
+}
+
+div.note {/* border: solid goldenrod 2px; */
+ padding: 0px 10px 0px 10px;
+ margin: 10px 0px 10px 0px;
+ background: #ffd;
+ color: #000;
+}
+
+div.note:before {
+ content: "";
+}
+
+.figure {/* for future use */
+
+}
+
+.originaldocinfo {
+ font-size: 0.8em;
+ background: #ffd;
+ border: solid #cce 1px;
+ width: auto;
+ padding: 0px 10px 0px 10px;
+ margin: 15px 0px 15px 0px;
+}
+
+.originaldocinfo p {
+ line-height: 0.8em;
+}
+
+.originaldocinfo h2 {
+ font-size: 1.3em;
+ font-weight: bold;
+}
+
+.licenseblock {
+ border: dashed #888 1px;
+ background: #ddd;
+ font-size: 0.8em;
+ padding: 0px 10px 0px 10px;
+}
+
+.wrong-source-code {
+ color: #d00;
+}
+
+.right-source-code {
+ color: #0a0;
+}
+
+.template-toc {
+ background: #ddd;
+ font-size: 0.9em;
+ border: solid black 1px;
+ padding: 0px 10px 0px 10px;
+ margin: 15px 0px 15px 0px;
+ width: auto;
+}
+
+.prevnext {
+ font-size: 0.9em;
+ margin: 10px 0px 20px 0px;
+}
+
+div.highlight {
+ border-left: solid blue 3px;
+ padding-left: 15px;
+}
+
+span.highlightblue {
+ color: blue;
+}
+
+span.highlightred {
+ color: red;
+}
+
+.side-note {
+ width: auto;
+ padding: 0px 20px 0px 20px;
+ margin: 10px 0px 10px 0px;
+ border: solid #666 1px;
+ background: #eee;
+}
+
+.side-note-left {
+ float: left;
+ width: 40%;
+ padding: 0px 20px 0px 20px;
+ margin: 10px 10px 10px 0px;
+ border: solid #666 1px;
+ background: #eee;
+}
+
+.side-note-right {
+ float: right;
+ width: 40%;
+ padding: 0px 20px 0px 20px;
+ margin: 10px 0px 10px 10px;
+ border: solid #666 1px;
+ background: #eee;
+}
+
+/* new for devmo topic pages */
+.callout-box {
+ float: right;
+ border: solid black 1px;
+ text-align: center;
+ width: 200px;
+ margin: 0px 0px 15px 15px;
+ padding: 10px;
+ background: #eee;
+}
+
+.topicpage-table {
+ width: 100%;
+}
+
+.topicpage-table td {
+ width: 50%;
+ vertical-align: top;
+ padding: 10px;
+}
+
+.alllinks {
+ font-size: 10px;
+ float: right;
+}
+
+.date {
+ color: #668;
+ font-style: italic;
+}
+
+.disambig {
+ font-size: 0.9em;
+ border-top: solid #aaa 1px;
+ border-bottom: solid #aaa 1px;
+}
+
+.notice {
+ font-size: 0.9em;
+ border: solid #aaa 1px;
+ padding: 5px;
+ margin: 5px 0px 5px 0px;
+}
+
+.visualclear {
+ clear: both;
+}
+
+/* Special:Recentchanges*/
+
+.mw-special-Recentchanges ul.special {
+ margin: 0;
+ border-radius: 6px;
+ border: 1px white solid;
+}
+
+.mw-special-Recentchanges ul.special li {
+ list-style-type: none;
+ list-style-image: none;
+}
+
+/** Special:Version */
+table#sv-ext, table#sv-hooks, table#sv-software, table#mw-version-entrypoints-table, .mw-special-Version #mw-content-text table {
+ padding: 0em;
+}
+
+#sv-ext td, #sv-hooks td, #sv-software td, #sv-ext th, #sv-hooks th, #sv-software th, .mw-special-Version #bodyContent td, .mw-special-Version #bodyContent th {
+ border: 1px solid #a0a0a0;
+ padding: 0.1em 0.2em 0.1em 0.2em;
+}
+
+#sv-ext th, #sv-hooks th, #sv-software th, .mw-special-Version #bodyContent th {
+ background-color: #f0f0f0;
+ color: black;
+ padding: 0.1em 0.2em 0.1em 0.2em;
+}
+
+tr.sv-space {
+ height: 0.8em;
+ border: none;
+}
+
+tr.sv-space td {
+ display: none;
+}
+
+/* Spezial:Allpages */
+.allpageslist {
+ margin: auto;
+}
+
+/* filetoc */
+ul#filetoc {
+ text-align: center;
+ border: 1px solid #aaaaaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+ margin-bottom: 0.5em;
+ margin-left: 0;
+ margin-right: 0;
+ border-radius: 6px;
+}
+
+#filetoc li {
+ display: inline;
+ list-style-type: none;
+ padding-right: 2em;
+}
+
+.newpage {
+ color: green;
+}
+
+.minor, .minoredit {
+ color: gray;
+}
+
+/* Portal page style */
+
+.portalseite div.portal-container, .hauptseite-oben, .hauptseite-links, .hauptseite-rechts, .hauptseite-unten {
+ box-shadow: 1px 1px 1px grey;
+ margin-bottom: 1em;
+ border-radius: 6px;
+}
+
+h2.portal-heading, .portalseite h2, #hauptseite h2 {
+ border-width: 1px;
+ border-color: #AAAAAA;
+ border-style: solid solid dotted;
+ background-color: #F0F0F0;
+ padding: 0.2em 0;
+ margin: 0;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-indent: 0.5em;
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px;
+}
+
+h3.portal-heading, .portalseite h3, #hauptseite h3 {
+ background-color: #F0F0F0;
+ border-bottom: 1px dotted #AAAAAA;
+ font-size: 1em;
+ font-weight: bold;
+ margin-bottom: 0.5em;
+ margin-top: 0.5em;
+ padding-bottom: 0.1em;
+ padding-left: 0.3em;
+ padding-top: 0.1em;
+}
+
+.portalseite div.inhalt, div.portal-content, #hauptseite .inhalt {
+ border: 1px solid #AAAAAA;
+ border-top: 0px solid #FFFFFF;
+ background-color: #FFFFFF;
+ margin-bottom: 1em;
+ padding: 0.5em 0.8em 0.5em 0.8em;
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+}
+
+.hauptseite-links, .portalseite .portal-left {
+ margin-right: 0.5em;
+}
+
+.hauptseite-rechts, .portalseite .portal-right {
+ margin-left: 0.5em;
+}
diff --git a/skins/Cavendish/resources/colors/blue.css b/skins/Cavendish/resources/colors/blue.css
new file mode 100644
index 0000000..89decbe
--- /dev/null
+++ b/skins/Cavendish/resources/colors/blue.css
@@ -0,0 +1,80 @@
+/* Blue color */
+
+#header {
+ background: #455372; /* Old browsers */
+ background: -moz-linear-gradient(top, #455372 0%, #455372 52%, #3f4c6b 67%, #2a3753 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#455372), color-stop(52%,#455372), color-stop(67%,#3f4c6b), color-stop(100%,#2a3753)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #455372 0%,#455372 52%,#3f4c6b 67%,#2a3753 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #455372 0%,#455372 52%,#3f4c6b 67%,#2a3753 100%); /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #455372 0%,#455372 52%,#3f4c6b 67%,#2a3753 100%); /* IE10+ */
+ background: linear-gradient(to bottom, #455372 0%,#455372 52%,#3f4c6b 67%,#2a3753 100%); /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#455372', endColorstr='#2a3753',GradientType=0 ); /* IE6-9 */
+}
+
+#header form label, #header label {
+ color: #DDD;
+}
+
+#header form #searchInput {
+ border: 1px solid #9097A2;
+ background-color: #D9DBE1;
+}
+
+/*p-cactions */
+
+#p-cactions li {
+ border-bottom: 1px solid #515358;
+ background-color: #5F697E;
+ border-top-color: #5F697E;
+}
+
+#p-cactions li:hover {
+ border-top-color: #747F96;
+ background-color: #747F96;
+}
+
+#p-cactions li.selected a {
+ color: #455372;
+}
+
+/* NAV */
+
+#nav {
+ background: #E0E9E9;
+}
+
+#nav div a:hover {
+ background: #E0E9E9;
+}
+
+#nav div a, #nav div span.social {
+ background: #EDF2F2;
+ border-bottom: 1px solid #DDD;
+ border-top: 1px solid #FFF;
+ border-right: 1px solid #DDD;
+}
+
+/* preftoc */
+
+#preftoc li:hover,#preftoc li:focus, #preftoc li.selected {
+ background-color: #E0E9E9;
+}
+
+/* fieldset */
+
+fieldset {
+ border: 1px solid #2f6fab;
+}
+
+fieldset fieldset {
+ background-color: #E0E9E9;
+}
+
+/* mw-line */
+.mw-line-odd {
+ background-color: #EDF2F2;
+}
+
+.mw-line-even {
+ background-color: #E0E9E9;
+} \ No newline at end of file
diff --git a/skins/Cavendish/resources/colors/brown.css b/skins/Cavendish/resources/colors/brown.css
new file mode 100644
index 0000000..d3ec5ee
--- /dev/null
+++ b/skins/Cavendish/resources/colors/brown.css
@@ -0,0 +1,91 @@
+/* Brown color */
+
+#header {
+ background: #e3cead; /* Old browsers */
+ background: -moz-linear-gradient(top, #e3cead 0%, #dac39e 35%, #ccb186 75%, #c5aa7d 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e3cead), color-stop(35%,#dac39e), color-stop(75%,#ccb186), color-stop(100%,#c5aa7d)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #e3cead 0%,#dac39e 35%,#ccb186 75%,#c5aa7d 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #e3cead 0%,#dac39e 35%,#ccb186 75%,#c5aa7d 100%); /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #e3cead 0%,#dac39e 35%,#ccb186 75%,#c5aa7d 100%); /* IE10+ */
+ background: linear-gradient(to bottom, #e3cead 0%,#dac39e 35%,#ccb186 75%,#c5aa7d 100%); /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e3cead', endColorstr='#c5aa7d',GradientType=0 ); /* IE6-9 */
+}
+
+#header form label, #header label {
+ color: #774F03;
+}
+
+#header form #searchInput {
+ border: 1px solid #774F03;
+ background-color: #FBF4E8;
+}
+
+/*p-cactions */
+
+#p-cactions li {
+ border-bottom: 1px solid #B48A48;
+ background-color: #885E1B;
+ border-top-color: #885E1B;
+}
+
+#p-cactions li:hover {
+ border-top-color: #B48A48;
+ background-color: #B48A48;
+}
+
+#p-cactions li.selected a {
+ color: #780000;
+}
+
+/* NAV */
+
+#nav {
+ background: #E8DDCA;
+}
+
+#nav div a:hover {
+ background: #E8DDCA;
+}
+
+#nav div a, #nav div span.social {
+ background-color:#FBF4E8;
+ border-bottom: 1px solid #DDD;
+ border-right: 1px solid #DDD;
+ border-top: 1px solid #FFF;
+}
+
+/* preftoc */
+
+#preftoc li:hover,#preftoc li:focus, #preftoc li.selected {
+ background-color: #E8DDCA;
+}
+
+/* fieldset */
+
+fieldset {
+ border: 1px solid #774F03;
+}
+
+fieldset fieldset {
+ background-color: #E8DDCA;
+ }
+
+/* mw-line */
+.mw-line-odd {
+ background-color: #FBF4E8;
+}
+
+.mw-line-even {
+ background-color: #E8DDCA;
+}
+
+/* different from blue.css */
+
+.portlet li a:link {
+ color: #780000;
+ text-decoration: none;
+}
+.portlet li a:visited {
+ color: #774F03;
+ text-decoration: none;
+} \ No newline at end of file
diff --git a/skins/Cavendish/resources/colors/green.css b/skins/Cavendish/resources/colors/green.css
new file mode 100644
index 0000000..0c47620
--- /dev/null
+++ b/skins/Cavendish/resources/colors/green.css
@@ -0,0 +1,80 @@
+/* Green color */
+
+#header {
+ background: #379940; /* Old browsers */
+ background: -moz-linear-gradient(top, #379940 0%, #36983f 56%, #32903a 68%, #216d2b 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#379940), color-stop(56%,#36983f), color-stop(68%,#32903a), color-stop(100%,#216d2b)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #379940 0%,#36983f 56%,#32903a 68%,#216d2b 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #379940 0%,#36983f 56%,#32903a 68%,#216d2b 100%); /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #379940 0%,#36983f 56%,#32903a 68%,#216d2b 100%); /* IE10+ */
+ background: linear-gradient(to bottom, #379940 0%,#36983f 56%,#32903a 68%,#216d2b 100%); /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#379940', endColorstr='#216d2b',GradientType=0 ); /* IE6-9 */
+}
+
+#header form label, #header label {
+ color: #89cc92;
+}
+
+#header form #searchInput {
+ border: 1px solid #23712d;
+ background-color: #89cc92;
+}
+
+/*p-cactions */
+
+#p-cactions li {
+ border-bottom: 1px solid #56a05f;
+ background-color: #58ac64;
+ border-top-color: #58ac64;
+}
+
+#p-cactions li:hover {
+ border-top-color: #68cc76;
+ background-color: #68cc76;
+}
+
+#p-cactions li.selected a {
+ color: #455372;
+}
+
+/* NAV */
+
+#nav {
+ background: #379940;
+}
+
+#nav div a:hover {
+ background: #379940;
+}
+
+#nav div a, #nav div span.social {
+ background: #89cc92;
+ border-bottom: 1px solid #DDD;
+ border-top: 1px solid #FFF;
+ border-right: 1px solid #DDD;
+}
+
+/* preftoc */
+
+#preftoc li:hover,#preftoc li:focus, #preftoc li.selected {
+ background-color: #89cc92;
+}
+
+/* fieldset */
+
+fieldset {
+ border: 1px solid #1fd931;
+}
+
+fieldset fieldset {
+ background-color: #89cc92;
+}
+
+/* mw-line */
+.mw-line-odd {
+ background-color: #379940;
+}
+
+.mw-line-even {
+ background-color: #89cc92;
+} \ No newline at end of file
diff --git a/skins/Cavendish/resources/config.php b/skins/Cavendish/resources/config.php
new file mode 100644
index 0000000..7136f62
--- /dev/null
+++ b/skins/Cavendish/resources/config.php
@@ -0,0 +1,14 @@
+<?php
+ $cavendishColor = 'blue';
+ $cavendishLogoURL = false;
+ $cavendishLogoWidth = '322';
+ $cavendishLogoHeight = '53';
+ $cavendishLogoMargin = '10';
+ $cavendishSiteWith = false;
+ $cavendishExtensionCSS = true;
+ $cavendishSidebarSearchbox =false;
+ $cavendishQRCode = true;
+ /* if showed on page or only on print (all, print)*/
+ $cavendishQRCodeMode = 'all';
+ $cavendishQRurladd = "?pk_campaign=qr-code";
+?> \ No newline at end of file
diff --git a/skins/Cavendish/resources/extensions.css b/skins/Cavendish/resources/extensions.css
new file mode 100644
index 0000000..4c2adab
--- /dev/null
+++ b/skins/Cavendish/resources/extensions.css
@@ -0,0 +1,335 @@
+/*
+* Font Style for Extensions
+
+ Babel Extension*/
+@import url("babel.css");
+
+/*
+* Poem Extension
+*/
+.poem {
+ margin-left: 1.5em;
+ white-space: nowrap;
+ overflow: auto;
+}
+
+.poem p {
+ padding-left: 0.5em;
+ border-left: 1px solid #FFD700;
+ }
+
+/* HeaderTabs */
+
+#headertabs {
+ border: 1px solid #AAAAAA;
+ }
+
+/* Syntax Hightlight Geshi */
+.mw-geshi {
+ padding: 1em;
+ margin: 1em 0;
+ border: 1px dashed #2fab6f;
+ border-radius: 6px;
+ overflow-y: hidden;
+}
+
+.mw-geshi ol {
+ padding-left: 1em;
+}
+
+/* Cite Extension */
+ol.references {
+ font-size: 0.9em;
+}
+
+sup.reference {
+ font-size: 0.8em;
+ line-height: 0.8em;
+ vertical-align: top;
+ position: relative;
+ top: -0.2em;
+ white-space: nowrap;
+}
+
+.reference * {
+ vertical-align: top;
+}
+
+ol.references>li:target {
+ background-color: #def;
+}
+
+sup.reference:target {
+ background-color: #def;
+}
+
+/* Google Maps */
+.pmap {
+ margin-top: -5px;
+ margin-bottom: 5px;
+}
+
+.google-map {
+ margin-bottom: 1.5em;
+ width: auto;
+}
+
+/* Semantic MediaWiki */
+table.smwtable tr.smwfooter td.sortbottom {
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+table.smwtable {
+ margin: 1em 1em 1em 0;
+ border: 1px #aaa solid;
+ border-collapse: collapse;
+ empty-cells: show;
+ border-radius: 6px;
+}
+
+table.smwtable th {
+ background-color: #e0e9e9;
+ border: 1px #aaa solid;
+ padding: 0.2em;
+ white-space: nowrap;
+ padding: 0.2em;
+}
+
+table.smwtable td {
+ border: 1px #aaa solid;
+ padding: 0.2em;
+}
+
+table.smwtable caption {
+ margin-left: inherit;
+ margin-right: inherit;
+ font-weight: bold;
+}
+
+table.smwtable tr.row-odd {
+ background-color: #F9F9F9;
+}
+table.smwtable tr.row-odd td{
+ border-top: none;
+ border-bottom: none;
+}
+
+table.smwtable tr.row-even {
+ background-color: #F1F1F1;
+}
+table.smwtable tr.row-even td{
+ border-top: none;
+ border-bottom: none;
+}
+
+.smwttactiveinline {
+ white-space: nowrap;
+}
+
+.smwfact {
+ border-radius: 6px;
+ box-shadow: 2px 2px 2px grey;
+}
+
+#content div.smwfact table.smwfacttable {
+ border-radius: 0px;
+}
+
+.smwtt {
+ font-size: 10pt;
+}
+
+#content table.smwb-factbox, #content table.smwb-ifactbox {
+ border-radius: 0px;
+}
+
+/* Semantic Drilldown */
+div div#drilldown-categories-wrapper {
+ padding-left: 0;
+ padding-right: 0;
+}
+/* Semantic Forms */
+input.createboxInput {
+ margin-top: 1px;
+ margin-bottom: 1px;
+}
+/*
+.mandatoryFieldSpan {
+ border: 1px solid #8B0000;
+ border-radius: 3px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ background: #FFA07A;
+}
+
+.inputSpan {
+ padding-top: 5px;
+ padding-bottom: 7px;
+}
+*/
+
+.formtable td {
+ padding-top: 7px;
+ padding-bottom: 7px;
+}
+
+.formtable th {
+ padding-top: 7px;
+ padding-bottom: 7px;
+ padding-right: 4px;
+}
+
+#sfForm div.warningbox {
+ border: 1px solid #FF8C00 !important;
+}
+
+.checkboxLabel, .ui-widget {
+ white-space: nowrap;
+}
+
+
+/* Semantic Result Formats */
+#bodyContent table.navigation_table tr td.month_name {
+ font-size: 18pt;
+}
+
+#bodyContent table.month_calendar tr.weekdays {
+ background: #E0E9E9;
+}
+
+#bodyContent table.month_calendar td.today div.day {
+ background: #E0E9E9;
+}
+
+#bodyContent table.month_calendar td.weekend_day div.day {
+ color: red;
+}
+
+#bodyContent .srf-datatables select {
+ padding: 4px;
+}
+
+/* WikiEditor */
+div.wikiEditor-ui div.section {
+ padding-left: 0;
+}
+
+div.wikiEditor-ui div.wikiEditor-ui-top {
+ font-size: 8.5pt;
+}
+
+div.wikiEditor-ui div.wikiEditor-ui-tabs div{
+ font-size: 9pt;
+ padding-bottom: 1px;
+}
+
+/* Liquid Threads */
+div.lqt-thread-toolbar {
+ right: 3em;
+}
+
+.lqt-thread-toolbar-command-list {
+ display: inline;
+}
+
+.lqt-talkpage-header {
+ border-radius: 6px;
+ border-width: 1px;
+ }
+
+.lqt_header_content {
+ border-bottom-right-radius: 6px;
+ border-width: 1px;
+ }
+
+body.skin-cavendish a.lqt_watchlist_messages_notice {
+ border-radius: 6px;
+ background-color: #F2DEDE;
+ border-color: #EED3D7;
+ color: #B94A48;
+ padding: 0.5em 1.5em;
+}
+
+/* Flagged Revisions */
+div.flaggedrevs_basic, div.flaggedrevs_quality, div.flaggedrevs_pristine, div.flaggedrevs_notice {
+ border-radius: 6px;
+}
+
+table.flaggedrevs_editnotice {
+ margin-bottom: 1em;
+}
+
+/* OpenID */
+#p-personal .pBody li#pt-openidlogin {
+ background: none;
+ padding-left: 0;
+}
+
+.openid_large_link {
+ border-radius: 6px;
+ border-width: 1px;
+}
+.openid_small_providers_block {
+ padding-right: 5em;
+}
+#provider_form_openid input {
+ margin-top: 5px;
+}
+
+/* Input Box */
+.inputbox-element {
+ white-space: nowrap;
+ display: inline-block;
+}
+
+/* 4sq */
+table .tips-4sq blockquote {
+ margin-right: 20px;
+ margin-left: 20px;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+
+/* yelp */
+table .yelp-reviews blockquote {
+ margin-right: 20px;
+ margin-left: 20px;
+}
+
+/* Social Sidebar WeCoWi*/
+
+#nav div li span.social {
+ padding-bottom: 6px;
+ padding-top: 6px;
+}
+
+#nav div li#buffer span.social {
+ padding-left: 19px;
+}
+
+#nav div li#facebook span span {
+ margin-left: -10px;
+ margin-top: -5px;
+}
+
+#nav div li#facebook span.social {
+ height: 19px;
+}
+
+#nav div li#twitter span.social iframe {
+ margin-left: 9px;
+}
+
+#nav a.twitter-share-button {
+ font-weight: normal;
+ border: none;
+ padding-left: 10px;
+ padding-right: 0;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+#nav li#google span.social, #nav li#flattr span.social {
+ padding-left: 20px;
+}
diff --git a/skins/Cavendish/resources/header.css b/skins/Cavendish/resources/header.css
new file mode 100644
index 0000000..0216de9
--- /dev/null
+++ b/skins/Cavendish/resources/header.css
@@ -0,0 +1,9 @@
+#header h6 a
+{
+ font-family:JournalRegular;
+ text-indent: 0;
+ font-size: 37pt;
+ color: #2DAAE1;
+ padding-left: 15px;
+ text-shadow:0.1em 0.1em 0.2em gray;
+}
diff --git a/skins/Cavendish/resources/images/audio.png b/skins/Cavendish/resources/images/audio.png
new file mode 100644
index 0000000..ca609d4
--- /dev/null
+++ b/skins/Cavendish/resources/images/audio.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/body_back.gif b/skins/Cavendish/resources/images/body_back.gif
new file mode 100644
index 0000000..72a0d3e
--- /dev/null
+++ b/skins/Cavendish/resources/images/body_back.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/bullet.gif b/skins/Cavendish/resources/images/bullet.gif
new file mode 100644
index 0000000..b43de48
--- /dev/null
+++ b/skins/Cavendish/resources/images/bullet.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/document.png b/skins/Cavendish/resources/images/document.png
new file mode 100644
index 0000000..4d64fd5
--- /dev/null
+++ b/skins/Cavendish/resources/images/document.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/envelope.png b/skins/Cavendish/resources/images/envelope.png
new file mode 100644
index 0000000..14824c7
--- /dev/null
+++ b/skins/Cavendish/resources/images/envelope.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/external.png b/skins/Cavendish/resources/images/external.png
new file mode 100644
index 0000000..2bd5f77
--- /dev/null
+++ b/skins/Cavendish/resources/images/external.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/folder.png b/skins/Cavendish/resources/images/folder.png
new file mode 100644
index 0000000..f0ef991
--- /dev/null
+++ b/skins/Cavendish/resources/images/folder.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/headbg.jpg b/skins/Cavendish/resources/images/headbg.jpg
new file mode 100644
index 0000000..5491c6e
--- /dev/null
+++ b/skins/Cavendish/resources/images/headbg.jpg
Binary files differ
diff --git a/skins/Cavendish/resources/images/header_logo.gif b/skins/Cavendish/resources/images/header_logo.gif
new file mode 100644
index 0000000..e00acf1
--- /dev/null
+++ b/skins/Cavendish/resources/images/header_logo.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/key-point_bl.gif b/skins/Cavendish/resources/images/key-point_bl.gif
new file mode 100644
index 0000000..fe6f825
--- /dev/null
+++ b/skins/Cavendish/resources/images/key-point_bl.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/key-point_tl.gif b/skins/Cavendish/resources/images/key-point_tl.gif
new file mode 100644
index 0000000..87d7cd0
--- /dev/null
+++ b/skins/Cavendish/resources/images/key-point_tl.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/locked.png b/skins/Cavendish/resources/images/locked.png
new file mode 100644
index 0000000..7b81697
--- /dev/null
+++ b/skins/Cavendish/resources/images/locked.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/magnify-clip.png b/skins/Cavendish/resources/images/magnify-clip.png
new file mode 100644
index 0000000..992aa2e
--- /dev/null
+++ b/skins/Cavendish/resources/images/magnify-clip.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/minus.png b/skins/Cavendish/resources/images/minus.png
new file mode 100644
index 0000000..e56f9de
--- /dev/null
+++ b/skins/Cavendish/resources/images/minus.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/newspaper.png b/skins/Cavendish/resources/images/newspaper.png
new file mode 100644
index 0000000..b7f11c3
--- /dev/null
+++ b/skins/Cavendish/resources/images/newspaper.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/plus.png b/skins/Cavendish/resources/images/plus.png
new file mode 100644
index 0000000..4b5a7bf
--- /dev/null
+++ b/skins/Cavendish/resources/images/plus.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/required.gif b/skins/Cavendish/resources/images/required.gif
new file mode 100644
index 0000000..bd71976
--- /dev/null
+++ b/skins/Cavendish/resources/images/required.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/speech-bubble-left-4.png b/skins/Cavendish/resources/images/speech-bubble-left-4.png
new file mode 100644
index 0000000..6608d22
--- /dev/null
+++ b/skins/Cavendish/resources/images/speech-bubble-left-4.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/subsite_back.gif b/skins/Cavendish/resources/images/subsite_back.gif
new file mode 100644
index 0000000..1fe411d
--- /dev/null
+++ b/skins/Cavendish/resources/images/subsite_back.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/subsite_back.png b/skins/Cavendish/resources/images/subsite_back.png
new file mode 100644
index 0000000..11baba1
--- /dev/null
+++ b/skins/Cavendish/resources/images/subsite_back.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/subsite_mozilla-org.gif b/skins/Cavendish/resources/images/subsite_mozilla-org.gif
new file mode 100644
index 0000000..b18706f
--- /dev/null
+++ b/skins/Cavendish/resources/images/subsite_mozilla-org.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/top-left.png b/skins/Cavendish/resources/images/top-left.png
new file mode 100644
index 0000000..b5d7835
--- /dev/null
+++ b/skins/Cavendish/resources/images/top-left.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/top-mid.png b/skins/Cavendish/resources/images/top-mid.png
new file mode 100644
index 0000000..37d3276
--- /dev/null
+++ b/skins/Cavendish/resources/images/top-mid.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/top-right.png b/skins/Cavendish/resources/images/top-right.png
new file mode 100644
index 0000000..5c8c450
--- /dev/null
+++ b/skins/Cavendish/resources/images/top-right.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/user.gif b/skins/Cavendish/resources/images/user.gif
new file mode 100644
index 0000000..bc93439
--- /dev/null
+++ b/skins/Cavendish/resources/images/user.gif
Binary files differ
diff --git a/skins/Cavendish/resources/images/video.png b/skins/Cavendish/resources/images/video.png
new file mode 100644
index 0000000..5615e09
--- /dev/null
+++ b/skins/Cavendish/resources/images/video.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/wiki-indexed.png b/skins/Cavendish/resources/images/wiki-indexed.png
new file mode 100644
index 0000000..189a2ae
--- /dev/null
+++ b/skins/Cavendish/resources/images/wiki-indexed.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/wiki.png b/skins/Cavendish/resources/images/wiki.png
new file mode 100644
index 0000000..69fce98
--- /dev/null
+++ b/skins/Cavendish/resources/images/wiki.png
Binary files differ
diff --git a/skins/Cavendish/resources/images/wiki_header_logo.gif b/skins/Cavendish/resources/images/wiki_header_logo.gif
new file mode 100644
index 0000000..ac06c7b
--- /dev/null
+++ b/skins/Cavendish/resources/images/wiki_header_logo.gif
Binary files differ
diff --git a/skins/Cavendish/resources/print.css b/skins/Cavendish/resources/print.css
new file mode 100644
index 0000000..a31df21
--- /dev/null
+++ b/skins/Cavendish/resources/print.css
@@ -0,0 +1,62 @@
+/* Stylesheet for Printing*/
+body {
+ margin-left: 5em;
+ margin-right: 5em;
+ font-size: 11pt;
+}
+
+#p-personal, #side, #header, #skin-info, #f-numberofwatchingusers, #f-viewcount, #f-privacy, #f-about, #f-disclaimer{
+ display:none;
+}
+
+.f-iconsection #f-copyrightico {
+ display: block;
+}
+
+#qrcode {
+ display:block;
+ margin-left: 10px;
+ text-align:right;
+}
+
+#footer #f-list li {
+ white-space:normal;
+}
+
+#footer li {
+ list-style-type: none;
+}
+
+#footer table {
+ width: 100%;
+}
+
+#catlinks {
+ border-top: 1px solid #AAAAAA;
+ margin-top: 1em;
+ padding-top: 1em;
+}
+
+#catlinks ul li {
+ font-style:italic;
+}
+
+table.float-right, table.floatright, div.float-right, div.floatright {
+ clear: right;
+ float: right;
+ margin-left: 0.7em;
+ margin-right: 0;
+ position: relative;
+}
+
+table.float-left, table.floatleft, div.float-left, div.floatleft{
+ clear: left;
+ float: left;
+ margin-right: 0.7em;
+ margin-left: 0;
+ position: relative;
+}
+
+table p {
+ margin: 0;
+} \ No newline at end of file
diff --git a/skins/Cavendish/resources/rtl.css b/skins/Cavendish/resources/rtl.css
new file mode 100644
index 0000000..0d6b48e
--- /dev/null
+++ b/skins/Cavendish/resources/rtl.css
@@ -0,0 +1,216 @@
+/*
+Right-to-left fixes for MonoBook.
+Places sidebar on right, tweaks various alignment issues.
+
+Works mostly ok nicely on Safari 1.2.1; fine in Mozilla.
+
+Safari bugs (1.2.1):
+* Tabs are still appearing in left-to-right order. (Try after localizing)
+
+Opera bugs (7.23 linux):
+* Some bits of ltr text (sidebar box titles) have forward and backward versions overlapping each other
+
+IE/mac bugs:
+* The thing barfs on Hebrew and Arabic anyway, so no point testing.
+
+Missing features due to lack of support:
+* external link icons
+
+To test:
+* Opera6
+* IE 5.0
+* etc
+
+*/
+body {
+ direction: rtl;
+/* unicode-bidi: bidi-override;*/
+ unicode-bidi: embed;
+}
+#column-content {
+ margin: 0 -12.2em 0 0;
+ float: left;
+}
+#column-content #content{
+ margin-left: 0;
+ margin-right: 12.2em;
+ border-right: 1px solid #aaaaaa;
+ border-left: none;
+}
+html>body .portlet {
+ float: right;
+ clear: right;
+}
+/* recover IEMac (might be fine with the float, but usually it's close to IE */
+*>body .portlet {
+ float: none;
+ clear: none;
+}
+.pBody {
+ padding-right: 0.8em;
+ padding-left: 0.5em;
+}
+
+/* Fix alignment */
+.documentByLine,
+.portletDetails,
+.portletMore,
+#p-personal {
+ text-align: left;
+}
+
+div div.thumbcaption {
+ text-align: right;
+}
+
+div.magnify,
+#div.townBox,
+#p-logo {
+ left: auto;
+ right: 0;
+}
+#p-personal {
+ left: auto;
+ right: 0;
+}
+
+#p-cactions {
+ left: auto;
+ right: 11.5em;
+ padding-left: 0;
+ padding-right: 1em;
+}
+#p-cactions li {
+ margin-left: 0.3em;
+ margin-right: 0;
+ float: right;
+}
+* html #p-cactions li a {
+ display: block;
+ padding-bottom: 0;
+}
+* html #p-cactions li a:hover {
+ padding-bottom: 0.2em;
+}
+/* offsets to distinguish the tab groups */
+li#ca-talk {
+ margin-right: auto;
+ margin-left: 1.6em;
+}
+li#ca-watch,li#ca-unwatch {
+ margin-right: 1.6em !important;
+}
+
+/* Fix margins for non-css2 browsers */
+/* top right bottom left */
+
+ul {
+ margin-left: 0;
+ margin-right: 1.5em;
+}
+ol {
+ margin-left: 0;
+ margin-right: 2.4em;
+}
+dd {
+ margin-left: 0;
+ margin-right: 1.6em;
+}
+#contentSub {
+ margin-right: 1em;
+ margin-left: 0;
+}
+.tocindent {
+ margin-left: 0;
+ margin-right: 2em;
+}
+div.tright, div.floatright, table.floatright {
+ clear: none;
+}
+div.tleft, div.floatleft, table.floatleft {
+ clear: left;
+}
+div.townBox {
+ margin-left: 0;
+ margin-right: 1em;
+}
+div.townBox dl dd {
+ margin-left: 0;
+ margin-right: 1.1em;
+}
+#p-personal li {
+ margin-left: 0;
+ margin-right: 1em;
+}
+
+li#ca-talk,
+li#ca-watch {
+ margin-right: auto;
+ margin-left: 1.6em;
+}
+
+#p-personal li {
+ float: left;
+}
+/* Fix link icons */
+.external {
+ padding: 0 !important;
+ background: none !important;
+}
+#footer {
+ clear: both;
+}
+* html #footer {
+ margin-left: 0;
+ margin-right: 13.6em;
+ border-left: 0;
+ border-right: 1px solid #fabd23;
+}
+* html #column-content {
+ float: none;
+ margin-left: 0;
+ margin-right: 0;
+}
+* html #column-content #content {
+ margin-left: 0;
+ margin-top: 3em;
+}
+* html #column-one { right: 0; }
+
+/* js pref toc */
+
+#preftoc {
+ margin-right: 1em;
+}
+
+.errorbox, .successbox, #preftoc li, .prefsection fieldset {
+ float: right;
+}
+
+.prefsection {
+ padding-right: 2em;
+}
+
+/* workaround for moz bug, displayed bullets on left side */
+
+#toc ul {
+ text-align: right;
+}
+
+#toc ul ul {
+ margin: 0 2em 0 0;
+}
+
+input#wpSave, input#wpDiff {
+ margin-right: 0;
+ margin-left: .33em;
+}
+
+#userlogin {
+ float: right;
+ margin: 0 0 1em 3em;
+}
+
+.editsection, .mw-editsection {
+ float: left;
+} \ No newline at end of file
diff --git a/skins/Cavendish/resources/style.php b/skins/Cavendish/resources/style.php
new file mode 100644
index 0000000..18c4480
--- /dev/null
+++ b/skins/Cavendish/resources/style.php
@@ -0,0 +1,36 @@
+<?php header("Content-type: text/css");
+include('config.php');
+?>
+#header h6 a {
+ background-color: transparent;
+ background-image: url("<?php echo $cavendishLogoURL ?>");
+ background-repeat: no-repeat;
+ width: <?php echo $cavendishLogoWidth ?>px;
+ height: <?php echo $cavendishLogoHeight ?>px;
+ margin-top: <?php echo $cavendishLogoMargin ?>px;
+ }
+<?php
+if ($cavendishSiteWith) { ?>
+#globalWrapper {
+ width: <?php echo $cavendishSiteWith ?>px;
+ }
+<?php
+}
+if ($cavendishSidebarSearchbox) { ?>
+ #nav #p-search {
+ display:none;
+ }<?php
+}
+if ($cavendishQRCodeMode=='all'){ ?>
+#f-poweredbyico {
+ display:none;
+}
+<?php
+}
+if ($cavendishQRCodeMode=='print'){ ?>
+#qrcode {
+ display:none;
+}
+<?php
+}
+?>
diff --git a/skins/Cavendish/skin.json b/skins/Cavendish/skin.json
new file mode 100644
index 0000000..c8a9373
--- /dev/null
+++ b/skins/Cavendish/skin.json
@@ -0,0 +1,45 @@
+{
+ "name": "Cavendish",
+ "author": [
+ "Daniel Schuba",
+ "..."
+ ],
+ "url": "https://www.mediawiki.org/wiki/Skin:Cavendish",
+ "descriptionmsg": "cavendish-desc",
+ "namemsg": "skinname-cavendish",
+ "license-name": "GPL-2.0+",
+ "type": "skin",
+ "requires": {
+ "MediaWiki": ">= 1.25.0"
+ },
+ "ValidSkinNames": {
+ "cavendish": "Cavendish"
+ },
+ "MessagesDirs": {
+ "Cavendish": [
+ "i18n"
+ ]
+ },
+ "ResourceModules": {
+ "skins.cavendish": {
+ "position": "top",
+ "styles": {
+ "resources/cavendish.css": {
+ "media": "screen"
+ },
+ "resources/print.css": {
+ "media": "print"
+ }
+ }
+ }
+ },
+ "ResourceFileModulePaths": {
+ "localBasePath": "",
+ "remoteSkinPath": "Cavendish"
+ },
+ "AutoloadClasses": {
+ "SkinCavendish": "SkinCavendish.php",
+ "CavendishTemplate": "SkinCavendish.php"
+ },
+ "manifest_version": 1
+}