r106341 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r106340‎ | r106341 | r106342 >
Date:17:28, 15 December 2011
Author:synagonism
Status:deferred (Comments)
Tags:
Comment:
Add Synagonism skin
Modified paths:
  • /trunk/extensions/skins/Synagonism (added) (history)
  • /trunk/extensions/skins/Synagonism/README.TXT (added) (history)
  • /trunk/extensions/skins/Synagonism/resources (added) (history)
  • /trunk/extensions/skins/Synagonism/resources/Resources.php (added) (history)
  • /trunk/extensions/skins/Synagonism/skins (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/Synagonism.deps.php (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/Synagonism.php (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/common (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/common/commonPrint.css (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/csshover.htc (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/csshover.min.htc (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/MediaWiki.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/arrow-down-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/audio-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/bullet-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/document-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/edit-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/external-link-ltr-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/external-link-rtl-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-bottom.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left2.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left3.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-right.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title2.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title3.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-top.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/file-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/link-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/lock-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/magnify-clip.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/mail-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/news-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/page-base.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break-ltr.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break-rtl.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-base.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-break.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-edge.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-fade.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/search-fade.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/search-ltr.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/search-rtl.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-break.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-current-fade.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-normal-fade.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/talk-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-all-col.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-all-exp.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-collapsed.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-expanded.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-leaf.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/user-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/video-icon.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/watch-icon-loading.gif (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/images/watch-icons.png (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/synagonism.css (added) (history)
  • /trunk/extensions/skins/Synagonism/skins/synagonism/synagonism.js (added) (history)

Diff [purge]

Index: trunk/extensions/skins/Synagonism/skins/Synagonism.deps.php
@@ -0,0 +1,13 @@
 2+<?php
 3+// This file exists to ensure that base classes are preloaded before
 4+// Modern.php is compiled, working around a bug in the APC opcode
 5+// cache on PHP 5, where cached code can break if the include order
 6+// changed on a subsequent page view.
 7+// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
 8+
 9+if ( ! defined( 'MEDIAWIKI' ) ) {
 10+ die( 1 );
 11+}
 12+
 13+require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php' );
 14+
Property changes on: trunk/extensions/skins/Synagonism/skins/Synagonism.deps.php
___________________________________________________________________
Added: svn:eol-style
115 + native
Index: trunk/extensions/skins/Synagonism/skins/synagonism/synagonism.js
@@ -0,0 +1,303 @@
 2+/**
 3+ * version 2011.12.09
 4+ * @since 2011.11.23
 5+ * @author Kaseluris-Nikos-1959 (http://users.otenet.gr/~nikkas/)
 6+ * @license GNU GPLv3
 7+ *
 8+ * To create the expandable-tree I studied, used and modified the code from
 9+ * http://www.dhtmlgoodies.com/
 10+ *
 11+ * To create the splitter I studied, used and modified the code from
 12+ * http://krikus.com/js/splitter
 13+ */
 14+jQuery(document).ready(function() {
 15+
 16+ /* Header menu */
 17+ $('.classSngMenu li').has('ul').hover(function() {
 18+ $(this).children('ul').fadeIn();
 19+ }, function() {
 20+ $(this).children('ul').hide();
 21+ });
 22+
 23+ /* Creates the toc pane */
 24+ jQuery.fn.funJqTocSplit = function() {
 25+ return this.each(function() {
 26+ var tocPosSplitCur = 116;
 27+ var tocPosSplitPrev = 0;
 28+ var divSngSplitter = $(this);
 29+ var tocElmSplitChildren = divSngSplitter.children();
 30+ var divSngSplitLeft = tocElmSplitChildren.first();
 31+ var divSngSplitRight = tocElmSplitChildren.next();
 32+ var divSngSplitBar = $('<div></div>');
 33+ var divSngSplitBarGhost;
 34+ var divSngSplitButton = $('<div></div>');
 35+ // toc-tree variables
 36+ var tocImgFolder = mw.config.get( 'stylepath' ) + "/synagonism/images/";
 37+ var imgTocLeaf = 'toc-img-leaf.png';
 38+ var imgTocCollapsed = 'toc-img-collapsed.png';
 39+ var imgTocExpanded = 'toc-img-expanded.png';
 40+ var imgTocAllExp = 'toc-img-all-exp.png';
 41+ var imgTocAllCol = 'toc-img-all-col.png';
 42+ // splitter processing
 43+ divSngSplitBar.attr({"id": "idSngSplitBar"});
 44+ divSngSplitBar.bind("mousedown", funSngDragStart);
 45+ divSngSplitBar.insertAfter(divSngSplitLeft);
 46+ divSngSplitButton.attr({"id": "idSngSplitButton"});
 47+ divSngSplitBar.append(divSngSplitButton);
 48+ divSngSplitButton.mousedown(function(e){
 49+ if (e.target !== this) {
 50+ return;
 51+ }
 52+ funSngSplitToPos((tocPosSplitCur === 0) ? tocPosSplitPrev : 0);
 53+ tocPosSplitPrev = tocPosSplitCur;
 54+ tocPosSplitCur = divSngSplitBar.position().left;
 55+ return false;
 56+ });
 57+ // toc processing
 58+ // takes the toc from right-pane and inserts it on left-pane
 59+ divSngSplitLeft.html( $("#toc").find("ul:first") );
 60+ // do processing only if we have toc, otherwise split to zero
 61+ if (divSngSplitLeft.children().length !== 0) {
 62+ divSngSplitLeft.find("ul:first")
 63+ .prepend("<li><a href='#idTop'>0 Top</a></li>");
 64+ divSngSplitLeft.find("ul:first").attr('id','idSngToc');
 65+ // insert collaplse-button
 66+ var elmImgAllCol = $("<img />")
 67+ .css({"margin":"0px 5px 0 20px",
 68+ "cursor":"pointer"})
 69+ .attr({"src":tocImgFolder + imgTocAllCol,
 70+ "title": "Collapse-All"})
 71+ .click( function(event){
 72+ funSngTreeCollapseAll();})
 73+ .insertBefore("#idSngSplitLeft ul:first");
 74+ // insert expand-button
 75+ var elmImgAllExp = $("<img />")
 76+ .css({"margin":"0px 0px 0 5px",
 77+ "cursor":"pointer"})
 78+ .attr({"src":tocImgFolder + imgTocAllExp,
 79+ "title": "Expand-All"})
 80+ .click( function(event){
 81+ funSngTreeExpandAll();})
 82+ .insertAfter(elmImgAllCol);
 83+ // toc: link targets
 84+ divSngSplitLeft.find("a").each( function() {
 85+ $(this).click( function(event){
 86+ var id = $(this).attr("href").split('#')[1];
 87+ if (id) {
 88+ funSngTreeGotoId(id);
 89+ }
 90+ funSngTreeHighlightItem($(this));
 91+ });
 92+ // sets as title-attribute the text of a-element
 93+ var txt = $(this).text();
 94+ $(this).attr('title',txt);
 95+ });
 96+ // clicking on content
 97+ $("#content").find(":header").each( function() {
 98+ $(this).click( function(event){funSngClickHeader($(this));});
 99+ });
 100+ $("#content").find("p, ul, table").each( function() {
 101+ $(this).click( function(event){
 102+ var elmH = $(this).prevAll(":header:first");
 103+ if (elmH.length > 0) {
 104+ funSngClickHeader(elmH);
 105+ } else {
 106+ funSngTreeCollapseAll();
 107+ funSngTreeHighlightItem(divSngSplitLeft.find("a:first"));
 108+ }
 109+ });
 110+ });
 111+ funSngSplitToPos(tocPosSplitCur);
 112+ } else {
 113+ funSngSplitToPos(0);
 114+ }
 115+
 116+ funSngTreeInit();
 117+ // go to existing-address
 118+ var sUrl = document.URL;
 119+ if (sUrl.indexOf("#")>=0) {
 120+ location.href="#"+sUrl.split('#')[1];
 121+ }
 122+
 123+ /* By clicking on a heading-element on the right-pane,
 124+ * highlights and expand the corresponding item on toc. */
 125+ function funSngClickHeader(elmH) {
 126+ var sID = "";
 127+ sID = "#" + elmH.children(".mw-headline").attr("id");
 128+ // expand toc on this id
 129+ divSngSplitLeft.find("a").each( function() {
 130+ if ($(this).attr('href') === sID) {
 131+ funSngTreeCollapseAll();
 132+ funSngTreeHighlightItem($(this));
 133+ funSngTreeExpandParent($(this));
 134+ // scroll to this element
 135+ //this.scrollIntoView(true);
 136+ }
 137+ });
 138+ }
 139+
 140+ function funSngDragStart(e) {
 141+ if (e.target !== this) {
 142+ return;
 143+ }
 144+ divSngSplitBarGhost = divSngSplitBar.clone(false)
 145+ .insertAfter(divSngSplitLeft);
 146+ divSngSplitBarGhost.css({
 147+ 'position': 'absolute',
 148+ 'background-color': '#DDDDDD',
 149+ 'z-index': '250',
 150+ '-webkit-user-select': 'none',
 151+ 'left':divSngSplitBar.position().left
 152+ });
 153+ tocElmSplitChildren.css({
 154+ "-webkit-user-select": "none",
 155+ "-khtml-user-select": "none",
 156+ "-moz-user-select": "none"});
 157+ $(divSngSplitter).bind("mousemove", funSngDragPerform)
 158+ .bind("mouseup", funSngDragEnd);
 159+ return false; //IE does not select text with this line
 160+ }
 161+
 162+ function funSngDragPerform(e) {
 163+ var incr = e.pageX;
 164+ divSngSplitBarGhost.css("left", incr);
 165+ }
 166+
 167+ function funSngDragEnd(e){
 168+ var p = divSngSplitBarGhost.position();
 169+ divSngSplitBarGhost.remove();
 170+ divSngSplitBarGhost = null;
 171+ tocElmSplitChildren.css("-webkit-user-select", "text");
 172+ $(divSngSplitter).unbind("mousemove", funSngDragPerform)
 173+ .unbind("mouseup", funSngDragEnd);
 174+ tocPosSplitPrev = tocPosSplitCur;
 175+ tocPosSplitCur = p.left;
 176+ funSngSplitToPos(p.left);
 177+ }
 178+
 179+ function funSngSplitToPos(pos) {
 180+ var sizeB = divSngSplitter.width() - pos - divSngSplitBar.width();
 181+ divSngSplitLeft.css({"width":pos+'px'});
 182+ divSngSplitBar.css({"left":pos});
 183+ divSngSplitRight.css({"width":sizeB + 'px',
 184+ "left":pos + divSngSplitBar.width()});
 185+
 186+ divSngSplitter.queue(function() {
 187+ setTimeout(function() {
 188+ divSngSplitter.dequeue();
 189+ tocElmSplitChildren.trigger("resize");
 190+ }, 22);
 191+ });
 192+ }
 193+
 194+ /* Makes "display: none" of ul-elements. */
 195+ function funSngTreeCollapseAll() {
 196+ $("#idSngToc li").each( function() {
 197+ var elmUl = $(this).find("ul:first");
 198+ if ( elmUl.length > 0 && (elmUl.css("display") === "block") ) {
 199+ $(this).find("img:first").attr({'src':tocImgFolder+imgTocCollapsed});
 200+ elmUl.css({'display': 'none'});
 201+ }
 202+ });
 203+ }
 204+
 205+ /* Makes the display-style: block. */
 206+ function funSngTreeExpandAll() {
 207+ $("#idSngToc li").each( function() {
 208+ var elmUl = $(this).find("ul:first");
 209+ if ( elmUl.length > 0 && (elmUl.css("display") === "none") ) {
 210+ $(this).find("img:first").attr({'src':tocImgFolder+imgTocExpanded});
 211+ elmUl.css({'display': 'block'});
 212+ }
 213+ });
 214+ }
 215+
 216+ /* expands all the parents only, of an element */
 217+ function funSngTreeExpandParent(elmA){
 218+ var elmImg;
 219+ // the parent of a-elm is li-elm with parent a ul-elm.
 220+ var elmUl = elmA.parent().parent();
 221+ while (elmUl.get(0).nodeName === "UL"){
 222+ elmUl.css({'display': 'block'});
 223+ // the parent is li-elm, its first-child is img
 224+ elmImg = elmUl.parent().children().first();
 225+ if ( elmImg.get(0).nodeName === "IMG" ) {
 226+ if ( elmImg.attr('src').indexOf(imgTocAllCol) == -1) {
 227+ elmImg.attr({'src': tocImgFolder + imgTocExpanded});
 228+ }
 229+ }
 230+ elmUl = elmUl.parent().parent();
 231+ }
 232+ }
 233+
 234+ /* Goes to Id, and blinks it. From HTML5-Outliner */
 235+ function funSngTreeGotoId(id){
 236+ location.href = '#'+id;
 237+ var el = document.getElementById(id);
 238+ var currentOpacity = window.getComputedStyle(el).opacity,
 239+ currentTransition = window.getComputedStyle(el).webkitTransition;
 240+ var duration = 200,
 241+ itr = 0;
 242+ el.style.webkitTransitionProperty="opacity";
 243+ el.style.webkitTransitionDuration = duration+"ms";
 244+ el.style.webkitTransitionTimingFunction="ease";
 245+ var blink = function() {
 246+ el.style.opacity=(itr % 2 === 0 ? 0 : currentOpacity);
 247+ if (itr < 3) {
 248+ itr++;
 249+ setTimeout(blink, duration);
 250+ } else {
 251+ el.style.webkitTransition = currentTransition;
 252+ }
 253+ };
 254+ blink();
 255+ }
 256+
 257+ /* Highlights ONE item in toc-list */
 258+ function funSngTreeHighlightItem(elmA){
 259+ // removes existing highlighting
 260+ divSngSplitLeft.find("a").each(
 261+ function() {
 262+ $(this).removeAttr("class");
 263+ });
 264+ elmA.attr('class','classTocTreeHighlight');
 265+ }
 266+
 267+ /* Inserts images with onclick events, before a-elements. Sets id on li */
 268+ function funSngTreeInit() {
 269+ $("#idSngToc li").each( function() {
 270+ var elmA = $(this).find("a:first");
 271+ var elmUl = $(this).find("ul:first");
 272+ if (elmUl.length > 0) {
 273+ elmUl.css({'display': 'none'});
 274+ }
 275+ // create img-elm before a-elm
 276+ var elmImg = $("<img />")
 277+ .css({"margin":"0 4px 0 3px",
 278+ "cursor":"default"})
 279+ .attr({"src":tocImgFolder + imgTocLeaf})
 280+ .click( function(event){
 281+ if (elmUl.length > 0) {
 282+ $(this).css({'cursor': 'pointer'});
 283+ if ( $(this).attr('src').indexOf(imgTocCollapsed) >= 0) {
 284+ $(this).attr({"src":tocImgFolder+imgTocExpanded});
 285+ elmUl.css({'display': 'block'});
 286+ } else {
 287+ $(this).attr({"src":tocImgFolder+imgTocCollapsed});
 288+ elmUl.css({'display': 'none'});
 289+ }
 290+ }
 291+ })
 292+ .insertBefore(elmA);
 293+ if (elmUl.length > 0) {
 294+ elmImg.css({'cursor': 'pointer'});
 295+ elmImg.attr({"src":tocImgFolder+imgTocCollapsed});
 296+ }
 297+ });
 298+ }
 299+ });
 300+ };
 301+
 302+ $("#idSngSplitter").funJqTocSplit();
 303+
 304+});
\ No newline at end of file
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/synagonism.js
___________________________________________________________________
Added: svn:eol-style
1305 + native
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/video-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/video-icon.png
___________________________________________________________________
Added: svn:mime-type
2306 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-top.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-top.png
___________________________________________________________________
Added: svn:mime-type
3307 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/search-fade.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/search-fade.png
___________________________________________________________________
Added: svn:mime-type
4308 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/news-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/news-icon.png
___________________________________________________________________
Added: svn:mime-type
5309 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-collapsed.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-collapsed.png
___________________________________________________________________
Added: svn:mime-type
6310 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/document-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/document-icon.png
___________________________________________________________________
Added: svn:mime-type
7311 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/mail-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/mail-icon.png
___________________________________________________________________
Added: svn:mime-type
8312 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-base.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-base.png
___________________________________________________________________
Added: svn:mime-type
9313 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left2.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left2.png
___________________________________________________________________
Added: svn:mime-type
10314 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left3.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left3.png
___________________________________________________________________
Added: svn:mime-type
11315 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-right.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-right.png
___________________________________________________________________
Added: svn:mime-type
12316 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title.png
___________________________________________________________________
Added: svn:mime-type
13317 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/watch-icons.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/watch-icons.png
___________________________________________________________________
Added: svn:mime-type
14318 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-break.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-break.png
___________________________________________________________________
Added: svn:mime-type
15319 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break.png
___________________________________________________________________
Added: svn:mime-type
16320 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-current-fade.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-current-fade.png
___________________________________________________________________
Added: svn:mime-type
17321 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-left.png
___________________________________________________________________
Added: svn:mime-type
18322 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/audio-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/audio-icon.png
___________________________________________________________________
Added: svn:mime-type
19323 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/watch-icon-loading.gif
Cannot display: file marked as a binary type.
svn:mime-type = image/gif
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/watch-icon-loading.gif
___________________________________________________________________
Added: svn:mime-type
20324 + image/gif
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-normal-fade.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-normal-fade.png
___________________________________________________________________
Added: svn:mime-type
21325 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-fade.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-fade.png
___________________________________________________________________
Added: svn:mime-type
22326 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-all-exp.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-all-exp.png
___________________________________________________________________
Added: svn:mime-type
23327 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title2.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title2.png
___________________________________________________________________
Added: svn:mime-type
24328 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title3.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-title3.png
___________________________________________________________________
Added: svn:mime-type
25329 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-bottom.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/fade-bottom.png
___________________________________________________________________
Added: svn:mime-type
26330 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/external-link-rtl-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/external-link-rtl-icon.png
___________________________________________________________________
Added: svn:mime-type
27331 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/external-link-ltr-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/external-link-ltr-icon.png
___________________________________________________________________
Added: svn:mime-type
28332 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/MediaWiki.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/MediaWiki.png
___________________________________________________________________
Added: svn:mime-type
29333 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-edge.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/preferences-edge.png
___________________________________________________________________
Added: svn:mime-type
30334 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-leaf.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-leaf.png
___________________________________________________________________
Added: svn:mime-type
31335 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/search-rtl.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/search-rtl.png
___________________________________________________________________
Added: svn:mime-type
32336 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/search-ltr.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/search-ltr.png
___________________________________________________________________
Added: svn:mime-type
33337 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/user-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/user-icon.png
___________________________________________________________________
Added: svn:mime-type
34338 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/file-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/file-icon.png
___________________________________________________________________
Added: svn:mime-type
35339 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/edit-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/edit-icon.png
___________________________________________________________________
Added: svn:mime-type
36340 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/bullet-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/bullet-icon.png
___________________________________________________________________
Added: svn:mime-type
37341 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/lock-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/lock-icon.png
___________________________________________________________________
Added: svn:mime-type
38342 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/magnify-clip.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/magnify-clip.png
___________________________________________________________________
Added: svn:mime-type
39343 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-all-col.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-all-col.png
___________________________________________________________________
Added: svn:mime-type
40344 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/talk-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/talk-icon.png
___________________________________________________________________
Added: svn:mime-type
41345 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break-rtl.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break-rtl.png
___________________________________________________________________
Added: svn:mime-type
42346 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break-ltr.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/portal-break-ltr.png
___________________________________________________________________
Added: svn:mime-type
43347 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/link-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/link-icon.png
___________________________________________________________________
Added: svn:mime-type
44348 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/page-base.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/page-base.png
___________________________________________________________________
Added: svn:mime-type
45349 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/arrow-down-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/arrow-down-icon.png
___________________________________________________________________
Added: svn:mime-type
46350 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-expanded.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/toc-img-expanded.png
___________________________________________________________________
Added: svn:mime-type
47351 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-break.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/images/tab-break.png
___________________________________________________________________
Added: svn:mime-type
48352 + image/png
Index: trunk/extensions/skins/Synagonism/skins/synagonism/csshover.htc
@@ -0,0 +1,284 @@
 2+<public:attach event="ondocumentready" onevent="CSSHover()" />
 3+<script>
 4+/**
 5+ * Whatever:hover - V3.11
 6+ * ------------------------------------------------------------
 7+ * Author - Peter Nederlof, http://www.xs4all.nl/~peterned
 8+ * License - http://creativecommons.org/licenses/LGPL/2.1
 9+ *
 10+ * Special thanks to Sergiu Dumitriu, http://purl.org/net/sergiu,
 11+ * for fixing the expression loop.
 12+ *
 13+ * Whatever:hover is free software; you can redistribute it and/or
 14+ * modify it under the terms of the GNU Lesser General Public
 15+ * License as published by the Free Software Foundation; either
 16+ * version 2.1 of the License, or (at your option) any later version.
 17+ *
 18+ * Whatever:hover is distributed in the hope that it will be useful,
 19+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
 20+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 21+ * Lesser General Public License for more details.
 22+ *
 23+ * howto: body { behavior:url("csshover3.htc"); }
 24+ * ------------------------------------------------------------
 25+ */
 26+
 27+window.CSSHover = (function(){
 28+
 29+ // regular expressions, used and explained later on.
 30+ var REG_INTERACTIVE = /(^|\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active|focus))/i;
 31+ var REG_AFFECTED = /(.*?)\:(hover|active|focus)/i;
 32+ var REG_PSEUDO = /[^:]+:([a-z\-]+).*/i;
 33+ var REG_SELECT = /(\.([a-z0-9_\-]+):[a-z]+)|(:[a-z]+)/gi;
 34+ var REG_CLASS = /\.([a-z0-9_\-]*on(hover|active|focus))/i;
 35+ var REG_MSIE = /msie (5|6|7)/i;
 36+ var REG_COMPAT = /backcompat/i;
 37+
 38+ // property mapping, real css properties must be used in order to clear expressions later on...
 39+ // Uses obscure css properties that no-one is likely to use. The properties are borrowed to
 40+ // set an expression, and are then restored to the most likely correct value.
 41+ var Properties = {
 42+ index: 0,
 43+ list: ['text-kashida', 'text-kashida-space', 'text-justify'],
 44+ get: function() {
 45+ return this.list[(this.index++)%this.list.length];
 46+ }
 47+ };
 48+
 49+ // camelize is used to convert css properties from (eg) text-kashida to textKashida
 50+ var camelize = function(str) {
 51+ return str.replace(/-(.)/mg, function(result, match){
 52+ return match.toUpperCase();
 53+ });
 54+ };
 55+
 56+ /**
 57+ * Local CSSHover object
 58+ * --------------------------
 59+ */
 60+
 61+ var CSSHover = {
 62+
 63+ // array of CSSHoverElements, used to unload created events
 64+ elements: [],
 65+
 66+ // buffer used for checking on duplicate expressions
 67+ callbacks: {},
 68+
 69+ // init, called once ondomcontentready via the exposed window.CSSHover function
 70+ init:function() {
 71+ // don't run in IE8 standards; expressions don't work in standards mode anyway,
 72+ // and the stuff we're trying to fix should already work properly
 73+ if(!REG_MSIE.test(navigator.userAgent) && !REG_COMPAT.test(window.document.compatMode)) {
 74+ return;
 75+ }
 76+
 77+ // start parsing the existing stylesheets
 78+ var sheets = window.document.styleSheets, l = sheets.length;
 79+ for(var i=0; i<l; i++) {
 80+ this.parseStylesheet(sheets[i]);
 81+ }
 82+ },
 83+
 84+ // called from init, parses individual stylesheets
 85+ parseStylesheet:function(sheet) {
 86+ // check sheet imports and parse those recursively
 87+ if(sheet.imports) {
 88+ try {
 89+ var imports = sheet.imports;
 90+ var l = imports.length;
 91+ for(var i=0; i<l; i++) {
 92+ this.parseStylesheet(sheet.imports[i]);
 93+ }
 94+ } catch(securityException){
 95+ // trycatch for various possible errors
 96+ }
 97+ }
 98+
 99+ // interate the sheet's rules and send them to the parser
 100+ try {
 101+ var rules = sheet.rules;
 102+ var r = rules.length;
 103+ for(var j=0; j<r; j++) {
 104+ this.parseCSSRule(rules[j], sheet);
 105+ }
 106+ } catch(someException){
 107+ // trycatch for various errors, most likely accessing the sheet's rules.
 108+ }
 109+ },
 110+
 111+ // magic starts here ...
 112+ parseCSSRule:function(rule, sheet) {
 113+
 114+ // The sheet is used to insert new rules into, this must be the same sheet the rule
 115+ // came from, to ensure that relative paths keep pointing to the right location.
 116+
 117+ // only parse a rule if it contains an interactive pseudo.
 118+ var select = rule.selectorText;
 119+ if(REG_INTERACTIVE.test(select)) {
 120+ var style = rule.style.cssText;
 121+
 122+ // affected elements are found by truncating the selector after the interactive pseudo,
 123+ // eg: "div li:hover" >> "div li"
 124+ var affected = REG_AFFECTED.exec(select)[1];
 125+
 126+ // that pseudo is needed for a classname, and defines the type of interaction (focus, hover, active)
 127+ // eg: "li:hover" >> "onhover"
 128+ var pseudo = select.replace(REG_PSEUDO, 'on$1');
 129+
 130+ // the new selector is going to use that classname in a new css rule,
 131+ // since IE6 doesn't support multiple classnames, this is merged into one classname
 132+ // eg: "li:hover" >> "li.onhover", "li.folder:hover" >> "li.folderonhover"
 133+ var newSelect = select.replace(REG_SELECT, '.$2' + pseudo);
 134+
 135+ // the classname is needed for the events that are going to be set on affected nodes
 136+ // eg: "li.folder:hover" >> "folderonhover"
 137+ var className = REG_CLASS.exec(newSelect)[1];
 138+
 139+ // no need to set the same callback more than once when the same selector uses the same classname
 140+ var hash = affected + className;
 141+ if(!this.callbacks[hash]) {
 142+
 143+ // affected elements are given an expression under a borrowed css property, because fake properties
 144+ // can't have their expressions cleared. Different properties are used per pseudo, to avoid
 145+ // expressions from overwriting eachother. The expression does a callback to CSSHover.patch,
 146+ // rerouted via the exposed window.CSSHover function.
 147+ var property = Properties.get();
 148+ var atRuntime = camelize(property);
 149+
 150+ // because the expression is added to the stylesheet, and styles are always applied to html that is
 151+ // dynamically added to the dom, the expression will also trigger for those new elements (provided
 152+ // they are selected by the affected selector).
 153+ sheet.addRule(affected, property + ':expression(CSSHover(this, "'+pseudo+'", "'+className+'", "'+atRuntime+'"))');
 154+
 155+ // hash it, so an identical selector/class combo does not duplicate the expression
 156+ this.callbacks[hash] = true;
 157+ }
 158+
 159+ // duplicate expressions need not be set, but the style could differ
 160+ sheet.addRule(newSelect, style);
 161+ }
 162+ },
 163+
 164+ // called via the expression, patches individual nodes
 165+ patch:function(node, type, className, property) {
 166+
 167+ // restores the borrowed css property to the value of its immediate parent, clearing
 168+ // the expression so that it's not repeatedly called.
 169+ try {
 170+ var value = node.parentNode.currentStyle[property];
 171+ node.style[property] = value;
 172+ } catch(e) {
 173+ // the above reset should never fail, but just in case, clear the runtimeStyle if it does.
 174+ // this will also stop the expression.
 175+ node.runtimeStyle[property] = '';
 176+ }
 177+
 178+ // just to make sure, also keep track of patched classnames locally on the node
 179+ if(!node.csshover) {
 180+ node.csshover = [];
 181+ }
 182+
 183+ // and check for it to prevent duplicate events with the same classname from being set
 184+ if(!node.csshover[className]) {
 185+ node.csshover[className] = true;
 186+
 187+ // create an instance for the given type and class
 188+ var element = new CSSHoverElement(node, type, className);
 189+
 190+ // and store that instance for unloading later on
 191+ this.elements.push(element);
 192+ }
 193+
 194+ // returns a dummy value to the expression
 195+ return type;
 196+ },
 197+
 198+ // unload stuff onbeforeunload
 199+ unload:function() {
 200+ try {
 201+
 202+ // remove events
 203+ var l = this.elements.length;
 204+ for(var i=0; i<l; i++) {
 205+ this.elements[i].unload();
 206+ }
 207+
 208+ // and set properties to null
 209+ this.elements = [];
 210+ this.callbacks = {};
 211+
 212+ } catch (e) {
 213+ }
 214+ }
 215+ };
 216+
 217+ /**
 218+ * CSSHoverElement
 219+ * --------------------------
 220+ */
 221+
 222+ // the event types associated with the interactive pseudos
 223+ var CSSEvents = {
 224+ onhover: { activator: 'onmouseenter', deactivator: 'onmouseleave' },
 225+ onactive: { activator: 'onmousedown', deactivator: 'onmouseup' },
 226+ onfocus: { activator: 'onfocus', deactivator: 'onblur' }
 227+ };
 228+
 229+ // CSSHoverElement constructor, called via CSSHover.patch
 230+ function CSSHoverElement(node, type, className) {
 231+
 232+ // the CSSHoverElement patches individual nodes by manually applying the events that should
 233+ // have fired by the css pseudoclasses, eg mouseenter and mouseleave for :hover.
 234+
 235+ this.node = node;
 236+ this.type = type;
 237+ var replacer = new RegExp('(^|\\s)'+className+'(\\s|$)', 'g');
 238+
 239+ // store event handlers for removal onunload
 240+ this.activator = function(){ node.className += ' ' + className; };
 241+ this.deactivator = function(){ node.className = node.className.replace(replacer, ' '); };
 242+
 243+ // add the events
 244+ node.attachEvent(CSSEvents[type].activator, this.activator);
 245+ node.attachEvent(CSSEvents[type].deactivator, this.deactivator);
 246+ }
 247+
 248+ CSSHoverElement.prototype = {
 249+ // onbeforeunload, called via CSSHover.unload
 250+ unload:function() {
 251+
 252+ // remove events
 253+ this.node.detachEvent(CSSEvents[this.type].activator, this.activator);
 254+ this.node.detachEvent(CSSEvents[this.type].deactivator, this.deactivator);
 255+
 256+ // and set properties to null
 257+ this.activator = null;
 258+ this.deactivator = null;
 259+ this.node = null;
 260+ this.type = null;
 261+ }
 262+ };
 263+
 264+ // add the unload to the onbeforeunload event
 265+ window.attachEvent('onbeforeunload', function(){
 266+ CSSHover.unload();
 267+ });
 268+
 269+ /**
 270+ * Public hook
 271+ * --------------------------
 272+ */
 273+
 274+ return function(node, type, className, property) {
 275+ if(node) {
 276+ // called via the css expression; patches individual nodes
 277+ return CSSHover.patch(node, type, className, property);
 278+ } else {
 279+ // called ondomcontentready via the public:attach node
 280+ CSSHover.init();
 281+ }
 282+ };
 283+
 284+})();
 285+</script>
\ No newline at end of file
Index: trunk/extensions/skins/Synagonism/skins/synagonism/csshover.min.htc
@@ -0,0 +1,12 @@
 2+<public:attach event="ondocumentready" onevent="CSSHover()" />
 3+<script>
 4+/**
 5+ * Whatever:hover - V3.11
 6+ * http://www.xs4all.nl/~peterned/
 7+ *
 8+ * Copyright (c) 2009 Peter Nederlof
 9+ * Licensed under the LGPL license
 10+ * http://creativecommons.org/licenses/LGPL/2.1
 11+ */
 12+window.CSSHover=(function(){var m=/(^|\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active|focus))/i;var n=/(.*?)\:(hover|active|focus)/i;var o=/[^:]+:([a-z\-]+).*/i;var p=/(\.([a-z0-9_\-]+):[a-z]+)|(:[a-z]+)/gi;var q=/\.([a-z0-9_\-]*on(hover|active|focus))/i;var s=/msie (5|6|7)/i;var t=/backcompat/i;var u={index:0,list:['text-kashida','text-kashida-space','text-justify'],get:function(){return this.list[(this.index++)%this.list.length]}};var v=function(c){return c.replace(/-(.)/mg,function(a,b){return b.toUpperCase()})};var w={elements:[],callbacks:{},init:function(){if(!s.test(navigator.userAgent)&&!t.test(window.document.compatMode)){return}var a=window.document.styleSheets,l=a.length;for(var i=0;i<l;i++){this.parseStylesheet(a[i])}},parseStylesheet:function(a){if(a.imports){try{var b=a.imports;var l=b.length;for(var i=0;i<l;i++){this.parseStylesheet(a.imports[i])}}catch(securityException){}}try{var c=a.rules;var r=c.length;for(var j=0;j<r;j++){this.parseCSSRule(c[j],a)}}catch(someException){}},parseCSSRule:function(a,b){var c=a.selectorText;if(m.test(c)){var d=a.style.cssText;var e=n.exec(c)[1];var f=c.replace(o,'on$1');var g=c.replace(p,'.$2'+f);var h=q.exec(g)[1];var i=e+h;if(!this.callbacks[i]){var j=u.get();var k=v(j);b.addRule(e,j+':expression(CSSHover(this, "'+f+'", "'+h+'", "'+k+'"))');this.callbacks[i]=true}b.addRule(g,d)}},patch:function(a,b,c,d){try{var f=a.parentNode.currentStyle[d];a.style[d]=f}catch(e){a.runtimeStyle[d]=''}if(!a.csshover){a.csshover=[]}if(!a.csshover[c]){a.csshover[c]=true;var g=new CSSHoverElement(a,b,c);this.elements.push(g)}return b},unload:function(){try{var l=this.elements.length;for(var i=0;i<l;i++){this.elements[i].unload()}this.elements=[];this.callbacks={}}catch(e){}}};var x={onhover:{activator:'onmouseenter',deactivator:'onmouseleave'},onactive:{activator:'onmousedown',deactivator:'onmouseup'},onfocus:{activator:'onfocus',deactivator:'onblur'}};function CSSHoverElement(a,b,c){this.node=a;this.type=b;var d=new RegExp('(^|\\s)'+c+'(\\s|$)','g');this.activator=function(){a.className+=' '+c};this.deactivator=function(){a.className=a.className.replace(d,' ')};a.attachEvent(x[b].activator,this.activator);a.attachEvent(x[b].deactivator,this.deactivator)}CSSHoverElement.prototype={unload:function(){this.node.detachEvent(x[this.type].activator,this.activator);this.node.detachEvent(x[this.type].deactivator,this.deactivator);this.activator=null;this.deactivator=null;this.node=null;this.type=null}};window.attachEvent('onbeforeunload',function(){w.unload()});return function(a,b,c,d){if(a){return w.patch(a,b,c,d)}else{w.init()}}})();
 13+</script>
Index: trunk/extensions/skins/Synagonism/skins/synagonism/synagonism.css
@@ -0,0 +1,1305 @@
 2+/*
 3+ * version 2011.12.09
 4+ * This stylesheet is a modification of the one used in skin-vector.
 5+ *
 6+ * Any rules which should not be flipped automatically in right-to-left
 7+ * situations should be prepended with @noflip in a comment block.
 8+ * Images that should be embedded as base64 data-URLs
 9+ * should be prepended with @embed in a comment block.
 10+ *
 11+ * This style-sheet employs a few CSS trick to accomplish compatibility
 12+ * with a wide range of web browsers.
 13+ * The most common trick is to use some styles in IE6 only.
 14+ * This is accomplished by using a rule that makes things work in IE6,
 15+ * and then following it with a rule that begins with
 16+ * "html > body" or use a child selector ">",
 17+ * which is ignored by IE6 because it does not support the child selector.
 18+ * You can spot this by looking for the "OVERRIDDEN BY COMPLIANT BROWSERS" and
 19+ * "IGNORED BY IE6" comments.
 20+ */
 21+
 22+/* Framework */
 23+html,
 24+body {
 25+ height: 100%;
 26+ margin: 0;
 27+ padding: 0;
 28+ font-family: sans-serif;
 29+ font-size: 1em;
 30+}
 31+body {
 32+ background-color: #F7FAFF;
 33+ /* @embed */
 34+ background-image: url(images/page-base.png);
 35+}
 36+
 37+/***********************************************************/
 38+
 39+#idSngHeader {
 40+ background: url(images/fade-title2.png) repeat-x top;
 41+ background-color: #F7FAFF;
 42+ position: absolute;
 43+ top: 0;
 44+ left: 0;
 45+ height: 82px;
 46+ width: 100%;
 47+}
 48+
 49+/*** Logo ***/
 50+#p-logo {
 51+ position: absolute;
 52+ top: 7px;
 53+ left: 4px;
 54+ z-index: 9999;
 55+}
 56+#p-logo a {
 57+ display: block;
 58+ width: 74px;
 59+ height: 74px;
 60+ background-repeat: no-repeat;
 61+ background-position: center center;
 62+ text-decoration: none;
 63+ z-index: 9999;
 64+}
 65+
 66+/*** Personal ***/
 67+div#p-personal {
 68+ position: absolute;
 69+ top: 0;
 70+ right: 0;
 71+ height: 20px;
 72+ font-size: 10px;
 73+ z-index: 8888;
 74+}
 75+#p-personal h5 {
 76+ display: none;
 77+}
 78+#p-personal ul {
 79+ margin: 0;
 80+}
 81+#p-personal li {
 82+ display: block;
 83+ float: left;
 84+ margin-bottom: 0;
 85+ line-height: 17px;
 86+}
 87+#p-personal li a {
 88+ text-decoration: none;
 89+ color: #0B0050;
 90+ padding: 0 5px 0 5px;
 91+ line-height: 17px;
 92+}
 93+#p-personal li a:hover {
 94+ text-decoration: underline;
 95+ color: white;
 96+}
 97+#p-personal li:hover a {
 98+ background-color: #507aa5;
 99+ display: block;
 100+ color: white;
 101+}
 102+
 103+
 104+/*** Search ***/
 105+#p-search {
 106+ position: absolute;
 107+ top: 18px;
 108+ width: 100%;
 109+ height: 20px;
 110+ margin: 0 0 0 0;
 111+ z-index: 7777;
 112+}
 113+#p-search form {
 114+ position: relative;
 115+ margin-left: auto;
 116+ margin-right: auto;
 117+ top: 0;
 118+ width: 50%;
 119+}
 120+#p-search input[type="search"] {
 121+ width: 60%;
 122+ height: 19px;
 123+ line-height: 19px;
 124+}
 125+div#simpleSearch {
 126+ background-color: white;
 127+ position: relative;
 128+ margin-left: auto;
 129+ margin-right: auto;
 130+ top: 0;
 131+ width: 50%;
 132+ height: 20px;
 133+ display: block;
 134+ min-height: 20px; /* Gotta trigger hasLayout for IE7 */
 135+ border: solid 1px #AAAAAA;
 136+ color: black;
 137+}
 138+div#simpleSearch input {
 139+ margin: 0 0 0 0;
 140+}
 141+div#simpleSearch label {
 142+ font-size: 13px;
 143+ top: 0;
 144+ direction: ltr;
 145+}
 146+div#simpleSearch input {
 147+ color: black;
 148+ direction: ltr;
 149+}
 150+div#simpleSearch input:focus {
 151+ outline: none;
 152+}
 153+div#simpleSearch input.placeholder {
 154+ color: #999999;
 155+}
 156+div#simpleSearch input::-webkit-input-placeholder {
 157+ color: #999999;
 158+}
 159+div#simpleSearch input#searchInput {
 160+ position: absolute;
 161+ top: 0;
 162+ left: 0;
 163+ width: 90%;
 164+ height: 20px;
 165+ line-height: 20px;
 166+ margin: 0 0 0 4px;
 167+ padding: 0;
 168+ outline: none;
 169+ border: none;
 170+ font-size: 90%;
 171+ background-color: transparent;
 172+ direction: ltr;
 173+}
 174+div#simpleSearch button#searchButton {
 175+ position: absolute;
 176+ width: 30px;
 177+ height: 20px;
 178+ top: 0;
 179+ right: 0;
 180+ padding: 0;
 181+ margin: 0;
 182+ border: none;
 183+ cursor: pointer;
 184+ background-color: transparent;
 185+}
 186+/* OVERRIDDEN BY COMPLIANT BROWSERS */
 187+div#simpleSearch button#searchButton img {
 188+ position: fixed;
 189+ top: 25px;
 190+ border: none;
 191+ margin: 0;
 192+ padding: 0;
 193+}
 194+/* IGNORED BY IE6 */
 195+div#simpleSearch button#searchButton > img {
 196+ margin: 0;
 197+}
 198+#p-search h5 {
 199+ display: none;
 200+}
 201+
 202+/*** MENU ***/
 203+#idSngMenu {
 204+ position: absolute;
 205+ top: 42px;
 206+ left: 90px;
 207+ height: 20px;
 208+ font-size: 14px;
 209+ z-index: 260;
 210+ color: #0B0050;
 211+}
 212+.classSngMenu li {
 213+ float: left;
 214+ list-style: none;
 215+ padding: 0px 4px 0px 4px;
 216+ line-height: 18px;
 217+ margin: 0;
 218+}
 219+.classSngMenu li a {
 220+ color: #0B0050;
 221+ display: block;
 222+ line-height: 18px;
 223+ margin: 0;
 224+}
 225+/* Targeting the first level menu */
 226+ul.classSngMenu {
 227+ display: block;
 228+ margin: 0;
 229+}
 230+.classSngMenu a:hover,
 231+.classSngMenu li:hover {
 232+ -moz-border-radius: 3px 3px 0 0;
 233+ -webkit-border-radius: 3px 3px 0 0;
 234+ border-radius: 3px 3px 0 0;
 235+ background:#507aa5;
 236+ color:#ffffff;
 237+}
 238+.classSngMenu li:hover a {
 239+ color:#ffffff;
 240+}
 241+/* Targeting the second level menu */
 242+.classSngMenu li ul {
 243+ -moz-border-radius-bottomleft: 3px;
 244+ -moz-border-radius-bottomright: 3px;
 245+ -moz-border-radius-topright: 3px;
 246+ -moz-box-shadow: 1px 1px 1px #333;
 247+ -webkit-border-bottom-right-radius: 3px;
 248+ -webkit-box-shadow: 1px 1px 1px #333;
 249+ background:#507aa5;
 250+ border-bottom-left-radius: 3px;
 251+ border-bottom-right-radius: 3px;
 252+ border-top-right-radius: 3px;
 253+ box-shadow: 1px 1px 1px #333;
 254+ display: none;
 255+ margin: -4px;
 256+ padding: 2px 2px 0px 0px;
 257+ position: absolute;
 258+ top: 21px;
 259+ width: 140px;
 260+}
 261+.classSngMenu li ul li {
 262+ line-height: 22px;
 263+ width: 95%
 264+}
 265+.classSngMenu li ul li a {
 266+ background:#507aa5;
 267+ color:#ffffff;
 268+ line-height: 22px;
 269+}
 270+.classSngMenu li ul li:hover {
 271+ background:#107AAA;
 272+}
 273+.classSngMenu li ul li a:hover {
 274+ background:#107AAA;
 275+}
 276+
 277+/*** PaneTitle ***/
 278+#idSngTitle {
 279+ background: url(images/fade-title3.png) repeat-x bottom;
 280+ position: absolute;
 281+ top: 60px;
 282+ height: 22px;
 283+ left: 0;
 284+ width: 100%;
 285+ font-size: 20px;
 286+ line-height: 20px;
 287+ font-weight: bold;
 288+ font-family: monospace;
 289+ text-align: center;
 290+ vertical-align: middle;
 291+}
 292+
 293+
 294+/************************* SPLITTER *******************************/
 295+#idSngSplitter {
 296+ position: absolute;
 297+ top: 82px;
 298+ bottom: 0;
 299+ width: 100%;
 300+ margin: 0;
 301+ padding: 0;
 302+ z-index: 250;
 303+}
 304+
 305+/*** toc ***/
 306+#toc,
 307+.toc {
 308+ display: none;
 309+}
 310+#idSngSplitLeft{
 311+ background: url(images/fade-right.png) repeat-y;
 312+ background-color: #fcfdfe;
 313+ position: absolute;
 314+ left: 0;
 315+ height: 100%;
 316+ overflow: auto;
 317+ white-space: nowrap;
 318+ list-style-type: none;
 319+ list-style-image: none;
 320+ padding-left: 0;
 321+ text-align: left;
 322+ line-height: 14px;
 323+ font-size: 12px;
 324+}
 325+#idSngSplitLeft ul {
 326+ margin: 0 0 0 0;
 327+}
 328+#idSngToc ul {
 329+ list-style-type: none;
 330+ list-style-image: none;
 331+ margin: 0 0 0 12px;
 332+}
 333+
 334+a.classTocTreeHighlight {
 335+ background-color: yellow;
 336+}
 337+
 338+#idSngToc a {
 339+ text-decoration: none;
 340+ color: #0B0050;
 341+}
 342+#idSngToc a:hover {
 343+ text-decoration: underline;
 344+}
 345+
 346+#idSngSplitBar {
 347+ background: url(images/fade-left.png) repeat-y;
 348+ position: absolute;
 349+ width: 7px;
 350+ height: 100%;
 351+ cursor: col-resize;
 352+}
 353+#idSngSplitBar:hover {
 354+ background: url(images/fade-left3.png) repeat-y;
 355+}
 356+
 357+#idSngSplitButton{
 358+ background: url(images/fade-left2.png) repeat-y;
 359+ position: relative;
 360+ top: 40%;
 361+ height: 15%;
 362+ width: 7px;
 363+ cursor: pointer;
 364+}
 365+
 366+/*** PaneRight ***/
 367+#idSngSplitRight{
 368+ background-color: white;
 369+ position: absolute;
 370+ right: 0;
 371+ height: 100%;
 372+ width: 100%;
 373+ overflow: auto;
 374+}
 375+
 376+/* Navigation Containers */
 377+#page-navigation {
 378+ background-color: #F2F2F2;
 379+ height: 22px;
 380+ padding: 0 0 0 0;
 381+ margin: 0 0 0 0;
 382+ overflow: visible;
 383+ font-size: 14px;
 384+}
 385+#ca-view {
 386+ display: none;
 387+}
 388+
 389+/* Hide empty portlets */
 390+div.emptyPortlet {
 391+ display: none;
 392+}
 393+
 394+/* Navigation Labels */
 395+div.vectorTabs h5,
 396+div.vectorMenu h5 span {
 397+ display: none;
 398+}
 399+/* Namespaces and Views */
 400+/* @noflip */
 401+div.vectorTabs {
 402+ float: left;
 403+ /* @embed */
 404+ background-color: #F2F2F2;
 405+ height: 22px;
 406+}
 407+/* @noflip */
 408+div.vectorTabs ul {
 409+ float: left;
 410+ height: 22px;
 411+}
 412+div.vectorTabs ul {
 413+ list-style: none;
 414+ margin: 0;
 415+ padding: 0;
 416+ line-height: 22px;
 417+}
 418+/* @noflip */
 419+div.vectorTabs ul li {
 420+ float: left;
 421+}
 422+/* OVERRIDDEN BY COMPLIANT BROWSERS */
 423+div.vectorTabs ul li {
 424+ background-color: #F2F2F2;
 425+ line-height: 22px;
 426+ display: inline-block;
 427+ height: 22px;
 428+ margin: 0;
 429+ padding: 0;
 430+ /* @embed */
 431+ white-space:nowrap;
 432+}
 433+/* IGNORED BY IE6 */
 434+div.vectorTabs ul > li {
 435+ display: block;
 436+}
 437+div.vectorTabs li.selected {
 438+ /* @embed */
 439+ background-image: white;
 440+}
 441+/* OVERRIDDEN BY COMPLIANT BROWSERS */
 442+div.vectorTabs li a {
 443+ display: inline-block;
 444+ height: 22px;
 445+ padding-left: 0.5em;
 446+ padding-right: 0.5em;
 447+ color: #0B0050;
 448+ cursor: pointer;
 449+ font-size: 90%;
 450+}
 451+/* IGNORED BY IE6 */
 452+div.vectorTabs li > a {
 453+ display: block;
 454+}
 455+/* OVERRIDDEN BY COMPLIANT BROWSERS */
 456+div.vectorTabs span a {
 457+ display: inline-block;
 458+ height: 22px;
 459+}
 460+/* IGNORED BY IE6 */
 461+/* @noflip */
 462+div.vectorTabs span > a {
 463+ float: left;
 464+ display: block;
 465+ height: 22px;
 466+}
 467+div.vectorTabs span {
 468+ display: inline-block;
 469+ height: 22px;
 470+}
 471+div.vectorTabs li.selected a,
 472+div.vectorTabs li.selected a:visited{
 473+ background-color: white;
 474+ color: #333333;
 475+ text-decoration: none;
 476+}
 477+div.vectorTabs li.new a,
 478+div.vectorTabs li.new a:visited{
 479+ color: #a55858;
 480+}
 481+
 482+
 483+/*** PaneContent ***/
 484+div#content {
 485+ background-color: white;
 486+ padding: 0 0.5em 1em 0.5em;
 487+ color: black;
 488+ direction: ltr;
 489+}
 490+
 491+ /* Variants and Actions */
 492+ /* @noflip */
 493+ div.vectorMenu {
 494+ direction: ltr;
 495+ float: left;
 496+ /* @embed */
 497+ background-image: url(images/arrow-down-icon.png);
 498+ background-position: 0px 60%;
 499+ background-repeat: no-repeat;
 500+ cursor: pointer;
 501+ }
 502+ div.vectorMenuFocus {
 503+ /* @embed */
 504+ background-image: url(images/arrow-down-focus-icon.png);
 505+ background-position: 100% 60%;
 506+ }
 507+ /* @noflip */
 508+ body.rtl div.vectorMenu {
 509+ direction: rtl;
 510+ }
 511+ /* OVERRIDDEN BY COMPLIANT BROWSERS */
 512+ /* @noflip */
 513+ div.vectorMenu h5 a {
 514+ display: inline-block;
 515+ width: 24px;
 516+ height: 2.5em;
 517+ text-decoration: none;
 518+ /* @embed */
 519+ background-image: url(images/tab-break.png);
 520+ background-repeat: no-repeat;
 521+ }
 522+ /* This will be flipped - unlike the one above it */
 523+ div.vectorMenu h5 a {
 524+ background-position: bottom right;
 525+ }
 526+ /* IGNORED BY IE6 */
 527+ div.vectorMenu h5 > a {
 528+ display: block;
 529+ }
 530+ div.vectorMenu div.menu {
 531+ position: relative;
 532+ display: none;
 533+ clear: both;
 534+ text-align: left;
 535+ }
 536+ /* OVERRIDDEN BY COMPLIANT BROWSERS */
 537+ /* @noflip */
 538+ body.rtl div.vectorMenu div.menu {
 539+ margin-left: 24px;
 540+ }
 541+ /* IGNORED BY IE6 */
 542+ /* @noflip */
 543+ body.rtl div.vectorMenu > div.menu {
 544+ margin-left: auto;
 545+ }
 546+ /* IGNORED BY IE6 */
 547+ /* Also fixes old versions of FireFox */
 548+ /* @noflip */
 549+ body.rtl div.vectorMenu > div.menu,
 550+ x:-moz-any-link {
 551+ margin-left: 23px;
 552+ }
 553+ /* Enable forcing showing of the menu for accessibility */
 554+ div.vectorMenu:hover div.menu, div.vectorMenu div.menuForceShow {
 555+ display: block;
 556+ }
 557+ div.vectorMenu ul {
 558+ position: absolute;
 559+ background-color: white;
 560+ border: solid 1px silver;
 561+ border-top-width: 0;
 562+ list-style: none;
 563+ list-style-image: none;
 564+ list-style-type: none;
 565+ padding: 0;
 566+ margin: 0;
 567+ margin-left: -1px;
 568+ text-align: left;
 569+ }
 570+ /* Fixes old versions of FireFox */
 571+ div.vectorMenu ul,
 572+ x:-moz-any-link {
 573+ min-width: 5em;
 574+ }
 575+ /* Returns things back to normal in modern versions of FireFox */
 576+ div.vectorMenu ul,
 577+ x:-moz-any-link,
 578+ x:default {
 579+ min-width: 0;
 580+ }
 581+ div.vectorMenu li {
 582+ padding: 0;
 583+ margin: 0;
 584+ text-align: left;
 585+ line-height: 1em;
 586+ }
 587+ /* OVERRIDDEN BY COMPLIANT BROWSERS */
 588+ div.vectorMenu li a {
 589+ display: inline-block;
 590+ padding: 0.5em;
 591+ white-space: nowrap;
 592+ color: #0645ad;
 593+ cursor: pointer;
 594+ font-size: 0.8em;
 595+ }
 596+ /* IGNORED BY IE6 */
 597+ div.vectorMenu li > a {
 598+ display: block;
 599+ }
 600+ div.vectorMenu li.selected a,
 601+ div.vectorMenu li.selected a:visited {
 602+ color: #333333;
 603+ text-decoration: none;
 604+ }
 605+/* Panel */
 606+div#mw-panel {
 607+ position: absolute;
 608+ top: 160px;
 609+ padding-top: 1em;
 610+ width: 10em;
 611+ left: 0;
 612+}
 613+ div#mw-panel div.portal {
 614+ padding-bottom: 1.5em;
 615+ direction: ltr;
 616+ }
 617+ div#mw-panel div.portal h5 {
 618+ font-weight: normal;
 619+ color: #444444;
 620+ padding: 0.25em;
 621+ padding-top: 0;
 622+ padding-left: 1.75em;
 623+ cursor: default;
 624+ border: none;
 625+ font-size: 0.75em;
 626+ }
 627+ div#mw-panel div.portal div.body {
 628+ margin: 0;
 629+ padding-top: 0.5em;
 630+ margin-left: 1.25em;
 631+ /* @embed */
 632+ background-image: url(images/portal-break.png);
 633+ background-repeat: no-repeat;
 634+ background-position: top left;
 635+ }
 636+ div#mw-panel div.portal div.body ul {
 637+ list-style: none;
 638+ list-style-image: none;
 639+ list-style-type: none;
 640+ padding: 0;
 641+ margin: 0;
 642+ }
 643+ div#mw-panel div.portal div.body ul li {
 644+ line-height: 1.125em;
 645+ padding: 0;
 646+ padding-bottom: 0.5em;
 647+ margin: 0;
 648+ overflow: hidden;
 649+ font-size: 0.75em;
 650+ }
 651+ div#mw-panel div.portal div.body ul li a {
 652+ color: #0645ad;
 653+ }
 654+ div#mw-panel div.portal div.body ul li a:visited {
 655+ color: #0b0080;
 656+ }
 657+/* Footer */
 658+div#footer {
 659+ background: url(images/fade-bottom.png) repeat-x;
 660+ background-color: #F2F2F2;
 661+ margin-left: 0;
 662+ margin-top: 0;
 663+ padding: 0.75em;
 664+ /* @embed */
 665+ direction: ltr;
 666+}
 667+div#footer ul {
 668+ list-style: none;
 669+ list-style-image: none;
 670+ list-style-type: none;
 671+ margin: 0;
 672+ padding: 0;
 673+}
 674+div#footer ul li {
 675+ margin: 0;
 676+ padding: 0;
 677+ padding-top: 0.5em;
 678+ padding-bottom: 0.5em;
 679+ color: #333333;
 680+ font-size: 0.7em;
 681+}
 682+div#footer #footer-icons {
 683+ float: right;
 684+}
 685+/* @noflip */
 686+body.ltr div#footer #footer-places {
 687+ float: left;
 688+}
 689+div#footer #footer-info li {
 690+ line-height: 1.4em;
 691+}
 692+div#footer #footer-icons li {
 693+ float: left;
 694+ margin-left: 0.5em;
 695+ line-height: 2em;
 696+ text-align: right;
 697+}
 698+div#footer #footer-places li {
 699+ float: left;
 700+ margin-right: 1em;
 701+ line-height: 2em;
 702+}
 703+
 704+/*
 705+ *
 706+ * The following code is highly modified from monobook. It would be nice if the
 707+ * preftoc id was more human readable like preferences-toc for instance,
 708+ * howerver this would require backporting the other skins.
 709+ */
 710+
 711+/* Preferences */
 712+#preftoc {
 713+ /* Tabs */
 714+ width: 100%;
 715+ float: left;
 716+ clear: both;
 717+ margin: 0 !important;
 718+ padding: 0 !important;
 719+ /* @embed */
 720+ background-image: url(images/preferences-break.png);
 721+ background-position: bottom left;
 722+ background-repeat: no-repeat;
 723+}
 724+ #preftoc li {
 725+ /* Tab */
 726+ float: left;
 727+ margin: 0;
 728+ padding: 0;
 729+ padding-right: 1px;
 730+ height: 2.25em;
 731+ white-space: nowrap;
 732+ list-style-type: none;
 733+ list-style-image: none;
 734+ /* @embed */
 735+ background-image: url(images/preferences-break.png);
 736+ background-position: bottom right;
 737+ background-repeat: no-repeat;
 738+ }
 739+ /* Sadly, IE6 won't understand this */
 740+ #preftoc li:first-child {
 741+ margin-left: 1px;
 742+ }
 743+ #preftoc a,
 744+ #preftoc a:active {
 745+ display: inline-block;
 746+ position: relative;
 747+ color: #0645ad;
 748+ padding: 0.5em;
 749+ text-decoration: none;
 750+ background-image: none;
 751+ font-size: 0.9em;
 752+ }
 753+ #preftoc a:hover,
 754+ #preftoc a:focus {
 755+ text-decoration: underline;
 756+ }
 757+ #preftoc li.selected a {
 758+ /* @embed */
 759+ background-image: url(images/preferences-fade.png);
 760+ background-position: bottom;
 761+ background-repeat: repeat-x;
 762+ color: #333333;
 763+ text-decoration: none;
 764+ }
 765+#preferences {
 766+ float: left;
 767+ width: 100%;
 768+ margin: 0;
 769+ margin-top: -2px;
 770+ clear: both;
 771+ border: solid 1px #cccccc;
 772+ background-color: #f9f9f9;
 773+ /* @embed */
 774+ background-image: url(images/preferences-base.png);
 775+}
 776+#preferences fieldset {
 777+ border: none;
 778+ border-top: solid 1px #cccccc;
 779+}
 780+#preferences fieldset.prefsection {
 781+ border: none;
 782+ padding: 0;
 783+ margin: 1em;
 784+}
 785+#preferences legend {
 786+ color: #666666;
 787+}
 788+#preferences fieldset.prefsection legend.mainLegend {
 789+ display: none;
 790+}
 791+#preferences td {
 792+ padding-left: 0.5em;
 793+ padding-right: 0.5em;
 794+}
 795+#preferences td.htmlform-tip {
 796+ font-size: x-small;
 797+ padding: .2em 2em;
 798+ color: #666666;
 799+}
 800+#preferences div.mw-prefs-buttons {
 801+ padding: 1em;
 802+}
 803+#preferences div.mw-prefs-buttons input {
 804+ margin-right: 0.25em;
 805+}
 806+
 807+/*
 808+ * Styles for the user login and create account forms
 809+ */
 810+#userlogin, #userloginForm {
 811+ border: solid 1px #cccccc;
 812+ padding: 1.2em;
 813+ margin: .5em;
 814+ float: left;
 815+}
 816+
 817+#userlogin {
 818+ min-width: 20em;
 819+ max-width: 90%;
 820+ width: 40em;
 821+}
 822+
 823+/*
 824+ *
 825+ * The following code is slightly modified from monobook
 826+ *
 827+ */
 828+div#content {
 829+ line-height: 1.5em;
 830+}
 831+#bodyContent {
 832+ font-size: 0.8em;
 833+}
 834+/* Links */
 835+a {
 836+ text-decoration: none;
 837+ color: #0645ad;
 838+ background: none;
 839+}
 840+a:visited {
 841+ color: #0b0080;
 842+}
 843+a:active {
 844+ color: #faa700;
 845+}
 846+a:hover, a:focus {
 847+ text-decoration: underline;
 848+}
 849+a.stub {
 850+ color: #772233;
 851+}
 852+
 853+/* Inline Elements */
 854+img {
 855+ border: none;
 856+ vertical-align: middle;
 857+}
 858+hr {
 859+ height: 1px;
 860+ color: #aaa;
 861+ background-color: #aaa;
 862+ border: 0;
 863+ margin: .2em 0 .2em 0;
 864+}
 865+
 866+/* Structural Elements */
 867+h1,
 868+h2,
 869+h3,
 870+h4,
 871+h5,
 872+h6 {
 873+ background-color: #FAFAFA;
 874+ overflow: hidden;
 875+ border-top: 1px solid #e5e5e5;
 876+ color: #000000;
 877+ font-family: Georgia, "Times New Roman", Times, serif;
 878+ font-weight: normal;
 879+ margin: 0;
 880+ overflow: hidden;
 881+ padding-bottom: .17em;
 882+ width: auto;
 883+}
 884+h1 { font-size: 188%; }
 885+h1 .editsection { font-size: 53%; }
 886+h2 { font-size: 150%; }
 887+h2 .editsection { font-size: 67%; }
 888+h3 {
 889+ font-size: 120%;
 890+ margin-left: 10px;
 891+}
 892+h4,
 893+h5,
 894+h6 {
 895+ margin-left: 20px;
 896+}
 897+h3 { font-size: 132%; }
 898+h3 .editsection { font-size: 76%; font-weight: normal; }
 899+h4 { font-size: 116%; }
 900+h4 .editsection { font-size: 86%; font-weight: normal; }
 901+h5 { font-size: 100%; }
 902+h5 .editsection { font-weight: normal; }
 903+h6 { font-size: 80%; }
 904+h6 .editsection { font-size: 125%; font-weight: normal; }
 905+.editsection { float: right; }
 906+p {
 907+ margin: .4em 0 .5em 0;
 908+ line-height: 1.5em;
 909+}
 910+p img {
 911+ margin: 0;
 912+}
 913+q {
 914+ font-family: Times, "Times New Roman", serif;
 915+ font-style: italic;
 916+}
 917+/* Disabled for now
 918+blockquote {
 919+ font-family: Times, "Times New Roman", serif;
 920+ font-style: italic;
 921+}*/
 922+pre, code, tt, kbd, samp {
 923+ /*
 924+ * It's important for this rule to first reference an actual font name, some browsers will render the monospace text
 925+ * too small otherwise, namely Firefox, Chrome and Safari
 926+ */
 927+ font-family: monospace, "Courier New";
 928+}
 929+code {
 930+ background-color: #f9f9f9;
 931+}
 932+pre {
 933+ padding: 1em;
 934+ border: 1px dashed #2f6fab;
 935+ color: black;
 936+ background-color: #f9f9f9;
 937+ line-height: 1.3em;
 938+}
 939+ul {
 940+ line-height: 1.5em;
 941+ list-style-type: square;
 942+ margin: .3em 0 0 1.5em;
 943+ padding: 0;
 944+ /* @embed */
 945+ list-style-image: url(images/bullet-icon.png);
 946+}
 947+ol {
 948+ line-height: 1.5em;
 949+ margin: .3em 0 0 3.2em;
 950+ padding: 0;
 951+ list-style-image: none;
 952+}
 953+li {
 954+ margin-bottom: .1em;
 955+}
 956+dt {
 957+ font-weight: bold;
 958+ margin-bottom: .1em;
 959+}
 960+dl {
 961+ margin-top: .2em;
 962+ margin-bottom: .5em;
 963+}
 964+dd {
 965+ line-height: 1.5em;
 966+ margin-left: 2em;
 967+ margin-bottom: .1em;
 968+}
 969+/* Tables */
 970+table {
 971+ font-size: 100%;
 972+}
 973+/* Forms */
 974+fieldset {
 975+ border: 1px solid #2f6fab;
 976+ margin: 1em 0 1em 0;
 977+ padding: 0 1em 1em;
 978+ line-height: 1.5em;
 979+}
 980+ fieldset.nested {
 981+ margin: 0 0 0.5em 0;
 982+ padding: 0 0.5em 0.5em;
 983+ }
 984+legend {
 985+ padding: .5em;
 986+ font-size: 95%;
 987+}
 988+form {
 989+ border: none;
 990+ margin: 0;
 991+}
 992+textarea {
 993+ width: 100%;
 994+ padding: .1em;
 995+}
 996+select {
 997+ vertical-align: top;
 998+}
 999+div.floatright p { font-style: italic; }
 1000+/* @noflip */div.floatleft, table.floatleft {
 1001+ margin: 0 .5em .5em 0;
 1002+ border: 0;
 1003+}
 1004+div.floatleft p { font-style: italic; }
 1005+/* Thumbnails */
 1006+div.thumb {
 1007+ margin-bottom: .5em;
 1008+ width: auto;
 1009+ background-color: transparent;
 1010+}
 1011+div.thumbinner {
 1012+ border: 1px solid #ccc;
 1013+ padding: 3px !important;
 1014+ background-color: #f9f9f9;
 1015+ font-size: 94%;
 1016+ text-align: center;
 1017+ overflow: hidden;
 1018+}
 1019+html .thumbimage {
 1020+ border: 1px solid #ccc;
 1021+}
 1022+html .thumbcaption {
 1023+ border: none;
 1024+ text-align: left;
 1025+ line-height: 1.4em;
 1026+ padding: 3px !important;
 1027+ font-size: 94%;
 1028+}
 1029+div.magnify {
 1030+ float: right;
 1031+ border: none !important;
 1032+ background: none !important;
 1033+}
 1034+div.magnify a, div.magnify img {
 1035+ display: block;
 1036+ border: none !important;
 1037+ background: none !important;
 1038+}
 1039+/* @noflip */div.tright {
 1040+ margin: .5em 0 1.3em 1.4em;
 1041+}
 1042+/* @noflip */div.tleft {
 1043+ margin: .5em 1.4em 1.3em 0;
 1044+}
 1045+img.thumbborder {
 1046+ border: 1px solid #dddddd;
 1047+}
 1048+/* Warning */
 1049+.mw-warning {
 1050+ margin-left: 50px;
 1051+ margin-right: 50px;
 1052+ text-align: center;
 1053+}
 1054+/* User Message */
 1055+.usermessage {
 1056+ background-color: #ffce7b;
 1057+ border: 1px solid #ffa500;
 1058+ color: black;
 1059+ font-weight: bold;
 1060+ margin: 2em 0 1em;
 1061+ padding: .5em 1em;
 1062+ vertical-align: middle;
 1063+}
 1064+/* Site Notice (includes notices from CentralNotice extension) */
 1065+#siteNotice {
 1066+ position: relative;
 1067+ text-align: center;
 1068+ font-size: 0.8em;
 1069+ margin: 0;
 1070+}
 1071+#localNotice {
 1072+ margin-bottom: 0.9em;
 1073+}
 1074+/* Categories */
 1075+.catlinks {
 1076+ border: 1px solid #aaa;
 1077+ background-color: #f9f9f9;
 1078+ padding: 5px;
 1079+ margin-top: 1em;
 1080+ clear: both;
 1081+}
 1082+/* Sub-navigation */
 1083+#siteSub {
 1084+ display: none;
 1085+}
 1086+#jump-to-nav {
 1087+ display: none;
 1088+}
 1089+#contentSub, #contentSub2 {
 1090+ font-size: 84%;
 1091+ line-height: 1.2em;
 1092+ margin: 0 0 1.4em 1em;
 1093+ color: #7d7d7d;
 1094+ width: auto;
 1095+}
 1096+span.subpages {
 1097+ display: block;
 1098+}
 1099+/* Emulate Center */
 1100+.center {
 1101+ width: 100%;
 1102+ text-align: center;
 1103+}
 1104+*.center * {
 1105+ margin-left: auto;
 1106+ margin-right: auto;
 1107+}
 1108+/* Small for tables and similar */
 1109+.small {
 1110+ font-size: 94%;
 1111+}
 1112+table.small {
 1113+ font-size: 100%;
 1114+}
 1115+/* Edge Cases for Content */
 1116+h1, h2 {
 1117+ margin-bottom: .6em;
 1118+}
 1119+h3, h4, h5 {
 1120+ margin-bottom: .3em;
 1121+}
 1122+div#content a.external,
 1123+div#content a[href ^="gopher://"] {
 1124+ /* @embed */
 1125+ background: url(images/external-link-ltr-icon.png) center right no-repeat;
 1126+ padding-right: 13px;
 1127+}
 1128+div#content a[href ^="https://"],
 1129+.link-https {
 1130+ /* @embed */
 1131+ background: url(images/lock-icon.png) center right no-repeat;
 1132+ padding-right: 13px;
 1133+}
 1134+div#content a[href ^="mailto:"],
 1135+.link-mailto {
 1136+ /* @embed */
 1137+ background: url(images/mail-icon.png) center right no-repeat;
 1138+ padding-right: 13px;
 1139+}
 1140+div#content a[href ^="news://"] {
 1141+ /* @embed */
 1142+ background: url(images/news-icon.png) center right no-repeat;
 1143+ padding-right: 13px;
 1144+}
 1145+div#content a[href ^="ftp://"],
 1146+.link-ftp {
 1147+ /* @embed */
 1148+ background: url(images/file-icon.png) center right no-repeat;
 1149+ padding-right: 13px;
 1150+}
 1151+div#content a[href ^="irc://"],
 1152+div#content a.extiw[href ^="irc://"],
 1153+div#content a[href ^="ircs://"],
 1154+div#content a.extiw[href ^="ircs://"],
 1155+.link-irc {
 1156+ /* @embed */
 1157+ background: url(images/talk-icon.png) center right no-repeat;
 1158+ padding-right: 13px;
 1159+}
 1160+div#content a.external[href $=".ogg"], div#content a.external[href $=".OGG"],
 1161+div#content a.external[href $=".mid"], div#content a.external[href $=".MID"],
 1162+div#content a.external[href $=".midi"], div#content a.external[href $=".MIDI"],
 1163+div#content a.external[href $=".mp3"], div#content a.external[href $=".MP3"],
 1164+div#content a.external[href $=".wav"], div#content a.external[href $=".WAV"],
 1165+div#content a.external[href $=".wma"], div#content a.external[href $=".WMA"],
 1166+.link-audio {
 1167+ /* @embed */
 1168+ background: url("images/audio-icon.png?2") center right no-repeat;
 1169+ padding-right: 13px;
 1170+}
 1171+div#content a.external[href $=".ogm"], div#content a.external[href $=".OGM"],
 1172+div#content a.external[href $=".avi"], div#content a.external[href $=".AVI"],
 1173+div#content a.external[href $=".mpeg"], div#content a.external[href $=".MPEG"],
 1174+div#content a.external[href $=".mpg"], div#content a.external[href $=".MPG"],
 1175+.link-video {
 1176+ /* @embed */
 1177+ background: url("images/video-icon.png?2") center right no-repeat;
 1178+ padding-right: 13px;
 1179+}
 1180+div#content a.external[href $=".pdf"], div#content a.external[href $=".PDF"],
 1181+div#content a.external[href *=".pdf#"], div#content a.external[href *=".PDF#"],
 1182+div#content a.external[href *=".pdf?"], div#content a.external[href *=".PDF?"],
 1183+.link-document {
 1184+ /* @embed */
 1185+ background: url("images/document-icon.png?2") center right no-repeat;
 1186+ padding-right: 13px;
 1187+}
 1188+
 1189+/* Interwiki Styling */
 1190+div#content a.extiw,
 1191+div#content a.extiw:active {
 1192+ color: #36b;
 1193+ /* Don't show icons for interwiki links */
 1194+ background: none;
 1195+ padding: 0;
 1196+}
 1197+div#content a.extiw:visited {
 1198+ color: #636;
 1199+}
 1200+div#content a.extiw:active {
 1201+ color: #b63;
 1202+}
 1203+
 1204+/* External links */
 1205+div#content a.external {
 1206+ color: #36b;
 1207+}
 1208+div#content a.external:visited {
 1209+ color: #636; /* bug 3112 */
 1210+}
 1211+div#content a.external:active {
 1212+ color: #b63;
 1213+}
 1214+
 1215+
 1216+div#content .printfooter {
 1217+ display: none;
 1218+}
 1219+/* Icon for Usernames */
 1220+#pt-userpage,
 1221+#pt-anonuserpage,
 1222+#pt-login {
 1223+ /* @embed */
 1224+ background: url(images/user-icon.png) left 2px no-repeat;
 1225+ padding-left: 15px !important;
 1226+}
 1227+
 1228+.redirectText {
 1229+ font-size: 140%;
 1230+}
 1231+
 1232+.redirectMsg img {
 1233+ vertical-align: text-bottom;
 1234+}
 1235+
 1236+.toccolours {
 1237+ border: 1px solid #aaa;
 1238+ background-color: #f9f9f9;
 1239+ padding: 5px;
 1240+ font-size: 95%;
 1241+}
 1242+#bodyContent {
 1243+ position: relative;
 1244+ width: 100%;
 1245+}
 1246+#mw-js-message {
 1247+ font-size: 0.8em;
 1248+}
 1249+div#bodyContent {
 1250+ line-height: 1.5em;
 1251+}
 1252+
 1253+/* Watch/Unwatch Icon Styling */
 1254+#ca-unwatch.icon a,
 1255+#ca-watch.icon a {
 1256+ margin: 0;
 1257+ padding: 0;
 1258+ outline: none;
 1259+ display: block;
 1260+ width: 26px;
 1261+ /* This hides the text but shows the background image */
 1262+ padding-top: 3.1em;
 1263+ margin-top: 0;
 1264+ /* Only applied in IE6 */
 1265+ /* margin-top: -0.8em !ie;*/
 1266+ height: 0;
 1267+ overflow: hidden;
 1268+ /* @embed */
 1269+ background-image: url(images/watch-icons.png);
 1270+}
 1271+#ca-unwatch.icon a {
 1272+ background-position: -43px 60%;
 1273+}
 1274+#ca-watch.icon a {
 1275+ background-position: 5px 60%;
 1276+}
 1277+#ca-unwatch.icon a:hover,
 1278+#ca-unwatch.icon a:focus {
 1279+ background-position: -67px 60%;
 1280+}
 1281+#ca-watch.icon a:hover,
 1282+#ca-watch.icon a:focus {
 1283+ background-position: -19px 60%;
 1284+}
 1285+#ca-unwatch.icon a.loading,
 1286+#ca-watch.icon a.loading {
 1287+ /* @embed */
 1288+ background-image: url(images/watch-icon-loading.gif);
 1289+ background-position: 5px 60%;
 1290+}
 1291+#ca-unwatch.icon a span,
 1292+#ca-watch.icon a span {
 1293+ display: none;
 1294+}
 1295+div.vectorTabs ul {
 1296+ /* @embed */
 1297+ background-image:url(images/tab-break.png);
 1298+ background-position:right bottom;
 1299+ background-repeat:no-repeat;
 1300+}
 1301+
 1302+/* Tooltips are outside of the normal body code, so this helps make the size of the text sensible */
 1303+.tipsy {
 1304+ font-size: 0.8em;
 1305+}
 1306+
Property changes on: trunk/extensions/skins/Synagonism/skins/synagonism/synagonism.css
___________________________________________________________________
Added: svn:eol-style
11307 + native
Index: trunk/extensions/skins/Synagonism/skins/common/commonPrint.css
@@ -0,0 +1,394 @@
 2+/**
 3+ * MediaWiki Print style sheet for CSS2-capable browsers.
 4+ * Copyright Gabriel Wicke, http://www.aulinx.de/
 5+ *
 6+ * Derived from the plone (http://plone.org/) styles
 7+ * Copyright Alexander Limi
 8+ */
 9+
 10+/* Thanks to A List Apart (http://alistapart.com/) for useful extras */
 11+a.stub,
 12+a.new {
 13+ color: #ba0000;
 14+ text-decoration: none;
 15+}
 16+
 17+/* images */
 18+div.floatright {
 19+ float: right;
 20+ clear: right;
 21+ position: relative;
 22+ margin: 0.5em 0 0.8em 1.4em;
 23+}
 24+div.floatright p {
 25+ font-style: italic;
 26+}
 27+div.floatleft {
 28+ float: left;
 29+ clear: left;
 30+ position: relative;
 31+ margin: 0.5em 1.4em 0.8em 0;
 32+}
 33+div.floatleft p {
 34+ font-style: italic;
 35+}
 36+div.center {
 37+ text-align: center;
 38+}
 39+
 40+/* thumbnails */
 41+div.thumb {
 42+ border: none;
 43+ width: auto;
 44+ margin-top: 0.5em;
 45+ margin-bottom: 0.8em;
 46+ background-color: transparent;
 47+}
 48+div.thumbinner {
 49+ border:1px solid #cccccc;
 50+ padding: 3px !important;
 51+ background-color: White;
 52+ font-size: 94%;
 53+ text-align: center;
 54+ overflow: hidden;
 55+}
 56+html .thumbimage {
 57+ border: 1px solid #cccccc;
 58+}
 59+html .thumbcaption {
 60+ border: none;
 61+ text-align: left;
 62+ line-height: 1.4em;
 63+ padding: 3px !important;
 64+ font-size: 94%;
 65+}
 66+
 67+div.magnify {
 68+ display: none;
 69+}
 70+/* @noflip */
 71+div.tright {
 72+ float: right;
 73+ clear: right;
 74+ margin: 0.5em 0 0.8em 1.4em;
 75+}
 76+/* @noflip */
 77+div.tleft {
 78+ float: left;
 79+ clear: left;
 80+ margin: 0.5em 1.4em 0.8em 0;
 81+}
 82+img.thumbborder {
 83+ border: 1px solid #dddddd;
 84+}
 85+
 86+/* table standards */
 87+table.rimage {
 88+ float: right;
 89+ width: 1pt;
 90+ position: relative;
 91+ margin-left: 1em;
 92+ margin-bottom: 1em;
 93+ text-align: center;
 94+}
 95+
 96+body {
 97+ background: white;
 98+ color: black;
 99+ margin: 0;
 100+ padding: 0;
 101+}
 102+
 103+.noprint,
 104+div#jump-to-nav,
 105+.mw-jump,
 106+div.top,
 107+div#column-one,
 108+#colophon,
 109+.editsection,
 110+#toc, /* synagonism */
 111+#toctitle,
 112+.toctoggle,
 113+.tochidden,
 114+div#f-poweredbyico,
 115+div#f-copyrightico,
 116+li#viewcount,
 117+li#about,
 118+li#disclaimer,
 119+li#privacy,
 120+#footer-places,
 121+.mw-hidden-catlinks,
 122+tr.mw-metadata-show-hide-extended,
 123+span.mw-filepage-other-resolutions,
 124+#filetoc {
 125+ /* Hides all the elements irrelevant for printing */
 126+ display: none;
 127+}
 128+
 129+ul {
 130+ list-style-type: square;
 131+}
 132+
 133+#content {
 134+ background: none;
 135+ border: none !important;
 136+ padding: 0 !important;
 137+ margin: 0 !important;
 138+ direction: ltr;
 139+}
 140+#footer {
 141+ background : white;
 142+ color : black;
 143+ margin-top: 1em;
 144+ border-top: 1px solid #AAA;
 145+ direction: ltr;
 146+}
 147+
 148+h1, h2, h3, h4, h5, h6 {
 149+ font-weight: bold;
 150+}
 151+
 152+p, .documentDescription {
 153+ margin: 1em 0 !important;
 154+ line-height: 1.2em;
 155+}
 156+
 157+.tocindent p {
 158+ margin: 0 0 0 0 !important;
 159+}
 160+
 161+pre {
 162+ border: 1pt dashed black;
 163+ white-space: pre;
 164+ font-size: 8pt;
 165+ overflow: auto;
 166+ padding: 1em 0;
 167+ background: white;
 168+ color: black;
 169+}
 170+
 171+table.listing,
 172+table.listing td {
 173+ border: 1pt solid black;
 174+ border-collapse: collapse;
 175+}
 176+
 177+a {
 178+ color: black !important;
 179+ background: none !important;
 180+ padding: 0 !important;
 181+}
 182+
 183+a:link, a:visited {
 184+ color: #520;
 185+ background: transparent;
 186+ text-decoration: underline;
 187+}
 188+
 189+#content a.external.text:after,
 190+#content a.external.autonumber:after {
 191+ /* Expand URLs for printing */
 192+ content: " (" attr(href) ") ";
 193+}
 194+
 195+#globalWrapper {
 196+ width: 100% !important;
 197+ min-width: 0 !important;
 198+}
 199+
 200+#content {
 201+ background: white;
 202+ color: black;
 203+}
 204+
 205+#column-content {
 206+ margin: 0 !important;
 207+}
 208+
 209+#column-content #content {
 210+ padding: 1em;
 211+ margin: 0 !important;
 212+}
 213+
 214+/* MSIE/Win doesn't understand 'inherit' */
 215+a,
 216+a.external,
 217+a.new,
 218+a.stub {
 219+ color: black !important;
 220+ text-decoration: none !important;
 221+}
 222+
 223+/* Continue ... */
 224+a,
 225+a.external,
 226+a.new,
 227+a.stub {
 228+ color: inherit !important;
 229+ text-decoration: inherit !important;
 230+}
 231+
 232+img {
 233+ border: none;
 234+ vertical-align: middle;
 235+}
 236+
 237+/* math */
 238+span.texhtml {
 239+ font-family: serif;
 240+}
 241+
 242+#siteNotice {
 243+ display: none;
 244+}
 245+
 246+/* Galleries (see shared.css for more info) */
 247+li.gallerybox {
 248+ vertical-align: top;
 249+ border: solid 2px white;
 250+ display: -moz-inline-box;
 251+ display: inline-block;
 252+}
 253+
 254+ul.gallery, li.gallerybox {
 255+ zoom: 1;
 256+ *display: inline;
 257+}
 258+
 259+ul.gallery {
 260+ margin: 2px;
 261+ padding: 2px;
 262+ display: block;
 263+}
 264+
 265+li.gallerycaption {
 266+ font-weight: bold;
 267+ text-align: center;
 268+ display: block;
 269+ word-wrap: break-word;
 270+}
 271+
 272+li.gallerybox div.thumb {
 273+ text-align: center;
 274+ border: 1px solid #ccc;
 275+ margin: 2px;
 276+}
 277+
 278+div.gallerytext {
 279+ overflow: hidden;
 280+ font-size: 94%;
 281+ padding: 2px 4px;
 282+ word-wrap: break-word;
 283+}
 284+
 285+/**
 286+ * Diff rendering
 287+ */
 288+table.diff {
 289+ background: white;
 290+}
 291+td.diff-otitle {
 292+ background: #ffffff;
 293+}
 294+td.diff-ntitle {
 295+ background: #ffffff;
 296+}
 297+td.diff-addedline {
 298+ background: #ccffcc;
 299+ font-size: smaller;
 300+ border: solid 2px black;
 301+}
 302+td.diff-deletedline {
 303+ background: #ffffaa;
 304+ font-size: smaller;
 305+ border: dotted 2px black;
 306+}
 307+td.diff-context {
 308+ background: #eeeeee;
 309+ font-size: smaller;
 310+}
 311+.diffchange {
 312+ color: silver;
 313+ font-weight: bold;
 314+ text-decoration: underline;
 315+}
 316+
 317+/**
 318+ * Table rendering
 319+ * As on shared.css but with white background.
 320+ */
 321+table.wikitable,
 322+table.mw_metadata {
 323+ margin: 1em 1em 1em 0;
 324+ border: 1px #aaa solid;
 325+ background: white;
 326+ border-collapse: collapse;
 327+}
 328+.wikitable th, .wikitable td,
 329+.mw_metadata th, .mw_metadata td {
 330+ border: 1px #aaa solid;
 331+ padding: 0.2em;
 332+}
 333+.wikitable th,
 334+.mw_metadata th {
 335+ text-align: center;
 336+ background: white;
 337+ font-weight: bold;
 338+}
 339+.wikitable caption,
 340+.mw_metadata caption {
 341+ font-weight: bold;
 342+}
 343+
 344+a.sortheader {
 345+ margin: 0 0.3em;
 346+}
 347+
 348+/* Some pagination options */
 349+.wikitable, .thumb, img {
 350+ page-break-inside: avoid;
 351+}
 352+h2, h3, h4, h5, h6, h7 {
 353+ page-break-after: avoid;
 354+}
 355+p {
 356+ widows: 3;
 357+ orphans: 3;
 358+}
 359+
 360+/**
 361+ * Categories
 362+ */
 363+.catlinks ul {
 364+ display: inline;
 365+ margin: 0;
 366+ padding: 0;
 367+ list-style: none;
 368+ list-style-type: none;
 369+ list-style-image: none;
 370+ vertical-align: middle !ie;
 371+}
 372+
 373+.catlinks li {
 374+ display: inline-block;
 375+ line-height: 1.15em;
 376+ padding: 0 .4em;
 377+ border-left: 1px solid #AAA;
 378+ margin: 0.1em 0;
 379+ zoom: 1;
 380+ display: inline !ie;
 381+}
 382+
 383+.catlinks li:first-child {
 384+ padding-left: .2em;
 385+ border-left: none;
 386+}
 387+
 388+/* synagonism */
 389+#idSngTitle {
 390+ font-size: 174%;
 391+ font-weight: bold;
 392+ border-bottom: 1px solid #AAA;
 393+ padding-bottom: 5px;
 394+ margin-bottom: 5px;
 395+}
\ No newline at end of file
Property changes on: trunk/extensions/skins/Synagonism/skins/common/commonPrint.css
___________________________________________________________________
Added: svn:eol-style
1396 + native
Index: trunk/extensions/skins/Synagonism/skins/Synagonism.php
@@ -0,0 +1,445 @@
 2+<?php
 3+/**
 4+ * version 2011.12.09
 5+ * Synagonism - modification of Skin-Vector.
 6+ *
 7+ * @todo document
 8+ * @file
 9+ * @ingroup Skins
 10+ * @author Kaseluris-Nikos-1959 (http://users.otenet.gr/~nikkas/)
 11+ */
 12+
 13+if( !defined( 'MEDIAWIKI' ) ) {
 14+ die( -1 );
 15+}
 16+
 17+/**
 18+ * SkinTemplate class for Synagonism skin
 19+ * @ingroup Skins
 20+ */
 21+class SkinSynagonism extends SkinTemplate {
 22+
 23+ var $skinname = 'synagonism', $stylename = 'synagonism',
 24+ $template = 'SynagonismTemplate', $useHeadElement = true;
 25+
 26+ /**
 27+ * Initializes output page and sets up skin-specific parameters
 28+ * @param $out OutputPage object to initialize
 29+ */
 30+ public function initPage( OutputPage $out ) {
 31+ global $wgLocalStylePath, $wgRequest;
 32+
 33+ parent::initPage( $out );
 34+
 35+ // Append CSS which includes IE only behavior fixes for hover support -
 36+ // this is better than including this in a CSS fille since it doesn't
 37+ // wait for the CSS file to load before fetching the HTC file.
 38+ $min = $wgRequest->getFuzzyBool( 'debug' ) ? '' : '.min';
 39+ $out->addHeadItem( 'csshover',
 40+ '<!--[if lt IE 7]><style type="text/css">body{behavior:url("' .
 41+ htmlspecialchars( $wgLocalStylePath ) .
 42+ "/{$this->stylename}/csshover{$min}.htc\")}</style><![endif]-->"
 43+ );
 44+
 45+ $out->addModuleScripts( 'skins.synagonism' );
 46+ }
 47+
 48+ /**
 49+ * Load skin and user CSS files in the correct order
 50+ * fixes bug 22916
 51+ * @param $out OutputPage object
 52+ */
 53+ function setupSkinUserCss( OutputPage $out ){
 54+ parent::setupSkinUserCss( $out );
 55+ $out->addModuleStyles( 'skins.synagonism' );
 56+ }
 57+}
 58+
 59+/**
 60+ * QuickTemplate class for Synagonism skin
 61+ * @ingroup Skins
 62+ */
 63+class SynagonismTemplate extends BaseTemplate {
 64+
 65+ /* Members */
 66+
 67+ /**
 68+ * @var Skin Cached skin object
 69+ */
 70+ var $skin;
 71+
 72+ /* Functions */
 73+
 74+ /**
 75+ * Outputs the entire contents of the (X)HTML page
 76+ */
 77+ public function execute() {
 78+ global $wgLang, $wgVectorUseIconWatch;
 79+
 80+ $this->skin = $this->data['skin'];
 81+
 82+ // Build additional attributes for navigation urls
 83+ //$nav = $this->skin->buildNavigationUrls();
 84+ $nav = $this->data['content_navigation'];
 85+
 86+ if ( $wgVectorUseIconWatch ) {
 87+ $mode = $this->skin->getTitle()->userIsWatching() ? 'unwatch' : 'watch';
 88+ if ( isset( $nav['actions'][$mode] ) ) {
 89+ $nav['views'][$mode] = $nav['actions'][$mode];
 90+ $nav['views'][$mode]['class'] = rtrim( 'icon ' . $nav['views'][$mode]['class'], ' ' );
 91+ $nav['views'][$mode]['primary'] = true;
 92+ unset( $nav['actions'][$mode] );
 93+ }
 94+ }
 95+
 96+ $xmlID = '';
 97+ foreach ( $nav as $section => $links ) {
 98+ foreach ( $links as $key => $link ) {
 99+ if ( $section == 'views' && !( isset( $link['primary'] ) && $link['primary'] ) ) {
 100+ $link['class'] = rtrim( 'collapsible ' . $link['class'], ' ' );
 101+ }
 102+ $xmlID = isset( $link['id'] ) ? $link['id'] : 'ca-' . $xmlID;
 103+ $nav[$section][$key]['attributes'] =
 104+ ' id="' . Sanitizer::escapeId( $xmlID ) . '"';
 105+ if ( $link['class'] ) {
 106+ $nav[$section][$key]['attributes'] .=
 107+ ' class="' . htmlspecialchars( $link['class'] ) . '"';
 108+ unset( $nav[$section][$key]['class'] );
 109+ }
 110+ if ( isset( $link['tooltiponly'] ) && $link['tooltiponly'] ) {
 111+ $nav[$section][$key]['key'] =
 112+ Linker::tooltip( $xmlID );
 113+ } else {
 114+ $nav[$section][$key]['key'] =
 115+ Xml::expandAttributes( Linker::tooltipAndAccesskeyAttribs( $xmlID ) );
 116+ }
 117+ }
 118+ }
 119+ $this->data['namespace_urls'] = $nav['namespaces'];
 120+ $this->data['view_urls'] = $nav['views'];
 121+ $this->data['action_urls'] = $nav['actions'];
 122+ $this->data['variant_urls'] = $nav['variants'];
 123+
 124+ // Reverse horizontally rendered navigation elements
 125+ if ( $wgLang->isRTL() ) {
 126+ $this->data['view_urls'] =
 127+ array_reverse( $this->data['view_urls'] );
 128+ $this->data['namespace_urls'] =
 129+ array_reverse( $this->data['namespace_urls'] );
 130+ $this->data['personal_urls'] =
 131+ array_reverse( $this->data['personal_urls'] );
 132+ }
 133+
 134+// Output HTML Page
 135+$this->html( 'headelement' ); ?>
 136+
 137+<div id="idSngHeader">
 138+ <div id="p-logo"><a style="background-image: url(<?php $this->text( 'logopath' ) ?>);" href="<?php echo htmlspecialchars( $this->data['nav_urls']['mainpage']['href'] ) ?>" <?php echo Xml::expandAttributes( Linker::tooltipAndAccesskeyAttribs( 'p-logo' ) ) ?>></a>
 139+ </div>
 140+
 141+ <?php $this->renderNavigation( 'PERSONAL' ); ?>
 142+
 143+ <?php $this->renderNavigation( 'SEARCH' ); ?>
 144+
 145+ <div id="idSngMenu" class="noprint">
 146+ <ul class="classSngMenu">
 147+ <?php $this->renderPortals( $this->data['sidebar'] ); ?>
 148+ <li><a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>/Help:Contents">Help</a></li>
 149+ </ul>
 150+ </div> <!-- PaneMenu -->
 151+
 152+ <div id="idSngTitle">
 153+ <?php $this->html('title') ?>
 154+ </div>
 155+</div><!-- /PaneHeader -->
 156+
 157+<div id="idSngSplitter">
 158+
 159+ <div id="idSngSplitLeft" class="noprint">
 160+ </div>
 161+
 162+ <div id="idSngSplitRight">
 163+ <a id="idTop"></a>
 164+
 165+ <div id="page-navigation">
 166+ <?php $this->renderNavigation( array( 'NAMESPACES', 'VARIANTS' ) ); ?>
 167+ <?php $this->renderNavigation( array( 'VIEWS', 'ACTIONS' ) ); ?>
 168+ </div>
 169+
 170+ <div id="content">
 171+ <div id="mw-js-message" style="display:none;"<?php $this->html( 'userlangattributes' ) ?>></div>
 172+ <?php if ( $this->data['sitenotice'] ): ?>
 173+ <!-- sitenotice -->
 174+ <div id="siteNotice"><?php $this->html( 'sitenotice' ) ?></div>
 175+ <!-- /sitenotice -->
 176+ <?php endif; ?>
 177+
 178+ <!-- bodyContent -->
 179+ <div id="bodyContent">
 180+ <?php if ( $this->data['isarticle'] ): ?>
 181+ <!-- tagline -->
 182+ <div id="siteSub"><?php $this->msg( 'tagline' ) ?></div>
 183+ <!-- /tagline -->
 184+ <?php endif; ?>
 185+ <!-- subtitle -->
 186+ <div id="contentSub"<?php $this->html( 'userlangattributes' ) ?>><?php $this->html( 'subtitle' ) ?></div>
 187+ <!-- /subtitle -->
 188+ <?php if ( $this->data['undelete'] ): ?>
 189+ <!-- undelete -->
 190+ <div id="contentSub2"><?php $this->html( 'undelete' ) ?></div>
 191+ <!-- /undelete -->
 192+ <?php endif; ?>
 193+ <?php if( $this->data['newtalk'] ): ?>
 194+ <!-- newtalk -->
 195+ <div class="usermessage"><?php $this->html( 'newtalk' ) ?></div>
 196+ <!-- /newtalk -->
 197+ <?php endif; ?>
 198+ <?php if ( $this->data['showjumplinks'] ): ?>
 199+ <!-- jumpto -->
 200+ <div id="jump-to-nav">
 201+ <?php $this->msg( 'jumpto' ) ?> <a href="#idTop"><?php $this->msg( 'jumptonavigation' ) ?></a>,
 202+ <a href="#p-search"><?php $this->msg( 'jumptosearch' ) ?></a>
 203+ </div>
 204+ <!-- /jumpto -->
 205+ <?php endif; ?>
 206+ <!-- bodycontent -->
 207+ <?php $this->html( 'bodycontent' ) ?>
 208+ <!-- /bodycontent -->
 209+ <?php if ( $this->data['printfooter'] ): ?>
 210+ <!-- printfooter -->
 211+ <div class="printfooter">
 212+ <?php $this->html( 'printfooter' ); ?>
 213+ </div>
 214+ <!-- /printfooter -->
 215+ <?php endif; ?>
 216+ <?php if ( $this->data['catlinks'] ): ?>
 217+ <!-- catlinks -->
 218+ <?php $this->html( 'catlinks' ); ?>
 219+ <!-- /catlinks -->
 220+ <?php endif; ?>
 221+ <?php if ( $this->data['dataAfterContent'] ): ?>
 222+ <!-- dataAfterContent -->
 223+ <?php $this->html( 'dataAfterContent' ); ?>
 224+ <!-- /dataAfterContent -->
 225+ <?php endif; ?>
 226+ <div class="visualClear"></div>
 227+ <!-- debughtml -->
 228+ <?php $this->html( 'debughtml' ); ?>
 229+ <!-- /debughtml -->
 230+ </div><!-- /bodyContent -->
 231+ </div> <!-- /content -->
 232+
 233+ <div id="footer"<?php $this->html( 'userlangattributes' ) ?>>
 234+ <?php foreach( $this->getFooterLinks() as $category => $links ): ?>
 235+ <ul id="footer-<?php echo $category ?>">
 236+ <?php foreach( $links as $link ): ?>
 237+ <li id="footer-<?php echo $category ?>-<?php echo $link ?>"><?php $this->html( $link ) ?></li>
 238+ <?php endforeach; ?>
 239+ </ul>
 240+ <?php endforeach; ?>
 241+ <?php $footericons = $this->getFooterIcons("icononly");
 242+ if ( count( $footericons ) > 0 ): ?>
 243+ <ul id="footer-icons" class="noprint"><?php
 244+ foreach ( $footericons as $blockName => $footerIcons ): ?>
 245+ <li id="footer-<?php echo htmlspecialchars( $blockName ); ?>ico"><?php
 246+ foreach ( $footerIcons as $icon ): ?>
 247+ <?php echo $this->skin->makeFooterIcon( $icon ); ?><?php
 248+ endforeach; ?>
 249+ </li><?php
 250+ endforeach; ?>
 251+ </ul>
 252+ <?php endif; ?>
 253+ <div style="clear:both"></div>
 254+ </div><!-- /footer -->
 255+ <!-- fixalpha -->
 256+ <script type="<?php $this->text( 'jsmimetype' ) ?>"> if ( window.isMSIE55 ) fixalpha(); </script>
 257+ <!-- /fixalpha -->
 258+ <?php $this->printTrail(); ?>
 259+ </div><!-- /PaneSplitRight -->
 260+</div><!-- /PaneSplitter -->
 261+
 262+</body>
 263+</html>
 264+
 265+
 266+<?php
 267+ }
 268+
 269+ /********************************************************************/
 270+ /**
 271+ * Render a series of portals
 272+ *
 273+ * @param $portals array
 274+ */
 275+ private function renderPortals( $portals ) {
 276+ // Force the rendering of the following portals
 277+ if ( !isset( $portals['SEARCH'] ) ) {
 278+ $portals['SEARCH'] = true;
 279+ }
 280+ if ( !isset( $portals['TOOLBOX'] ) ) {
 281+ $portals['TOOLBOX'] = true;
 282+ }
 283+ if ( !isset( $portals['LANGUAGES'] ) ) {
 284+ $portals['LANGUAGES'] = true;
 285+ }
 286+ // Render portals
 287+ foreach ( $portals as $name => $content ) {
 288+ if ( $content === false )
 289+ continue;
 290+
 291+ echo "\n<!-- {$name} -->\n";
 292+ switch( $name ) {
 293+ case 'SEARCH':
 294+ break;
 295+ case 'TOOLBOX':
 296+ $this->renderPortal( 'tb', $this->getToolbox(), 'toolbox', 'SkinTemplateToolboxEnd' );
 297+ break;
 298+ case 'LANGUAGES':
 299+ if ( $this->data['language_urls'] ) {
 300+ $this->renderPortal( 'lang', $this->data['language_urls'], 'otherlanguages' );
 301+ }
 302+ break;
 303+ default:
 304+ $this->renderPortal( $name, $content );
 305+ break;
 306+ }
 307+ echo "\n<!-- /{$name} -->\n";
 308+ }
 309+ }
 310+
 311+ /********************************************************************/
 312+ private function renderPortal( $name, $content, $msg = null, $hook = null ) {
 313+ if ( !isset( $msg ) ) {
 314+ $msg = $name;
 315+ } ?>
 316+<li><?php $msgObj = wfMessage( $msg ); echo htmlspecialchars( $msgObj->exists() ? $msgObj->text() : $msg ); ?>
 317+<?php
 318+ if ( is_array( $content ) ): ?>
 319+ <ul><?php
 320+ foreach( $content as $key => $val ): ?>
 321+ <?php echo $this->makeListItem( $key, $val ); ?><?php
 322+ endforeach;
 323+ if ( isset( $hook ) ) {
 324+ wfRunHooks( $hook, array( &$this, true ) );
 325+ } ?>
 326+ </ul><?php
 327+ else: ?>
 328+ <?php echo $content; /* Allow raw HTML block to be defined by extensions */ ?> <?php
 329+ endif; ?>
 330+</li> <?php
 331+ }
 332+
 333+ /********************************************************************/
 334+ /**
 335+ * Render one or more navigations elements by name, automatically reveresed
 336+ * when UI is in RTL mode
 337+ */
 338+ private function renderNavigation( $elements ) {
 339+ global $wgVectorUseSimpleSearch, $wgVectorShowVariantName, $wgUser, $wgLang;
 340+
 341+ // If only one element was given, wrap it in an array, allowing more
 342+ // flexible arguments
 343+ if ( !is_array( $elements ) ) {
 344+ $elements = array( $elements );
 345+ // If there's a series of elements, reverse them when in RTL mode
 346+ } elseif ( $wgLang->isRTL() ) {
 347+ $elements = array_reverse( $elements );
 348+ }
 349+ // Render elements
 350+ foreach ( $elements as $name => $element ) {
 351+ echo "\n<!-- {$name} -->\n";
 352+ switch ( $element ) {
 353+ case 'NAMESPACES': ?>
 354+<div id="p-namespaces" class="vectorTabs noprint<?php if ( count( $this->data['namespace_urls'] ) == 0 ) echo ' emptyPortlet'; ?>">
 355+ <h5><?php $this->msg( 'namespaces' ) ?></h5>
 356+ <ul<?php $this->html( 'userlangattributes' ) ?>>
 357+ <?php foreach ( $this->data['namespace_urls'] as $link ): ?>
 358+ <li <?php echo $link['attributes'] ?>><span><a href="<?php echo htmlspecialchars( $link['href'] ) ?>" <?php echo $link['key'] ?>><?php echo htmlspecialchars( $link['text'] ) ?></a></span></li>
 359+ <?php endforeach; ?>
 360+ </ul>
 361+</div> <?php
 362+ break;
 363+ case 'VARIANTS': ?>
 364+<div id="p-variants" class="vectorMenu noprint<?php if ( count( $this->data['variant_urls'] ) == 0 ) echo ' emptyPortlet'; ?>">
 365+ <?php if ( $wgVectorShowVariantName ): ?>
 366+ <h4>
 367+ <?php foreach ( $this->data['variant_urls'] as $link ): ?>
 368+ <?php if ( stripos( $link['attributes'], 'selected' ) !== false ): ?>
 369+ <?php echo htmlspecialchars( $link['text'] ) ?>
 370+ <?php endif; ?>
 371+ <?php endforeach; ?>
 372+ </h4>
 373+ <?php endif; ?>
 374+ <h5><span><?php $this->msg( 'variants' ) ?></span><a href="#"></a></h5>
 375+ <div class="menu">
 376+ <ul<?php $this->html( 'userlangattributes' ) ?>>
 377+ <?php foreach ( $this->data['variant_urls'] as $link ): ?>
 378+ <li<?php echo $link['attributes'] ?>><a href="<?php echo htmlspecialchars( $link['href'] ) ?>" <?php echo $link['key'] ?>><?php echo htmlspecialchars( $link['text'] ) ?></a></li>
 379+ <?php endforeach; ?>
 380+ </ul>
 381+ </div>
 382+</div> <?php
 383+ break;
 384+ case 'VIEWS': ?>
 385+<div id="p-views" class="vectorTabs noprint<?php if ( count( $this->data['view_urls'] ) == 0 ) { echo ' emptyPortlet'; } ?>">
 386+ <h5><?php $this->msg('views') ?></h5>
 387+ <ul<?php $this->html('userlangattributes') ?>>
 388+ <?php foreach ( $this->data['view_urls'] as $link ): ?>
 389+ <li<?php echo $link['attributes'] ?>><span><a href="<?php echo htmlspecialchars( $link['href'] ) ?>" <?php echo $link['key'] ?>><?php
 390+ // $link['text'] can be undefined - bug 27764
 391+ if ( array_key_exists( 'text', $link ) ) {
 392+ echo array_key_exists( 'img', $link ) ? '<img src="' . $link['img'] . '" alt="' . $link['text'] . '" />' : htmlspecialchars( $link['text'] );
 393+ }
 394+ ?></a></span></li>
 395+ <?php endforeach; ?>
 396+ </ul>
 397+</div> <?php
 398+ break;
 399+ case 'ACTIONS': ?>
 400+<div id="p-cactions" class="vectorTabs noprint<?php if ( count( $this->data['action_urls'] ) == 0 ) echo ' emptyPortlet'; ?>">
 401+ <h5><?php $this->msg( 'actions' ) ?></h5>
 402+ <ul<?php $this->html( 'userlangattributes' ) ?>>
 403+ <?php foreach ( $this->data['action_urls'] as $link ): ?>
 404+ <li <?php echo $link['attributes'] ?>><span><a href="<?php echo htmlspecialchars( $link['href'] ) ?>" <?php echo $link['key'] ?>><?php echo htmlspecialchars( $link['text'] ) ?></a></span></li>
 405+ <?php endforeach; ?>
 406+ </ul>
 407+</div> <?php
 408+ break;
 409+ case 'PERSONAL': ?>
 410+<div id="p-personal" class="noprint<?php if ( count( $this->data['personal_urls'] ) == 0 ) echo ' emptyPortlet'; ?>">
 411+ <h5><?php $this->msg( 'personaltools' ) ?></h5>
 412+ <ul<?php $this->html( 'userlangattributes' ) ?>> <?php
 413+ foreach( $this->getPersonalTools() as $key => $item ) { ?>
 414+ <?php echo $this->makeListItem( $key, $item ); ?> <?php
 415+ } ?>
 416+ </ul>
 417+</div><?php
 418+ break;
 419+ case 'SEARCH': ?>
 420+<div id="p-search" class="noprint">
 421+ <h5<?php $this->html( 'userlangattributes' ) ?>><label for="searchInput"><?php $this->msg( 'search' ) ?></label></h5>
 422+ <form action="<?php $this->text( 'wgScript' ) ?>" id="searchform">
 423+ <input type='hidden' name="title" value="<?php $this->text( 'searchtitle' ) ?>"/>
 424+ <?php if ( $wgVectorUseSimpleSearch && $wgUser->getOption( 'vector-simplesearch' ) ): ?>
 425+ <div id="simpleSearch">
 426+ <?php if ( $this->data['rtl'] ): ?>
 427+ <?php echo $this->makeSearchButton( 'image', array( 'id' => 'searchButton', 'src' => $this->skin->getSkinStylePath( 'images/search-rtl.png' ) ) ); ?>
 428+ <?php endif; ?>
 429+ <?php echo $this->makeSearchInput( array( 'id' => 'searchInput', 'type' => 'text' ) ); ?>
 430+ <?php if ( !$this->data['rtl'] ): ?>
 431+ <?php echo $this->makeSearchButton( 'image', array( 'id' => 'searchButton', 'src' => $this->skin->getSkinStylePath( 'images/search-ltr.png' ) ) ); ?>
 432+ <?php endif; ?>
 433+ </div>
 434+ <?php else: ?>
 435+ <?php echo $this->makeSearchInput( array( 'id' => 'searchInput' ) ); ?>
 436+ <?php echo $this->makeSearchButton( 'go', array( 'id' => 'searchGoButton', 'class' => 'searchButton' ) ); ?>
 437+ <?php echo $this->makeSearchButton( 'fulltext', array( 'id' => 'mw-searchButton', 'class' => 'searchButton' ) ); ?>
 438+ <?php endif; ?>
 439+ </form>
 440+</div> <?php
 441+ break;
 442+ }
 443+ echo "\n<!-- /{$name} -->\n";
 444+ }
 445+ }
 446+}
Property changes on: trunk/extensions/skins/Synagonism/skins/Synagonism.php
___________________________________________________________________
Added: svn:eol-style
1447 + native
Index: trunk/extensions/skins/Synagonism/resources/Resources.php
@@ -0,0 +1,713 @@
 2+<?php
 3+
 4+return array(
 5+
 6+ /* Special resources who have their own classes */
 7+
 8+ 'site' => array( 'class' => 'ResourceLoaderSiteModule' ),
 9+ 'noscript' => array( 'class' => 'ResourceLoaderNoscriptModule' ),
 10+ 'startup' => array( 'class' => 'ResourceLoaderStartUpModule' ),
 11+ 'user' => array( 'class' => 'ResourceLoaderUserModule' ),
 12+ 'user.groups' => array( 'class' => 'ResourceLoaderUserGroupsModule' ),
 13+ 'user.options' => array( 'class' => 'ResourceLoaderUserOptionsModule' ),
 14+ 'user.tokens' => array( 'class' => 'ResourceLoaderUserTokensModule' ),
 15+ 'filepage' => array( 'class' => 'ResourceLoaderFilePageModule' ),
 16+
 17+ /* Skins */
 18+
 19+ 'skins.vector' => array(
 20+ 'styles' => array( 'vector/screen.css' => array( 'media' => 'screen' ) ),
 21+ 'scripts' => 'vector/vector.js',
 22+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 23+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 24+ ),
 25+ 'skins.synagonism' => array(
 26+ 'styles' => array( 'synagonism/synagonism.css' => array( 'media' => 'screen' ) ),
 27+ 'scripts' => 'synagonism/synagonism.js',
 28+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 29+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 30+ ),
 31+ 'skins.monobook' => array(
 32+ 'styles' => array(
 33+ 'monobook/main.css' => array( 'media' => 'screen' ),
 34+ ),
 35+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 36+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 37+ ),
 38+ 'skins.simple' => array(
 39+ 'styles' => array( 'simple/main.css' => array( 'media' => 'screen' ) ),
 40+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 41+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 42+ ),
 43+ 'skins.chick' => array(
 44+ 'styles' => array( 'chick/main.css' => array( 'media' => 'screen,handheld' ) ),
 45+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 46+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 47+ ),
 48+ 'skins.modern' => array(
 49+ 'styles' => array(
 50+ 'modern/main.css' => array( 'media' => 'screen' ),
 51+ 'modern/print.css' => array( 'media' => 'print' ),
 52+ ),
 53+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 54+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 55+ ),
 56+ 'skins.cologneblue' => array(
 57+ 'styles' => array( 'cologneblue/screen.css' => array( 'media' => 'screen' ) ),
 58+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 59+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 60+ ),
 61+ 'skins.nostalgia' => array(
 62+ 'styles' => array( 'nostalgia/screen.css' => array( 'media' => 'screen' ) ),
 63+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 64+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 65+ ),
 66+ 'skins.standard' => array(
 67+ 'styles' => array( 'common/wikistandard.css' => array( 'media' => 'screen' ) ),
 68+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 69+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 70+ ),
 71+
 72+ /* jQuery */
 73+
 74+ 'jquery' => array(
 75+ 'scripts' => 'resources/jquery/jquery.js',
 76+ 'debugRaw' => false
 77+ ),
 78+
 79+ /* jQuery Plugins */
 80+
 81+ 'jquery.async' => array(
 82+ 'scripts' => 'resources/jquery/jquery.async.js',
 83+ ),
 84+ 'jquery.appear' => array(
 85+ 'scripts' => 'resources/jquery/jquery.appear.js',
 86+ ),
 87+ 'jquery.autoEllipsis' => array(
 88+ 'scripts' => 'resources/jquery/jquery.autoEllipsis.js',
 89+ 'dependencies' => 'jquery.highlightText',
 90+ ),
 91+ 'jquery.byteLength' => array(
 92+ 'scripts' => 'resources/jquery/jquery.byteLength.js',
 93+ ),
 94+ 'jquery.byteLimit' => array(
 95+ 'scripts' => 'resources/jquery/jquery.byteLimit.js',
 96+ 'dependencies' => 'jquery.byteLength',
 97+ ),
 98+ 'jquery.checkboxShiftClick' => array(
 99+ 'scripts' => 'resources/jquery/jquery.checkboxShiftClick.js',
 100+ ),
 101+ 'jquery.client' => array(
 102+ 'scripts' => 'resources/jquery/jquery.client.js',
 103+ ),
 104+ 'jquery.collapsibleTabs' => array(
 105+ 'scripts' => 'resources/jquery/jquery.collapsibleTabs.js',
 106+ ),
 107+ 'jquery.colorUtil' => array(
 108+ 'scripts' => 'resources/jquery/jquery.colorUtil.js',
 109+ ),
 110+ 'jquery.color' => array(
 111+ 'scripts' => 'resources/jquery/jquery.color.js',
 112+ 'dependencies' => 'jquery.colorUtil',
 113+ ),
 114+ 'jquery.cookie' => array(
 115+ 'scripts' => 'resources/jquery/jquery.cookie.js',
 116+ ),
 117+ 'jquery.delayedBind' => array(
 118+ 'scripts' => 'resources/jquery/jquery.delayedBind.js',
 119+ ),
 120+ 'jquery.expandableField' => array(
 121+ 'scripts' => 'resources/jquery/jquery.expandableField.js',
 122+ 'dependencies' => 'jquery.delayedBind',
 123+ ),
 124+ 'jquery.form' => array(
 125+ 'scripts' => 'resources/jquery/jquery.form.js',
 126+ ),
 127+ 'jquery.getAttrs' => array(
 128+ 'scripts' => 'resources/jquery/jquery.getAttrs.js',
 129+ ),
 130+ 'jquery.highlightText' => array(
 131+ 'scripts' => 'resources/jquery/jquery.highlightText.js',
 132+ ),
 133+ 'jquery.hoverIntent' => array(
 134+ 'scripts' => 'resources/jquery/jquery.hoverIntent.js',
 135+ ),
 136+ 'jquery.messageBox' => array(
 137+ 'scripts' => 'resources/jquery/jquery.messageBox.js',
 138+ 'styles' => 'resources/jquery/jquery.messageBox.css',
 139+ ),
 140+ 'jquery.placeholder' => array(
 141+ 'scripts' => 'resources/jquery/jquery.placeholder.js',
 142+ ),
 143+ 'jquery.json' => array(
 144+ 'scripts' => 'resources/jquery/jquery.json.js',
 145+ ),
 146+ 'jquery.localize' => array(
 147+ 'scripts' => 'resources/jquery/jquery.localize.js',
 148+ ),
 149+ 'jquery.makeCollapsible' => array(
 150+ 'scripts' => 'resources/jquery/jquery.makeCollapsible.js',
 151+ 'styles' => 'resources/jquery/jquery.makeCollapsible.css',
 152+ 'messages' => array( 'collapsible-expand', 'collapsible-collapse' ),
 153+ ),
 154+ 'jquery.mwPrototypes' => array(
 155+ 'scripts' => 'resources/jquery/jquery.mwPrototypes.js',
 156+ ),
 157+ 'jquery.qunit' => array(
 158+ 'scripts' => 'resources/jquery/jquery.qunit.js',
 159+ 'styles' => 'resources/jquery/jquery.qunit.css',
 160+ ),
 161+ 'jquery.suggestions' => array(
 162+ 'scripts' => 'resources/jquery/jquery.suggestions.js',
 163+ 'styles' => 'resources/jquery/jquery.suggestions.css',
 164+ 'dependencies' => 'jquery.autoEllipsis',
 165+ ),
 166+ 'jquery.tabIndex' => array(
 167+ 'scripts' => 'resources/jquery/jquery.tabIndex.js',
 168+ ),
 169+ 'jquery.tablesorter' => array(
 170+ 'scripts' => 'resources/jquery/jquery.tablesorter.js',
 171+ 'styles' => 'resources/jquery/jquery.tablesorter.css',
 172+ 'messages' => array( 'sort-descending', 'sort-ascending' ),
 173+ ),
 174+ 'jquery.textSelection' => array(
 175+ 'scripts' => 'resources/jquery/jquery.textSelection.js',
 176+ ),
 177+ 'jquery.tipsy' => array(
 178+ 'scripts' => 'resources/jquery.tipsy/jquery.tipsy.js',
 179+ 'styles' => 'resources/jquery.tipsy/jquery.tipsy.css',
 180+ ),
 181+
 182+ /* jQuery UI */
 183+
 184+ // Core
 185+ 'jquery.ui.core' => array(
 186+ 'scripts' => 'resources/jquery.ui/jquery.ui.core.js',
 187+ 'skinStyles' => array(
 188+ 'default' => array(
 189+ 'resources/jquery.ui/themes/default/jquery.ui.core.css',
 190+ 'resources/jquery.ui/themes/default/jquery.ui.theme.css',
 191+ ),
 192+ 'vector' => array(
 193+ 'resources/jquery.ui/themes/vector/jquery.ui.core.css',
 194+ 'resources/jquery.ui/themes/vector/jquery.ui.theme.css',
 195+ ),
 196+ ),
 197+ 'dependencies' => 'jquery',
 198+ 'group' => 'jquery.ui',
 199+ ),
 200+ 'jquery.ui.widget' => array(
 201+ 'scripts' => 'resources/jquery.ui/jquery.ui.widget.js',
 202+ 'group' => 'jquery.ui',
 203+ ),
 204+ 'jquery.ui.mouse' => array(
 205+ 'scripts' => 'resources/jquery.ui/jquery.ui.mouse.js',
 206+ 'dependencies' => 'jquery.ui.widget',
 207+ 'group' => 'jquery.ui',
 208+ ),
 209+ 'jquery.ui.position' => array(
 210+ 'scripts' => 'resources/jquery.ui/jquery.ui.position.js',
 211+ 'group' => 'jquery.ui',
 212+ ),
 213+ // Interactions
 214+ 'jquery.ui.draggable' => array(
 215+ 'scripts' => 'resources/jquery.ui/jquery.ui.draggable.js',
 216+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.mouse', 'jquery.ui.widget' ),
 217+ 'group' => 'jquery.ui',
 218+ ),
 219+ 'jquery.ui.droppable' => array(
 220+ 'scripts' => 'resources/jquery.ui/jquery.ui.droppable.js',
 221+ 'dependencies' => array(
 222+ 'jquery.ui.core', 'jquery.ui.mouse', 'jquery.ui.widget', 'jquery.ui.draggable',
 223+ ),
 224+ 'group' => 'jquery.ui',
 225+ ),
 226+ 'jquery.ui.resizable' => array(
 227+ 'scripts' => 'resources/jquery.ui/jquery.ui.resizable.js',
 228+ 'skinStyles' => array(
 229+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.resizable.css',
 230+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.resizable.css',
 231+ ),
 232+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.mouse' ),
 233+ 'group' => 'jquery.ui',
 234+ ),
 235+ 'jquery.ui.selectable' => array(
 236+ 'scripts' => 'resources/jquery.ui/jquery.ui.selectable.js',
 237+ 'skinStyles' => array(
 238+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.selectable.css',
 239+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.selectable.css',
 240+ ),
 241+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.mouse' ),
 242+ 'group' => 'jquery.ui',
 243+ ),
 244+ 'jquery.ui.sortable' => array(
 245+ 'scripts' => 'resources/jquery.ui/jquery.ui.sortable.js',
 246+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.mouse' ),
 247+ 'group' => 'jquery.ui',
 248+ ),
 249+ // Widgets
 250+ 'jquery.ui.accordion' => array(
 251+ 'scripts' => 'resources/jquery.ui/jquery.ui.accordion.js',
 252+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget' ),
 253+ 'skinStyles' => array(
 254+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.accordion.css',
 255+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.accordion.css',
 256+ ),
 257+ 'group' => 'jquery.ui',
 258+ ),
 259+ 'jquery.ui.autocomplete' => array(
 260+ 'scripts' => 'resources/jquery.ui/jquery.ui.autocomplete.js',
 261+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.position' ),
 262+ 'skinStyles' => array(
 263+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.autocomplete.css',
 264+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.autocomplete.css',
 265+ ),
 266+ 'group' => 'jquery.ui',
 267+ ),
 268+ 'jquery.ui.button' => array(
 269+ 'scripts' => 'resources/jquery.ui/jquery.ui.button.js',
 270+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget' ),
 271+ 'skinStyles' => array(
 272+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.button.css',
 273+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.button.css',
 274+ ),
 275+ 'group' => 'jquery.ui',
 276+ ),
 277+ 'jquery.ui.datepicker' => array(
 278+ 'scripts' => 'resources/jquery.ui/jquery.ui.datepicker.js',
 279+ 'dependencies' => 'jquery.ui.core',
 280+ 'skinStyles' => array(
 281+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.datepicker.css',
 282+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.datepicker.css',
 283+ ),
 284+ 'languageScripts' => array(
 285+ 'af' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-af.js',
 286+ 'ar' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ar.js',
 287+ 'az' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-az.js',
 288+ 'bg' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-bg.js',
 289+ 'bs' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-bs.js',
 290+ 'ca' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ca.js',
 291+ 'cs' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-cs.js',
 292+ 'da' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-da.js',
 293+ 'de' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-de.js',
 294+ 'el' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-el.js',
 295+ 'en-gb' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-en-GB.js',
 296+ 'eo' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-eo.js',
 297+ 'es' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-es.js',
 298+ 'et' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-et.js',
 299+ 'eu' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-eu.js',
 300+ 'fa' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-fa.js',
 301+ 'fi' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-fi.js',
 302+ 'fo' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-fo.js',
 303+ 'fr-ch' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-fr-CH.js',
 304+ 'fr' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-fr.js',
 305+ 'he' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-he.js',
 306+ 'hr' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-hr.js',
 307+ 'hu' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-hu.js',
 308+ 'hy' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-hy.js',
 309+ 'id' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-id.js',
 310+ 'is' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-is.js',
 311+ 'it' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-it.js',
 312+ 'ja' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ja.js',
 313+ 'ko' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ko.js',
 314+ 'lt' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-lt.js',
 315+ 'lv' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-lv.js',
 316+ 'ms' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ms.js',
 317+ 'nl' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-nl.js',
 318+ 'no' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-no.js',
 319+ 'pl' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-pl.js',
 320+ 'pt-br' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-pt-BR.js',
 321+ 'ro' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ro.js',
 322+ 'ru' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ru.js',
 323+ 'sk' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-sk.js',
 324+ 'sl' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-sl.js',
 325+ 'sq' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-sq.js',
 326+ 'sr-sr' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-sr-SR.js',
 327+ 'sr' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-sr.js',
 328+ 'sv' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-sv.js',
 329+ 'ta' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ta.js',
 330+ 'th' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-th.js',
 331+ 'tr' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-tr.js',
 332+ 'uk' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-uk.js',
 333+ 'vi' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-vi.js',
 334+ 'zh-cn' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-zh-CN.js',
 335+ 'zh-hk' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-zh-HK.js',
 336+ 'zh-tw' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-zh-TW.js',
 337+ ),
 338+ 'group' => 'jquery.ui',
 339+ ),
 340+ 'jquery.ui.dialog' => array(
 341+ 'scripts' => 'resources/jquery.ui/jquery.ui.dialog.js',
 342+ 'dependencies' => array(
 343+ 'jquery.ui.core',
 344+ 'jquery.ui.widget',
 345+ 'jquery.ui.button',
 346+ 'jquery.ui.draggable',
 347+ 'jquery.ui.mouse',
 348+ 'jquery.ui.position',
 349+ 'jquery.ui.resizable',
 350+ ),
 351+ 'skinStyles' => array(
 352+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.dialog.css',
 353+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.dialog.css',
 354+ ),
 355+ 'group' => 'jquery.ui',
 356+ ),
 357+ 'jquery.ui.progressbar' => array(
 358+ 'scripts' => 'resources/jquery.ui/jquery.ui.progressbar.js',
 359+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget' ),
 360+ 'skinStyles' => array(
 361+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.progressbar.css',
 362+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.progressbar.css',
 363+ ),
 364+ 'group' => 'jquery.ui',
 365+ ),
 366+ 'jquery.ui.slider' => array(
 367+ 'scripts' => 'resources/jquery.ui/jquery.ui.slider.js',
 368+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.mouse' ),
 369+ 'skinStyles' => array(
 370+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.slider.css',
 371+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.slider.css',
 372+ ),
 373+ 'group' => 'jquery.ui',
 374+ ),
 375+ 'jquery.ui.tabs' => array(
 376+ 'scripts' => 'resources/jquery.ui/jquery.ui.tabs.js',
 377+ 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget' ),
 378+ 'skinStyles' => array(
 379+ 'default' => 'resources/jquery.ui/themes/default/jquery.ui.tabs.css',
 380+ 'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.tabs.css',
 381+ ),
 382+ 'group' => 'jquery.ui',
 383+ ),
 384+ // Effects
 385+ 'jquery.effects.core' => array(
 386+ 'scripts' => 'resources/jquery.effects/jquery.effects.core.js',
 387+ 'dependencies' => 'jquery',
 388+ 'group' => 'jquery.ui',
 389+ ),
 390+ 'jquery.effects.blind' => array(
 391+ 'scripts' => 'resources/jquery.effects/jquery.effects.blind.js',
 392+ 'dependencies' => 'jquery.effects.core',
 393+ 'group' => 'jquery.ui',
 394+ ),
 395+ 'jquery.effects.bounce' => array(
 396+ 'scripts' => 'resources/jquery.effects/jquery.effects.bounce.js',
 397+ 'dependencies' => 'jquery.effects.core',
 398+ 'group' => 'jquery.ui',
 399+ ),
 400+ 'jquery.effects.clip' => array(
 401+ 'scripts' => 'resources/jquery.effects/jquery.effects.clip.js',
 402+ 'dependencies' => 'jquery.effects.core',
 403+ 'group' => 'jquery.ui',
 404+ ),
 405+ 'jquery.effects.drop' => array(
 406+ 'scripts' => 'resources/jquery.effects/jquery.effects.drop.js',
 407+ 'dependencies' => 'jquery.effects.core',
 408+ 'group' => 'jquery.ui',
 409+ ),
 410+ 'jquery.effects.explode' => array(
 411+ 'scripts' => 'resources/jquery.effects/jquery.effects.explode.js',
 412+ 'dependencies' => 'jquery.effects.core',
 413+ 'group' => 'jquery.ui',
 414+ ),
 415+ 'jquery.effects.fold' => array(
 416+ 'scripts' => 'resources/jquery.effects/jquery.effects.fold.js',
 417+ 'dependencies' => 'jquery.effects.core',
 418+ 'group' => 'jquery.ui',
 419+ ),
 420+ 'jquery.effects.highlight' => array(
 421+ 'scripts' => 'resources/jquery.effects/jquery.effects.highlight.js',
 422+ 'dependencies' => 'jquery.effects.core',
 423+ 'group' => 'jquery.ui',
 424+ ),
 425+ 'jquery.effects.pulsate' => array(
 426+ 'scripts' => 'resources/jquery.effects/jquery.effects.pulsate.js',
 427+ 'dependencies' => 'jquery.effects.core',
 428+ 'group' => 'jquery.ui',
 429+ ),
 430+ 'jquery.effects.scale' => array(
 431+ 'scripts' => 'resources/jquery.effects/jquery.effects.scale.js',
 432+ 'dependencies' => 'jquery.effects.core',
 433+ 'group' => 'jquery.ui',
 434+ ),
 435+ 'jquery.effects.shake' => array(
 436+ 'scripts' => 'resources/jquery.effects/jquery.effects.shake.js',
 437+ 'dependencies' => 'jquery.effects.core',
 438+ 'group' => 'jquery.ui',
 439+ ),
 440+ 'jquery.effects.slide' => array(
 441+ 'scripts' => 'resources/jquery.effects/jquery.effects.slide.js',
 442+ 'dependencies' => 'jquery.effects.core',
 443+ 'group' => 'jquery.ui',
 444+ ),
 445+ 'jquery.effects.transfer' => array(
 446+ 'scripts' => 'resources/jquery.effects/jquery.effects.transfer.js',
 447+ 'dependencies' => 'jquery.effects.core',
 448+ 'group' => 'jquery.ui',
 449+ ),
 450+
 451+ /* MediaWiki */
 452+
 453+ 'mediawiki' => array(
 454+ 'scripts' => 'resources/mediawiki/mediawiki.js',
 455+ 'debugScripts' => 'resources/mediawiki/mediawiki.log.js',
 456+ 'debugRaw' => false,
 457+ ),
 458+ 'mediawiki.Title' => array(
 459+ 'scripts' => 'resources/mediawiki/mediawiki.Title.js',
 460+ 'dependencies' => 'mediawiki.util',
 461+ ),
 462+ 'mediawiki.Uri' => array(
 463+ 'scripts' => 'resources/mediawiki/mediawiki.Uri.js',
 464+ ),
 465+ 'mediawiki.htmlform' => array(
 466+ 'scripts' => 'resources/mediawiki/mediawiki.htmlform.js',
 467+ ),
 468+ 'mediawiki.user' => array(
 469+ 'scripts' => 'resources/mediawiki/mediawiki.user.js',
 470+ 'dependencies' => array(
 471+ 'jquery.cookie',
 472+ ),
 473+ ),
 474+ 'mediawiki.page.startup' => array(
 475+ 'scripts' => 'resources/mediawiki.page/mediawiki.page.startup.js',
 476+ 'dependencies' => array(
 477+ 'jquery.client',
 478+ ),
 479+ 'position' => 'top',
 480+ ),
 481+ 'mediawiki.page.ready' => array(
 482+ 'scripts' => 'resources/mediawiki.page/mediawiki.page.ready.js',
 483+ 'dependencies' => array(
 484+ 'jquery.checkboxShiftClick',
 485+ 'jquery.makeCollapsible',
 486+ 'jquery.placeholder',
 487+ ),
 488+ ),
 489+ 'mediawiki.util' => array(
 490+ 'scripts' => 'resources/mediawiki/mediawiki.util.js',
 491+ 'dependencies' => array(
 492+ 'jquery.client',
 493+ 'jquery.cookie',
 494+ 'jquery.messageBox',
 495+ 'jquery.mwPrototypes',
 496+ ),
 497+ ),
 498+ 'mediawiki.libs.jpegmeta' => array(
 499+ 'scripts' => 'resources/mediawiki.libs/mediawiki.libs.jpegmeta.js',
 500+ ),
 501+ 'mediawiki.action.history' => array(
 502+ 'scripts' => 'resources/mediawiki.action/mediawiki.action.history.js',
 503+ 'dependencies' => 'jquery.ui.button',
 504+ 'group' => 'mediawiki.action.history',
 505+ ),
 506+ 'mediawiki.action.history.diff' => array(
 507+ 'styles' => 'resources/mediawiki.action/mediawiki.action.history.diff.css',
 508+ 'group' => 'mediawiki.action.history',
 509+ ),
 510+ 'mediawiki.action.edit' => array(
 511+ 'scripts' => 'resources/mediawiki.action/mediawiki.action.edit.js',
 512+ 'dependencies' => array(
 513+ 'jquery.textSelection',
 514+ 'jquery.byteLimit',
 515+ ),
 516+ ),
 517+ 'mediawiki.action.view.rightClickEdit' => array(
 518+ 'scripts' => 'resources/mediawiki.action/mediawiki.action.view.rightClickEdit.js',
 519+ ),
 520+ 'mediawiki.action.view.metadata' => array(
 521+ 'scripts' => 'resources/mediawiki.action/mediawiki.action.view.metadata.js',
 522+ 'messages' => array( 'metadata-expand', 'metadata-collapse' ),
 523+ ),
 524+ 'mediawiki.action.watch.ajax' => array(
 525+ 'scripts' => 'resources/mediawiki.action/mediawiki.action.watch.ajax.js',
 526+ 'messages' => array(
 527+ 'watch',
 528+ 'unwatch',
 529+ 'watching',
 530+ 'unwatching',
 531+ 'tooltip-ca-watch',
 532+ 'tooltip-ca-unwatch',
 533+ 'watcherrortext',
 534+ ),
 535+ ),
 536+
 537+ /* Special pages */
 538+
 539+ 'mediawiki.special' => array(
 540+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.js',
 541+ 'styles' => 'resources/mediawiki.special/mediawiki.special.css',
 542+ ),
 543+ 'mediawiki.special.preferences' => array(
 544+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.preferences.js',
 545+ 'styles' => 'resources/mediawiki.special/mediawiki.special.preferences.css',
 546+ 'messages' => array( 'email-address-validity-valid', 'email-address-validity-invalid' ),
 547+ ),
 548+ 'mediawiki.special.changeslist' => array(
 549+ 'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.css',
 550+ 'dependencies' => array( 'jquery.makeCollapsible' ),
 551+ ),
 552+ 'mediawiki.special.search' => array(
 553+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.search.js',
 554+ 'styles' => 'resources/mediawiki.special/mediawiki.special.search.css',
 555+ ),
 556+ 'mediawiki.special.block' => array(
 557+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.block.js',
 558+ ),
 559+ 'mediawiki.special.undelete' => array(
 560+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.undelete.js',
 561+ ),
 562+ 'mediawiki.special.movePage' => array(
 563+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.movePage.js',
 564+ 'dependencies' => 'jquery.byteLimit',
 565+ ),
 566+ 'mediawiki.special.recentchanges' => array(
 567+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.recentchanges.js',
 568+ 'dependencies' => array( 'mediawiki.special' ),
 569+ 'position' => 'top',
 570+ ),
 571+ 'mediawiki.special.upload' => array(
 572+ // @TODO: merge in remainder of mediawiki.legacy.upload
 573+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.upload.js',
 574+ 'messages' => array(
 575+ 'widthheight',
 576+ 'size-bytes',
 577+ 'size-kilobytes',
 578+ 'size-megabytes',
 579+ 'size-gigabytes',
 580+ 'largefileserver',
 581+ ),
 582+ 'dependencies' => array( 'mediawiki.libs.jpegmeta' ),
 583+ ),
 584+
 585+ 'mediawiki.language' => array(
 586+ 'scripts' => 'resources/mediawiki.language/mediawiki.language.js',
 587+ 'languageScripts' => array(
 588+ 'am' => 'resources/mediawiki.language/languages/am.js',
 589+ 'ar' => 'resources/mediawiki.language/languages/ar.js',
 590+ 'bat-smg' => 'resources/mediawiki.language/languages/bat-smg.js',
 591+ 'be' => 'resources/mediawiki.language/languages/be.js',
 592+ 'be-tarask' => 'resources/mediawiki.language/languages/be-tarask.js',
 593+ 'bh' => 'resources/mediawiki.language/languages/bh.js',
 594+ 'bs' => 'resources/mediawiki.language/languages/bs.js',
 595+ 'cs' => 'resources/mediawiki.language/languages/cs.js',
 596+ 'cu' => 'resources/mediawiki.language/languages/cu.js',
 597+ 'cy' => 'resources/mediawiki.language/languages/cy.js',
 598+ 'dsb' => 'resources/mediawiki.language/languages/dsb.js',
 599+ 'fr' => 'resources/mediawiki.language/languages/fr.js',
 600+ 'ga' => 'resources/mediawiki.language/languages/ga.js',
 601+ 'gd' => 'resources/mediawiki.language/languages/gd.js',
 602+ 'gv' => 'resources/mediawiki.language/languages/gv.js',
 603+ 'he' => 'resources/mediawiki.language/languages/he.js',
 604+ 'hi' => 'resources/mediawiki.language/languages/hi.js',
 605+ 'hr' => 'resources/mediawiki.language/languages/hr.js',
 606+ 'hsb' => 'resources/mediawiki.language/languages/hsb.js',
 607+ 'hy' => 'resources/mediawiki.language/languages/hy.js',
 608+ 'ksh' => 'resources/mediawiki.language/languages/ksh.js',
 609+ 'ln' => 'resources/mediawiki.language/languages/ln.js',
 610+ 'lt' => 'resources/mediawiki.language/languages/lt.js',
 611+ 'lv' => 'resources/mediawiki.language/languages/lv.js',
 612+ 'mg' => 'resources/mediawiki.language/languages/mg.js',
 613+ 'mk' => 'resources/mediawiki.language/languages/mk.js',
 614+ 'mo' => 'resources/mediawiki.language/languages/mo.js',
 615+ 'mt' => 'resources/mediawiki.language/languages/mt.js',
 616+ 'nl' => 'resources/mediawiki.language/languages/nl.js',
 617+ 'nso' => 'resources/mediawiki.language/languages/nso.js',
 618+ 'pl' => 'resources/mediawiki.language/languages/pl.js',
 619+ 'pt' => 'resources/mediawiki.language/languages/pt.js',
 620+ 'pt-br' => 'resources/mediawiki.language/languages/pt-br.js',
 621+ 'ro' => 'resources/mediawiki.language/languages/ro.js',
 622+ 'ru' => 'resources/mediawiki.language/languages/ru.js',
 623+ 'se' => 'resources/mediawiki.language/languages/se.js',
 624+ 'sh' => 'resources/mediawiki.language/languages/sh.js',
 625+ 'sk' => 'resources/mediawiki.language/languages/sk.js',
 626+ 'sl' => 'resources/mediawiki.language/languages/sl.js',
 627+ 'sma' => 'resources/mediawiki.language/languages/sma.js',
 628+ 'sr-ec' => 'resources/mediawiki.language/languages/sr-ec.js',
 629+ 'sr-el' => 'resources/mediawiki.language/languages/sr-el.js',
 630+ 'sr' => 'resources/mediawiki.language/languages/sr.js',
 631+ 'ti' => 'resources/mediawiki.language/languages/ti.js',
 632+ 'tl' => 'resources/mediawiki.language/languages/tl.js',
 633+ 'uk' => 'resources/mediawiki.language/languages/uk.js',
 634+ 'wa' => 'resources/mediawiki.language/languages/wa.js',
 635+ ),
 636+ ),
 637+
 638+ /* mediawiki Legacy */
 639+
 640+ 'mediawiki.legacy.ajax' => array(
 641+ 'scripts' => 'common/ajax.js',
 642+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 643+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 644+ 'dependencies' => 'mediawiki.legacy.wikibits',
 645+ ),
 646+ 'mediawiki.legacy.commonPrint' => array(
 647+ 'styles' => array( 'common/commonPrint.css' => array( 'media' => 'print' ) ),
 648+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 649+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 650+ ),
 651+ 'mediawiki.legacy.config' => array(
 652+ 'scripts' => 'common/config.js',
 653+ 'styles' => array( 'common/config.css', 'common/config-cc.css' ),
 654+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 655+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 656+ 'dependencies' => 'mediawiki.legacy.wikibits',
 657+ ),
 658+ 'mediawiki.legacy.IEFixes' => array(
 659+ 'scripts' => 'common/IEFixes.js',
 660+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 661+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 662+ 'dependencies' => 'mediawiki.legacy.wikibits',
 663+ ),
 664+ 'mediawiki.legacy.mwsuggest' => array(
 665+ 'scripts' => 'common/mwsuggest.js',
 666+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 667+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 668+ 'dependencies' => array( 'mediawiki.legacy.wikibits', 'jquery.client' ),
 669+ 'messages' => array( 'search-mwsuggest-enabled', 'search-mwsuggest-disabled' ),
 670+ ),
 671+ 'mediawiki.legacy.preview' => array(
 672+ 'scripts' => 'common/preview.js',
 673+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 674+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 675+ 'dependencies' => 'mediawiki.legacy.wikibits',
 676+ ),
 677+ 'mediawiki.legacy.protect' => array(
 678+ 'scripts' => 'common/protect.js',
 679+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 680+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 681+ 'dependencies' => array(
 682+ 'mediawiki.legacy.wikibits',
 683+ 'jquery.byteLimit',
 684+ ),
 685+ ),
 686+ 'mediawiki.legacy.shared' => array(
 687+ 'styles' => array( 'common/shared.css' => array( 'media' => 'screen' ) ),
 688+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 689+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 690+ ),
 691+ 'mediawiki.legacy.oldshared' => array(
 692+ 'styles' => array( 'common/oldshared.css' => array( 'media' => 'screen' ) ),
 693+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 694+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 695+ ),
 696+ 'mediawiki.legacy.upload' => array(
 697+ 'scripts' => 'common/upload.js',
 698+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 699+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 700+ 'dependencies' => 'mediawiki.legacy.wikibits',
 701+ ),
 702+ 'mediawiki.legacy.wikibits' => array(
 703+ 'scripts' => 'common/wikibits.js',
 704+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 705+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 706+ 'dependencies' => 'mediawiki.language',
 707+ 'messages' => array( 'showtoc', 'hidetoc' ),
 708+ ),
 709+ 'mediawiki.legacy.wikiprintable' => array(
 710+ 'styles' => array( 'common/wikiprintable.css' => array( 'media' => 'print' ) ),
 711+ 'remoteBasePath' => $GLOBALS['wgStylePath'],
 712+ 'localBasePath' => $GLOBALS['wgStyleDirectory'],
 713+ ),
 714+);
Property changes on: trunk/extensions/skins/Synagonism/resources/Resources.php
___________________________________________________________________
Added: svn:eol-style
1715 + native
Index: trunk/extensions/skins/Synagonism/README.TXT
@@ -0,0 +1,8 @@
 2+== Instalation ==
 3+
 4+Add the files to your MediaWiki installation to relevant directories
 5+in YOUR instalLation (/resources and /skin).
 6+
 7+If the files /resources/Resources.php and /skins/common/commonPrint.css
 8+in you installation are already modified, then search for "synagonism"
 9+in my files and copy only the appropriate lines.
\ No newline at end of file
Property changes on: trunk/extensions/skins/Synagonism/README.TXT
___________________________________________________________________
Added: svn:eol-style
110 + native

Comments

#Comment by Nikerabbit (talk | contribs)   10:47, 16 December 2011

There seems to be quite a much of duplicated code.

#Comment by Reedy (talk | contribs)   19:15, 6 January 2012

And it certainly shouldn't be giving a users a Resources.php to replace the default with

Status & tagging log