diff --git a/inventory/group_vars/wiki b/inventory/group_vars/wiki
index ea5816a64d..6da5381cde 100644
--- a/inventory/group_vars/wiki
+++ b/inventory/group_vars/wiki
@@ -9,3 +9,5 @@ num_cpus: 2
tcp_ports: [ 80 ]
fas_client_groups: sysadmin-noc,fi-apprentice
+
+wikiname: "fp"
diff --git a/inventory/group_vars/wiki-stg b/inventory/group_vars/wiki-stg
index ea5816a64d..6da5381cde 100644
--- a/inventory/group_vars/wiki-stg
+++ b/inventory/group_vars/wiki-stg
@@ -9,3 +9,5 @@ num_cpus: 2
tcp_ports: [ 80 ]
fas_client_groups: sysadmin-noc,fi-apprentice
+
+wikiname: "fp"
diff --git a/playbooks/groups/wiki.yml b/playbooks/groups/wiki.yml
index b00286ac58..1a05d4e273 100644
--- a/playbooks/groups/wiki.yml
+++ b/playbooks/groups/wiki.yml
@@ -38,6 +38,7 @@
- nagios_client
- fas_client
- fedmsg/base
+ - mediawiki
tasks:
- include: "{{ tasks }}/hosts.yml"
diff --git a/roles/mediawiki/files/Auth_FAS.php b/roles/mediawiki/files/Auth_FAS.php
new file mode 100644
index 0000000000..e429f5cf5e
--- /dev/null
+++ b/roles/mediawiki/files/Auth_FAS.php
@@ -0,0 +1,124 @@
+set('create', false);
+ $template->set('useemail', false);
+ $template->set('usedomain', false);
+ }
+
+ function updateUser( &$user ){
+ $user->mEmail = strtolower($user->getName())."@fedoraproject.org";
+ return true;
+ }
+
+ function autoCreate() {
+ return true;
+ }
+
+ function setPassword($password) {
+ return false;
+ }
+
+ function setDomain( $domain ) {
+ $this->domain = $domain;
+ }
+
+ function validDomain( $domain ) {
+ return true;
+ }
+
+ function updateExternalDB($user) {
+ return true;
+ }
+
+ function canCreateAccounts() {
+ return false;
+ }
+
+ function addUser($user, $password) {
+ return true;
+ }
+
+ function strict() {
+ return true;
+ }
+
+ function strictUserAuth( $username ) {
+ return true;
+ }
+
+ function allowPasswordChange() {
+ return false;
+ }
+
+ function initUser(&$user) {
+ $user->mEmail = strtolower($user->getName())."@fedoraproject.org";
+ $user->mEmailAuthenticated = wfTimestampNow();
+ $user->setToken();
+ $user->saveSettings();
+ return true;
+ }
+}
+
+/**
+ * Some extension information init
+ */
+$wgExtensionCredits['other'][] = array(
+ 'name' => 'Auth_FAS',
+ 'version' => '0.9.1',
+ 'author' => 'Nigel Jones',
+ 'description' => 'Authorisation plugin allowing login with FAS2 accounts'
+);
+
+?>
diff --git a/roles/mediawiki/files/fedmsg-emit.php b/roles/mediawiki/files/fedmsg-emit.php
new file mode 100644
index 0000000000..3ec67a18bb
--- /dev/null
+++ b/roles/mediawiki/files/fedmsg-emit.php
@@ -0,0 +1,268 @@
+getSocket(ZMQ::SOCKET_PUB, "pub-a-dub-dub");
+ $queue->setSockOpt(ZMQ::SOCKOPT_LINGER, $config['zmq_linger']);
+
+ if (is_array($config['relay_inbound'])) {
+ // API for fedmsg >= 0.5.2
+ // TODO - be more robust here and if connecting to the first one fails, try
+ // the next, and the next, and etc...
+ $queue->connect($config['relay_inbound'][0]);
+ } else {
+ // API for fedmsg <= 0.5.1
+ $queue->connect($config['relay_inbound']);
+ }
+
+ # Go to sleep for a brief moment.. just long enough to let our zmq socket
+ # initialize.
+ if (array_key_exists('post_init_sleep', $config)) {
+ usleep($config['post_init_sleep'] * 1000000);
+ }
+
+ return true;
+}
+
+# Register our hooks with mediawiki
+$wgHooks['ArticleSaveComplete'][] = 'article_save';
+$wgHooks['UploadComplete'][] = 'upload_complete';
+
+# This is a reimplementation of the python code in fedmsg/crypto.py
+# That file is authoritative. Changes there should be reflected here.
+function sign_message($message_obj) {
+ global $config;
+
+ # This is required so that the string we sign is identical in python and in
+ # php. Ordereddict is used there; ksort here.
+ deep_ksort($message_obj);
+
+ # It would be best to pass JSON_UNESCAPE_SLASHES as an option here, but it is
+ # not available until php-5.4
+ $message = json_encode($message_obj);
+ # In the meantime, we'll remove escaped slashes ourselves. This is
+ # necessary in order to produce the exact same encoding as python (so that our
+ # signatures match for validation).
+ $message = stripcslashes($message);
+
+ # Step 0) - Find our cert.
+ $fqdn = gethostname();
+ $tokens = explode('.', $fqdn);
+ $hostname = $tokens[0];
+ $ssldir = $config['ssldir'];
+ $certname = $config['certnames']['mediawiki.'.$hostname];
+
+ # Step 1) - Load and encode the X509 cert
+ $cert_obj = openssl_x509_read(file_get_contents(
+ $ssldir.'/'.$certname.".crt"
+ ));
+ $cert = "";
+ openssl_x509_export($cert_obj, $cert);
+ $cert = base64_encode($cert);
+
+ # Step 2) - Load and sign the jsonified message with the RSA private key
+ $rsa_private = openssl_get_privatekey(file_get_contents(
+ $ssldir.'/'.$certname.".key"
+ ));
+ $signature = "";
+ openssl_sign($message, $signature, $rsa_private);
+ $signature = base64_encode($signature);
+
+ # Step 3) - Stuff it back in the message and return
+ $message_obj['signature'] = $signature;
+ $message_obj['certificate'] = $cert;
+
+ return $message_obj;
+}
+
+
+function emit_message($subtopic, $message) {
+ global $config, $queue;
+
+ # Re-implement some of the logc from fedmsg/core.py
+ # We'll have to be careful to keep this up to date.
+ $prefix = "org.fedoraproject." . $config['environment'] . ".wiki.";
+ $topic = $prefix . $subtopic;
+
+ $message_obj = array(
+ "topic" => $topic,
+ "msg" => $message,
+ "timestamp" => round(time(), 3),
+ "msg_id" => date("Y") . "-" . uuid_create(),
+ "username" => "apache",
+ # TODO -> we don't have a good way to increment this counter from php yet.
+ "i" => 1,
+ );
+ if (array_key_exists('sign_messages', $config) and to_bool($config['sign_messages'])) {
+ $message_obj = sign_message($message_obj);
+ }
+
+ $envelope = json_encode($message_obj);
+ $queue->send($topic, ZMQ::MODE_SNDMORE);
+ $queue->send($envelope);
+}
+
+function article_save(
+ &$article,
+ &$user,
+ $text,
+ $summary,
+ $minoredit,
+ $watchthis,
+ $sectionanchor,
+ &$flags,
+ $revision,
+ &$status,
+ $baseRevId
+) {
+
+ # If for some reason or another we can't create our socket, then bail.
+ if (!initialize()) { return false; }
+
+ $topic = "article.edit";
+ $title = $article->getTitle();
+ if ( $title->getNsText() ) {
+ $titletext = $title->getNsText() . ":" . $title->getText();
+ } else {
+ $titletext = $title->getText();
+ }
+
+ if ( is_object($revision) ) {
+ $url = $title->getFullURL('diff=prev&oldid=' . $revision->getId());
+ } else {
+ $url = $title->getFullURL();
+ }
+
+ # Just send on all the information we can... change the attr names to be
+ # more pythonic in style, though.
+ $msg = array(
+ "title" => $titletext,
+ "user" => $user->getName(),
+ "minor_edit" => $minoredit,
+ "watch_this" => $watchthis,
+ "section_anchor" => $sectionanchor,
+ "revision" => $revision,
+ "base_rev_id" => $baseRevId,
+ "url" => $url,
+ #"summary" => $summary, # We *used* to send this, but it mucked things up.
+ # https://fedorahosted.org/fedora-infrastructure/ticket/3738#comment:7
+ #"text" => $text, # We *could* send this, but it's a lot of spam.
+ # TODO - flags?
+ # TODO - status?
+ );
+
+ emit_message($topic, $msg);
+ return true;
+}
+
+function upload_complete(&$image) {
+
+ # If for some reason or another we can't create our socket, then bail.
+ if (!initialize()) { return false; }
+
+ $topic = "upload.complete";
+ $msg = array(
+ "file_exists" => $image->getLocalFile()->fileExists, // 1 or 0
+ "media_type" => $image->getLocalFile()->media_type, // examples: "AUDIO", "VIDEO", ...
+ "mime" => $image->getLocalFile()->mime, // example: audio/mp3
+ "major_mime" => $image->getLocalFile()->major_mime, // e.g. audio
+ "minor_mime" => $image->getLocalFile()->minor_mime, // e.g. mp3
+ "size" => $image->getLocalFile()->size, //in bytes, e.g. 2412586
+ "user_id" => $image->getLocalFile()->user, // int userId
+ "user_text" => $image->getLocalFile()->user_text, // the username
+ "description" => $image->getLocalFile()->description,
+ "url" => $image->getLocalFile()->url, // gives the relavive url for direct access of the uploaded media
+ "title" => $image->getLocalFile()->getTitle(), // gives a title object for the current media
+ );
+
+ emit_message($topic, $msg);
+ return true;
+}
+
+?>
diff --git a/roles/mediawiki/files/skins/Fedora.deps.php b/roles/mediawiki/files/skins/Fedora.deps.php
new file mode 100644
index 0000000000..b054c840c2
--- /dev/null
+++ b/roles/mediawiki/files/skins/Fedora.deps.php
@@ -0,0 +1,12 @@
+
diff --git a/roles/mediawiki/files/skins/Fedora.php b/roles/mediawiki/files/skins/Fedora.php
new file mode 100644
index 0000000000..efc19c7c8b
--- /dev/null
+++ b/roles/mediawiki/files/skins/Fedora.php
@@ -0,0 +1,357 @@
+skinname = 'fedora';
+ $this->stylename = 'fedora';
+ $this->template = 'FedoraTemplate';
+ }
+}
+
+/**
+ * @todo document
+ * @addtogroup Skins
+ */
+class FedoraTemplate extends QuickTemplate {
+ /**
+ * Template filter callback for Fedora skin.
+ * Takes an associative array of data set from a SkinTemplate-based
+ * class, and a wrapper for MediaWiki's localization database, and
+ * outputs a formatted page.
+ *
+ * @access private
+ */
+ function execute() {
+ global $wgUser;
+ $skin = $wgUser->getSkin();
+
+ // Suppress warnings to prevent notices about missing indexes in $this->data
+ wfSuppressWarnings();
+
+?>
+data['xhtmlnamespaces'] as $tag => $ns) {
+ ?>xmlns:xml:lang="text('lang') ?>" lang="text('lang') ?>" dir="text('dir') ?>">
+
+
+ html('headlinks') ?>
+ text('pagetitle') ?>
+ html('csslinks') ?>
+
+
+
+
+
+ data['printable']) ) { ?>media="print" href="text('stylepath') ?>/common/commonPrint.css?" />
+
+
+
+
+
+
+
+ data ); ?>
+
+
+data['jsvarurl' ]) { ?>
+
+data['usercss' ]) { ?>
+
+data['userjs' ]) { ?>
+
+data['userjsprev']) { ?>
+
+data['trackbackhtml']) print $this->data['trackbackhtml']; ?>
+
+html('headscripts') ?>
+
+data['body_ondblclick']) { ?>ondblclick="text('body_ondblclick') ?>"
+data['body_onload' ]) { ?>onload="text('body_onload') ?>"
+ class="mediawiki text('nsclass') ?> text('dir') ?> text('pageclass') ?>">
+
+
+
+
+
msg('personaltools') ?>
+
+
+
+
+
+
+
+
+
+
+ data['sitenotice']) { ?>
html('sitenotice') ?>
+
data['displaytitle']!=""?$this->html('title'):$this->text('title') ?>
+
msg('tagline') ?>
+
html('subtitle') ?>
+ data['undelete']) { ?>
html('undelete') ?>
+ data['newtalk'] ) { ?>
html('newtalk') ?>
+ data['showjumplinks']) { ?>
+
+ html('bodytext') ?>
+ data['catlinks']) { ?>
html('catlinks') ?>
+
+
+
+
+
+
+
+
+
+
+
+ html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?>
+html('reporttime') ?>
+data['debug'] ): ?>
+
+
+
+
diff --git a/roles/mediawiki/files/skins/fedora/IE50Fixes.css b/roles/mediawiki/files/skins/fedora/IE50Fixes.css
new file mode 100644
index 0000000000..027e32ed0c
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/IE50Fixes.css
@@ -0,0 +1,67 @@
+/*
+** IE5.0 Fix Stylesheet
+*/
+
+#column-content {
+ margin: 0 !important;
+ float: none;
+}
+#column-content #content {
+ margin-top: 3em;
+ height: 1%;
+}
+#column-one {
+ position: absolute;
+ overflow: visible;
+ top: 0;
+ left: 0;
+ z-index: 3;
+}
+#footer {
+ margin: 0 0 0 13.6em;
+}
+
+/* IE 5 & 5.5 interpret keyword sizes one off */
+body { font-size: xx-small; }
+/*
+** the edit tabs
+*/
+#p-cactions li {
+ float: left;
+ padding-top: 0;
+ padding-bottom: 0 !important;
+ height: 0.9em;
+}
+#p-cactions li a {
+ display: block;
+ padding-bottom: 0.045em;
+}
+#p-cactions li.selected a {
+ padding-bottom: 0.17em;
+}
+#p-cactions li a:hover {
+ padding-bottom: 0.17em;
+}
+/* 5.0 doesn't like the background icon for external links and user */
+.link-external,
+.external {
+ background: none;
+ padding: 0;
+}
+#p-personal ul { float: right }
+#p-personal li { float: left }
+li#pt-userpage,
+li#pt-anonuserpage,
+li#pt-login,
+li#pt-logout {
+ background: none;
+ padding-left: none;
+}
+.visualClear {
+ width: 100%;
+ height: 0px;
+ padding:0;
+ margin: 0;
+}
+.firstHeading { margin-bottom: .3em; }
+/*div{ border:1px solid Red !important;}*/
diff --git a/roles/mediawiki/files/skins/fedora/IE55Fixes.css b/roles/mediawiki/files/skins/fedora/IE55Fixes.css
new file mode 100644
index 0000000000..637daae17f
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/IE55Fixes.css
@@ -0,0 +1,85 @@
+/* IE5.5/win- only fixes */
+
+#column-content {
+ float: none;
+ margin-left: 0;
+ height: 1%;
+}
+#column-content #content {
+ position: relative;
+ z-index: 5;
+ margin-left: 12.2em;
+ margin-top: 3em;
+ height: 1%;
+}
+#column-one {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 4;
+ width: 100%;
+}
+#footer {
+ margin-left: 13.6em;
+ border-left: 1px solid #fabd23;
+}
+
+/*#bodyContent div,
+#bodyContent pre { overflow: auto; }*/
+
+#p-personal { padding-bottom: .1em; }
+
+body { font-size: xx-small; }
+
+#p-cactions {
+ width: 76% !important;
+ z-index: 3 !important;
+ float: none;
+}
+#p-cactions li {
+ padding-bottom: 0 !important;
+ border: none;
+ background-color: transparent;
+ cursor: default;
+ float: none !important;
+}
+#p-cactions li a {
+ display: inline-block !important;
+ vertical-align: top;
+ padding-bottom: 0;
+ border: solid #aaa;
+ border-width: 1px 1px 0;
+}
+#p-cactions li.selected a {
+ border-color: #fabd23;
+ padding-bottom: 0.17em;
+}
+#p-cactions li a:hover {
+ padding-bottom: 0.17em;
+}
+#p-navigation a {
+ display: inline-block;
+ width: 100%;
+}
+.portlet {
+ overflow: hidden;
+}
+#bodyContent a.external {
+ background: url(external.png) center right no-repeat;
+ padding-right: 13px;
+}
+/* show the hand */
+#p-logo a,
+#p-logo a:hover {
+ cursor: pointer;
+}
+.visualClear {
+ width: 90%;
+ height: 1px;
+ padding: 0;
+ margin: 0;
+}
+
+#editform {
+ width: 100%;
+}
diff --git a/roles/mediawiki/files/skins/fedora/IE60Fixes.css b/roles/mediawiki/files/skins/fedora/IE60Fixes.css
new file mode 100644
index 0000000000..6b646c703b
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/IE60Fixes.css
@@ -0,0 +1,84 @@
+/* 6.0 - only fixes */
+/* content area */
+/* workaround for various ie float bugs */
+#column-content {
+ float: none;
+ margin-left: 0;
+ height: 1%;
+}
+#column-content #content {
+ margin-left: 12.2em;
+ margin-top: 3em;
+ height: 1%;
+}
+#column-one {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 4;
+}
+#footer {
+ margin-left: 13.6em;
+ border-left: 1px solid #fabd23;
+}
+
+/* the tabs */
+
+#p-cactions {
+ z-index: 3;
+}
+
+#p-cactions li {
+ padding-bottom: 0 !important;
+ border: none;
+ background-color: transparent;
+ cursor: default;
+ float: none !important;
+}
+#p-cactions li a {
+ display: inline-block !important;
+ vertical-align: top;
+ padding-bottom: 0;
+ border: solid #aaa;
+ border-width: 1px 1px 0;
+}
+#p-cactions li.selected a {
+ border-color: #fabd23;
+ padding-bottom: 0.17em;
+}
+#p-cactions li a:hover {
+ padding-bottom: 0.17em;
+}
+#p-navigation a {
+ display: inline-block;
+ width: 100%;
+}
+#portal-personaltools {
+ padding-bottom: 0.1em;
+}
+#bodyContent a.external {
+ background: url(external.png) center right no-repeat;
+ padding-right: 13px;
+}
+
+/* show the hand */
+#p-logo a,
+#p-logo a:hover {
+ cursor: pointer;
+}
+div.visualClear {
+ width:100%;
+ line-height: 0;
+}
+textarea {
+ width: 96%;
+}
+
+div.editsection,
+#catlinks,
+div.tright,
+div.tleft {
+ position: relative;
+}
+/*{ border:1px solid Red !important;}*/
+
diff --git a/roles/mediawiki/files/skins/fedora/IE70Fixes.css b/roles/mediawiki/files/skins/fedora/IE70Fixes.css
new file mode 100644
index 0000000000..43ff7076d5
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/IE70Fixes.css
@@ -0,0 +1,74 @@
+/* 7.0 - only fixes */
+/* content area */
+/* workaround for various ie float bugs */
+
+/* This bit is needed to make links clickable... WTF */
+#column-content #content {
+ margin-left: 12.2em;
+ margin-top: 3em;
+ height: 1%;
+}
+
+.rtl #column-one {
+ /* For some reason it tries to inherit the padding-top into every div,
+ * and I can't figure out how to get it back off.
+ * Margin works correctly for this use, though.
+ */
+ padding-top: 0;
+ margin-top: 160px;
+}
+
+/* the tabs */
+
+#p-cactions {
+ z-index: 3;
+}
+
+
+#p-cactions li {
+ padding-bottom: 0 !important;
+ border: none;
+ background-color: transparent;
+ cursor: default;
+ float: none !important;
+}
+
+#p-cactions li a {
+ display: inline-block !important;
+ vertical-align: top;
+ padding-bottom: 0;
+ border: solid #aaa;
+ border-width: 1px 1px 0;
+}
+#p-cactions li.selected a {
+ border-color: #fabd23;
+ padding-bottom: 0.17em;
+}
+#p-cactions li a:hover {
+ padding-bottom: 0.17em;
+}
+#p-navigation a {
+ display: inline-block;
+ width: 100%;
+}
+#portal-personaltools {
+ padding-bottom: 0.1em;
+}
+textarea {
+ width: 96%;
+}
+
+/*
+div.editsection,
+#catlinks,
+div.tright,
+div.tleft {
+ position: relative;
+}
+*/
+
+
+#footer li {
+ /* Work around bug with inline tags with right margins and nowrap */
+ margin-right: 0;
+}
diff --git a/roles/mediawiki/files/skins/fedora/IEMacFixes.css b/roles/mediawiki/files/skins/fedora/IEMacFixes.css
new file mode 100644
index 0000000000..f1b0571953
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/IEMacFixes.css
@@ -0,0 +1,44 @@
+/* IE/Mac only fix stylesheet, imported from main.css */
+#portal-column-content {
+ margin: 0 0 4.8em 0;
+ float: none;
+}
+#portal-column-content #content {
+ z-index: 0;
+}
+#portal-column-one {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 3;
+}
+#portal-footer {
+ margin-left: 12em;
+}
+/*
+#portlet-contentViews {
+ top: 0.6em !important;
+ left: 14.5em !important;
+}
+*/
+#portlet-contentViews li,
+#portlet-contentViews .selected {
+ border: none !important;
+}
+#portlet-contentViews li a {
+ border: 1px solid #aaaaaa;
+ border-bottom: none;
+}
+#portlet-contentViews li.selected a {
+ border: 1px solid #fabd23;
+ border-bottom: none;
+}
+/* no background images */
+li#personaltools-userpage,
+li#personaltools-login/* */ {
+ background: none;
+ padding-left: none;
+}
+#mactest {
+ color: green;
+}
diff --git a/roles/mediawiki/files/skins/fedora/KHTMLFixes.css b/roles/mediawiki/files/skins/fedora/KHTMLFixes.css
new file mode 100644
index 0000000000..97fba0c42a
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/KHTMLFixes.css
@@ -0,0 +1,3 @@
+/* KHTML fix stylesheet */
+/* work around the horizontal scrollbars */
+#column-content { margin-left: 0; }
diff --git a/roles/mediawiki/files/skins/fedora/Opera6Fixes.css b/roles/mediawiki/files/skins/fedora/Opera6Fixes.css
new file mode 100644
index 0000000000..88704739ae
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/Opera6Fixes.css
@@ -0,0 +1,14 @@
+/* opera 6 fixes */
+#column-one {
+ position: relative;
+ max-width: 11.7em;
+}
+#p-personal {
+ width: 45em;
+ margin-left: 8.6em;
+ right: 0;
+}
+#bodyContent a.external {
+ background: url(external.png) center right no-repeat;
+ padding-right: 13px;
+}
diff --git a/roles/mediawiki/files/skins/fedora/Opera7Fixes.css b/roles/mediawiki/files/skins/fedora/Opera7Fixes.css
new file mode 100644
index 0000000000..446ea44cdb
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/Opera7Fixes.css
@@ -0,0 +1,11 @@
+/* small tweaks for opera seven */
+#p-cactions {
+ margin-top: .1em;
+}
+#p-cactions li a {
+ top: 2px;
+}
+#bodyContent a.external {
+ background: url(external.png) center right no-repeat;
+ padding-right: 13px;
+}
diff --git a/roles/mediawiki/files/skins/fedora/audio.png b/roles/mediawiki/files/skins/fedora/audio.png
new file mode 100644
index 0000000000..1c56bdc8d8
Binary files /dev/null and b/roles/mediawiki/files/skins/fedora/audio.png differ
diff --git a/roles/mediawiki/files/skins/fedora/document.png b/roles/mediawiki/files/skins/fedora/document.png
new file mode 100644
index 0000000000..b48138e90e
Binary files /dev/null and b/roles/mediawiki/files/skins/fedora/document.png differ
diff --git a/roles/mediawiki/files/skins/fedora/external.png b/roles/mediawiki/files/skins/fedora/external.png
new file mode 100644
index 0000000000..419c06fb96
Binary files /dev/null and b/roles/mediawiki/files/skins/fedora/external.png differ
diff --git a/roles/mediawiki/files/skins/fedora/handheld.css b/roles/mediawiki/files/skins/fedora/handheld.css
new file mode 100644
index 0000000000..754aba9f55
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/handheld.css
@@ -0,0 +1,1337 @@
+/*
+** MediaWiki 'monobook' style sheet for CSS2-capable browsers.
+** Copyright Gabriel Wicke - http://wikidev.net/
+** License: GPL (http://www.gnu.org/copyleft/gpl.html)
+**
+** Loosely based on http://www.positioniseverything.net/ordered-floats.html by Big John
+** and the Plone 2.0 styles, see http://plone.org/ (Alexander Limi,Joe Geldart & Tom Croucher,
+** Michael Zeltner and Geir Bækholt)
+** All you guys rock :)
+*/
+
+/**
+ * Stylesheet for handhelds. All rules not marked media-specific are shared
+ * with main.css and should be updated in tandem. The rules can't be in the
+ * same file because old browsers like IE5 won't obey @media rules.
+ *
+ * Rules that are handheld-specific are given @media rules in case old browsers
+ * don't recognize the media attribute and load this file anyway.
+ */
+
+#content {
+ background: white;
+ color: black;
+ border: 1px solid #aaa;
+ border-right: none;
+ line-height: 1.5em;
+}
+/* the left column width is specified in class .portlet */
+
+/* Font size:
+** We take advantage of keyword scaling- browsers won't go below 9px
+** More at http://www.w3.org/2003/07/30-font-size
+** http://style.cleverchimp.com/font_size_intervals/altintervals.html
+*/
+
+body {
+ font: x-small sans-serif;
+ background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
+ color: black;
+ margin: 0;
+ padding: 0;
+}
+
+/* scale back up to a sane default */
+#globalWrapper {
+ font-size: 127%;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+}
+.visualClear {
+ clear: both;
+}
+
+/* general styles */
+
+table {
+ font-size: 100%;
+ color: black;
+ /* we don't want the bottom borders of s to be visible through
+ floated tables */
+ background-color: white;
+}
+a {
+ text-decoration: none;
+ color: #002bb8;
+ background: none;
+}
+a:visited {
+ color: #5a3696;
+}
+a:active {
+ color: #faa700;
+}
+a:hover {
+ text-decoration: underline;
+}
+a.stub {
+ color: #772233;
+}
+a.new, #p-personal a.new {
+ color: #ba0000;
+}
+a.new:visited, #p-personal a.new:visited {
+ color: #a55858;
+}
+
+img {
+ border: none;
+ vertical-align: middle;
+}
+p img {
+ margin: 0;
+}
+
+hr {
+ height: 1px;
+ color: #aaa;
+ background-color: #aaa;
+ border: 0;
+ margin: .2em 0 .2em 0;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: black;
+ background: none;
+ font-weight: normal;
+ margin: 0;
+ padding-top: .5em;
+ padding-bottom: .17em;
+ border-bottom: 1px solid #aaa;
+}
+h1 { font-size: 188%; }
+h1 .editsection { font-size: 53%; }
+h2 { font-size: 150%; }
+h2 .editsection { font-size: 67%; }
+h3, h4, h5, h6 {
+ border-bottom: none;
+ font-weight: bold;
+}
+h3 { font-size: 132%; }
+h3 .editsection { font-size: 76%; font-weight: normal; }
+h4 { font-size: 116%; }
+h4 .editsection { font-size: 86%; font-weight: normal; }
+h5 { font-size: 100%; }
+h5 .editsection { font-weight: normal; }
+h6 { font-size: 80%; }
+h6 .editsection { font-size: 125%; font-weight: normal; }
+
+.editsection {
+ float: right;
+ margin-left: 5px;
+}
+
+ul {
+ line-height: 1.5em;
+ list-style-type: square;
+ margin: .3em 0 0 1.5em;
+ padding: 0;
+ list-style-image: url(bullet.gif);
+}
+ol {
+ line-height: 1.5em;
+ margin: .3em 0 0 3.2em;
+ padding: 0;
+ list-style-image: none;
+}
+li {
+ margin-bottom: .1em;
+}
+dt {
+ font-weight: bold;
+ margin-bottom: .1em;
+}
+dl {
+ margin-top: .2em;
+ margin-bottom: .5em;
+}
+dd {
+ line-height: 1.5em;
+ margin-left: 2em;
+ margin-bottom: .1em;
+}
+
+fieldset {
+ border: 1px solid #2f6fab;
+ margin: 1em 0 1em 0;
+ padding: 0 1em 1em;
+ line-height: 1.5em;
+}
+legend {
+ padding: .5em;
+ font-size: 95%;
+}
+form {
+ border: none;
+ margin: 0;
+}
+
+textarea {
+ width: 100%;
+ padding: .1em;
+}
+
+input.historysubmit {
+ padding: 0 .3em .3em .3em !important;
+ font-size: 94%;
+ cursor: pointer;
+ height: 1.7em !important;
+ margin-left: 1.6em;
+}
+select {
+ vertical-align: top;
+}
+abbr, acronym, .explain {
+ border-bottom: 1px dotted black;
+ color: black;
+ background: none;
+ cursor: help;
+}
+q {
+ font-family: Times, "Times New Roman", serif;
+ font-style: italic;
+}
+/* disabled for now
+blockquote {
+ font-family: Times, "Times New Roman", serif;
+ font-style: italic;
+}*/
+code {
+ background-color: #f9f9f9;
+}
+pre {
+ padding: 1em;
+ border: 1px dashed #2f6fab;
+ color: black;
+ background-color: #f9f9f9;
+ line-height: 1.1em;
+}
+
+/*
+** the main content area
+*/
+
+#contentSub, #contentSub2 {
+ font-size: 84%;
+ line-height: 1.2em;
+ margin: 0 0 1.4em 1em;
+ color: #7d7d7d;
+ width: auto;
+}
+span.subpages {
+ display: block;
+}
+
+/* Some space under the headers in the content area */
+#bodyContent h1, #bodyContent h2 {
+ margin-bottom: .6em;
+}
+#bodyContent h3, #bodyContent h4, #bodyContent h5 {
+ margin-bottom: .3em;
+}
+.firstHeading {
+ margin-bottom: .1em;
+}
+
+/* user notification thing */
+.usermessage {
+ background-color: #ffce7b;
+ border: 1px solid #ffa500;
+ color: black;
+ font-weight: bold;
+ margin: 2em 0 1em;
+ padding: .5em 1em;
+ vertical-align: middle;
+}
+#siteNotice {
+ text-align: center;
+ font-size: 95%;
+ padding: 0 .9em;
+}
+#siteNotice p {
+ margin: 0;
+ padding: 0;
+}
+.error {
+ color: red;
+ font-size: larger;
+}
+.errorbox, .successbox {
+ font-size: larger;
+ border: 2px solid;
+ padding: .5em 1em;
+ float: left;
+ margin-bottom: 2em;
+ color: #000;
+}
+.errorbox {
+ border-color: red;
+ background-color: #fff2f2;
+}
+.successbox {
+ border-color: green;
+ background-color: #dfd;
+}
+.errorbox h2, .successbox h2 {
+ font-size: 1em;
+ font-weight: bold;
+ display: inline;
+ margin: 0 .5em 0 0;
+ border: none;
+}
+
+#catlinks {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ margin-top: 1em;
+ clear: both;
+}
+/* currently unused, intended to be used by a metadata box
+in the bottom-right corner of the content area */
+.documentDescription {
+ /* The summary text describing the document */
+ font-weight: bold;
+ display: block;
+ margin: 1em 0;
+ line-height: 1.5em;
+}
+.documentByLine {
+ text-align: right;
+ font-size: 90%;
+ clear: both;
+ font-weight: normal;
+ color: #76797c;
+}
+
+/* emulate center */
+.center {
+ width: 100%;
+ text-align: center;
+}
+*.center * {
+ margin-left: auto;
+ margin-right: auto;
+}
+/* small for tables and similar */
+.small, .small * {
+ font-size: 94%;
+}
+table.small {
+ font-size: 100%;
+}
+
+/*
+** content styles
+*/
+
+#toc,
+.toc,
+.mw-warning {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+}
+#toc h2,
+.toc h2 {
+ display: inline;
+ border: none;
+ padding: 0;
+ font-size: 100%;
+ font-weight: bold;
+}
+#toc #toctitle,
+.toc #toctitle,
+#toc .toctitle,
+.toc .toctitle {
+ text-align: center;
+}
+#toc ul,
+.toc ul {
+ list-style-type: none;
+ list-style-image: none;
+ margin-left: 0;
+ padding-left: 0;
+ text-align: left;
+}
+#toc ul ul,
+.toc ul ul {
+ margin: 0 0 0 2em;
+}
+#toc .toctoggle,
+.toc .toctoggle {
+ font-size: 94%;
+}
+
+.mw-warning {
+ margin-left: 50px;
+ margin-right: 50px;
+ text-align: center;
+}
+
+/* images */
+div.floatright, table.floatright {
+ clear: right;
+ float: right;
+ position: relative;
+ margin: 0 0 .5em .5em;
+ border: 0;
+/*
+ border: .5em solid white;
+ border-width: .5em 0 .8em 1.4em;
+*/
+}
+div.floatright p { font-style: italic; }
+div.floatleft, table.floatleft {
+ float: left;
+ clear: left;
+ position: relative;
+ margin: 0 .5em .5em 0;
+ border: 0;
+/*
+ margin: .3em .5em .5em 0;
+ border: .5em solid white;
+ border-width: .5em 1.4em .8em 0;
+*/
+}
+div.floatleft p { font-style: italic; }
+/* thumbnails */
+div.thumb {
+ margin-bottom: .5em;
+ border-style: solid;
+ border-color: white;
+ width: auto;
+}
+div.thumbinner {
+ border: 1px solid #ccc;
+ padding: 3px !important;
+ background-color: #f9f9f9;
+ font-size: 94%;
+ text-align: center;
+ overflow: hidden;
+}
+html .thumbimage {
+ border: 1px solid #ccc;
+}
+html .thumbcaption {
+ border: none;
+ text-align: left;
+ line-height: 1.4em;
+ padding: 3px !important;
+ font-size: 94%;
+}
+div.magnify {
+ float: right;
+ border: none !important;
+ background: none !important;
+}
+div.magnify a, div.magnify img {
+ display: block;
+ border: none !important;
+ background: none !important;
+}
+div.tright {
+ clear: right;
+ float: right;
+ border-width: .5em 0 .8em 1.4em;
+}
+div.tleft {
+ float: left;
+ clear: left;
+ margin-right: .5em;
+ border-width: .5em 1.4em .8em 0;
+}
+
+.hiddenStructure {
+ display: none;
+ speak: none;
+}
+img.tex {
+ vertical-align: middle;
+}
+span.texhtml {
+ font-family: serif;
+}
+
+/*
+** classes for special content elements like town boxes
+** intended to be referenced directly from the wiki src
+*/
+
+/*
+** User styles
+*/
+/* table standards */
+table.rimage {
+ float: right;
+ position: relative;
+ margin-left: 1em;
+ margin-bottom: 1em;
+ text-align: center;
+}
+.toccolours {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+}
+div.townBox {
+ position: relative;
+ float: right;
+ background: white;
+ margin-left: 1em;
+ border: 1px solid gray;
+ padding: .3em;
+ width: 200px;
+ overflow: hidden;
+ clear: right;
+}
+div.townBox dl {
+ padding: 0;
+ margin: 0 0 .3em;
+ font-size: 96%;
+}
+div.townBox dl dt {
+ background: none;
+ margin: .4em 0 0;
+}
+div.townBox dl dd {
+ margin: .1em 0 0 1.1em;
+ background-color: #f3f3f3;
+}
+
+/*
+** edit views etc
+*/
+.special li {
+ line-height: 1.4em;
+ margin: 0;
+ padding: 0;
+}
+
+/* Page history styling */
+/* the auto-generated edit comments */
+.autocomment {
+ color: gray;
+}
+#pagehistory span.user {
+ margin-left: 1.4em;
+ margin-right: .4em;
+}
+#pagehistory span.minor {
+ font-weight: bold;
+}
+#pagehistory li {
+ border: 1px solid white;
+}
+#pagehistory li.selected {
+ background-color: #f9f9f9;
+ border: 1px dashed #aaa;
+}
+
+/*
+** Diff rendering
+*/
+table.diff, td.diff-otitle, td.diff-ntitle {
+ background-color: white;
+}
+td.diff-addedline {
+ background: #cfc;
+ font-size: smaller;
+}
+td.diff-deletedline {
+ background: #ffa;
+ font-size: smaller;
+}
+td.diff-context {
+ background: #eee;
+ font-size: smaller;
+}
+.diffchange {
+ color: red;
+ font-weight: bold;
+}
+
+/*
+** keep the whitespace in front of the ^=, hides rule from konqueror
+** this is css3, the validator doesn't like it when validating as css2
+*/
+#bodyContent a.external,
+#bodyContent a[href ^="gopher://"] {
+ background: url(external.png) center right no-repeat;
+ padding-right: 13px;
+}
+#bodyContent a[href ^="https://"],
+.link-https {
+ background: url(lock_icon.gif) center right no-repeat;
+ padding-right: 16px;
+}
+#bodyContent a[href ^="mailto:"],
+.link-mailto {
+ background: url(mail_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#bodyContent a[href ^="news://"] {
+ background: url(news_icon.png) center right no-repeat;
+ padding-right: 18px;
+}
+#bodyContent a[href ^="ftp://"],
+.link-ftp {
+ background: url(file_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#bodyContent a[href ^="irc://"],
+.link-irc {
+ background: url(discussionitem_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#bodyContent a.external[href $=".ogg"], #bodyContent a.external[href $=".OGG"],
+#bodyContent a.external[href $=".mid"], #bodyContent a.external[href $=".MID"],
+#bodyContent a.external[href $=".midi"], #bodyContent a.external[href $=".MIDI"],
+#bodyContent a.external[href $=".mp3"], #bodyContent a.external[href $=".MP3"],
+#bodyContent a.external[href $=".wav"], #bodyContent a.external[href $=".WAV"],
+#bodyContent a.external[href $=".wma"], #bodyContent a.external[href $=".WMA"],
+.link-audio {
+ background: url("audio.png") center right no-repeat;
+ padding-right: 13px;
+}
+#bodyContent a.external[href $=".ogm"], #bodyContent a.external[href $=".OGM"],
+#bodyContent a.external[href $=".avi"], #bodyContent a.external[href $=".AVI"],
+#bodyContent a.external[href $=".mpeg"], #bodyContent a.external[href $=".MPEG"],
+#bodyContent a.external[href $=".mpg"], #bodyContent a.external[href $=".MPG"],
+.link-video {
+ background: url("video.png") center right no-repeat;
+ padding-right: 13px;
+}
+#bodyContent a.external[href $=".pdf"], #bodyContent a.external[href $=".PDF"],
+#bodyContent a.external[href *=".pdf#"], #bodyContent a.external[href *=".PDF#"],
+#bodyContent a.external[href *=".pdf?"], #bodyContent a.external[href *=".PDF?"],
+.link-document {
+ background: url("document.png") center right no-repeat;
+ padding-right: 12px;
+}
+
+/* disable interwiki styling */
+#bodyContent a.extiw,
+#bodyContent a.extiw:active {
+ color: #36b;
+ background: none;
+ padding: 0;
+}
+#bodyContent a.external {
+ color: #36b;
+}
+/* this can be used in the content area to switch off
+special external link styling */
+#bodyContent .plainlinks a {
+ background: none !important;
+ padding: 0 !important;
+}
+/*
+** Structural Elements
+*/
+
+/*
+** general portlet styles (elements in the quickbar)
+*/
+.portlet {
+ border: none;
+ margin: 0 0 .5em;
+ padding: 0;
+ float: none;
+ width: 11.6em;
+ overflow: hidden;
+}
+.portlet h4 {
+ font-size: 95%;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.portlet h5 {
+ background: transparent;
+ padding: 0 1em 0 .5em;
+ display: inline;
+ height: 1em;
+ text-transform: lowercase;
+ font-size: 91%;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.portlet h6 {
+ background: #ffae2e;
+ border: 1px solid #2f6fab;
+ border-style: solid solid none solid;
+ padding: 0 1em 0 1em;
+ text-transform: lowercase;
+ display: block;
+ font-size: 1em;
+ height: 1.2em;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.pBody {
+ font-size: 95%;
+ background-color: white;
+ color: black;
+ border-collapse: collapse;
+ border: 1px solid #aaa;
+ padding: 0 .8em .3em .5em;
+}
+.portlet h1,
+.portlet h2,
+.portlet h3,
+.portlet h4 {
+ margin: 0;
+ padding: 0;
+}
+.portlet ul {
+ line-height: 1.5em;
+ list-style-type: square;
+ list-style-image: url(bullet.gif);
+ font-size: 95%;
+}
+.portlet li {
+ padding: 0;
+ margin: 0;
+}
+
+/*
+** Logo properties
+*/
+
+@media handheld {
+ #p-logo { display: none }
+}
+
+/*
+** the navigation portlet
+*/
+
+#p-navigation .pBody {
+ padding-right: 0;
+}
+
+#p-navigation li.active a, #p-navigation li.active a:hover {
+ text-decoration: none;
+ font-weight: bold;
+}
+
+
+/*
+** Search portlet
+*/
+input.searchButton {
+ margin-top: 1px;
+ font-size: 95%;
+}
+#searchGoButton {
+ padding-left: .5em;
+ padding-right: .5em;
+ font-weight: bold;
+}
+#searchInput {
+ width: 10.9em;
+ margin: 0;
+ font-size: 95%;
+}
+#p-search .pBody {
+ padding: .5em .4em .4em .4em;
+ text-align: center;
+}
+
+/*
+** the personal toolbar
+*/
+#p-personal ul {
+ text-transform: lowercase;
+}
+#p-personal li.active {
+ font-weight: bold;
+}
+/*
+** the page-related actions- page/talk, edit etc
+*/
+#p-cactions .hiddenStructure {
+ display: none;
+}
+#p-cactions li a {
+ text-transform: lowercase;
+}
+
+/* TODO: #t-iscite is only used by the Cite extension, come up with some
+ * system which allows extensions to add to this file on the fly
+ */
+#t-ispermalink, #t-iscite {
+ color: #999;
+}
+/*
+** footer
+*/
+#footer {
+ background-color: white;
+ border-top: 1px solid #fabd23;
+ border-bottom: 1px solid #fabd23;
+ margin: .6em 0 1em 0;
+ padding: .4em 0 1.2em 0;
+ text-align: center;
+ font-size: 90%;
+}
+#footer li {
+ display: inline;
+ margin: 0 1.3em;
+}
+/* hide from incapable browsers */
+head:first-child+body #footer li { white-space: nowrap; }
+#f-poweredbyico, #f-copyrightico {
+ margin: 0 8px;
+ position: relative;
+ top: -2px; /* Bump it up just a tad */
+}
+#f-poweredbyico {
+ float: right;
+ height: 1%;
+}
+#f-copyrightico {
+ float: left;
+ height: 1%;
+}
+
+/* js pref toc */
+#preftoc {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ clear: both;
+}
+#preftoc li {
+ background-color: #f0f0f0;
+ color: #000;
+}
+#preftoc li.selected {
+ font-weight: bold;
+ background-color: #f9f9f9;
+ border: 1px solid #aaa;
+ border-bottom: none;
+ cursor: default;
+ top: 1px;
+ padding-top: 2px;
+ margin-right: -3px;
+}
+#preftoc > li.selected {
+ top: 2px;
+}
+#preftoc a,
+#preftoc a:active {
+ display: block;
+ color: #000;
+ padding: 0 .7em;
+ position: relative;
+ text-decoration: none;
+}
+#preftoc li.selected a {
+ cursor: default;
+ text-decoration: none;
+}
+#prefcontrol {
+ padding-top: 2em;
+ clear: both;
+}
+#preferences {
+ margin: 0;
+ border: 1px solid #aaa;
+ clear: both;
+ padding: 1.5em;
+ background-color: #F9F9F9;
+}
+.prefsection {
+ border: none;
+ padding: 0;
+ margin: 0;
+}
+.prefsection fieldset {
+ border: 1px solid #aaa;
+ float: left;
+ margin-right: 2em;
+}
+.prefsection legend {
+ font-weight: bold;
+}
+.prefsection table, .prefsection legend {
+ background-color: #F9F9F9;
+}
+div.prefsectiontip {
+ font-size: 95%;
+ margin-top: 0;
+ background-color: #FFC1C1;
+ padding: .2em .7em;
+ clear: both;
+}
+.btnSavePrefs {
+ font-weight: bold;
+ padding-left: .3em;
+ padding-right: .3em;
+}
+
+.preferences-login {
+ clear: both;
+ margin-bottom: 1.5em;
+}
+
+.prefcache {
+ font-size: 90%;
+ margin-top: 2em;
+}
+
+div#userloginForm form,
+div#userlogin form#userlogin2 {
+ margin: 0 3em 1em 0;
+ border: 1px solid #aaa;
+ clear: both;
+ padding: 1.5em 2em;
+ background-color: #f9f9f9;
+ float: left;
+}
+
+div#userloginForm table,
+div#userlogin form#userlogin2 table {
+ background-color: #f9f9f9;
+}
+
+div#userloginForm h2,
+div#userlogin form#userlogin2 h2 {
+ padding-top: 0;
+}
+
+div#userlogin .captcha {
+ border: 1px solid #bbb;
+ padding: 1.5em 2em;
+ width: 400px;
+ background-color: white;
+}
+
+
+#userloginprompt, #languagelinks {
+ font-size: 85%;
+}
+
+#login-sectiontip {
+ font-size: 85%;
+ line-height: 1.2;
+ padding-top: 2em;
+}
+
+#userlogin .loginText, #userlogin .loginPassword {
+ width: 12em;
+}
+
+#userloginlink a, #wpLoginattempt, #wpCreateaccount {
+ font-weight: bold;
+}
+
+/* more IE fixes */
+/* float/negative margin brokenness */
+* html #footer {margin-top: 0;}
+* html #column-content {
+ display: inline;
+ margin-bottom: 0;
+}
+* html div.editsection { font-size: smaller; }
+#pagehistory li.selected { position: relative; }
+
+/* Mac IE 5.0 fix; floated content turns invisible */
+* > html #column-content {
+ float: none;
+}
+* > html #column-one {
+ position: absolute;
+ left: 0;
+ top: 0;
+}
+* > html #footer {
+ margin-left: 13.2em;
+}
+.redirectText {
+ font-size: 150%;
+ margin: 5px;
+}
+
+.printfooter {
+ display: none;
+}
+
+.not-patrolled {
+ background-color: #ffa;
+}
+div.patrollink {
+ font-size: 75%;
+ text-align: right;
+}
+span.newpage, span.minor, span.searchmatch, span.bot {
+ font-weight: bold;
+}
+span.unpatrolled {
+ font-weight: bold;
+ color: red;
+}
+
+span.searchmatch {
+ color: red;
+}
+.sharedUploadNotice {
+ font-style: italic;
+}
+
+span.updatedmarker {
+ color: black;
+ background-color: #0f0;
+}
+
+table.gallery {
+ border: 1px solid #ccc;
+ margin: 2px;
+ padding: 2px;
+ background-color: white;
+}
+
+table.gallery tr {
+ vertical-align: top;
+}
+
+table.gallery td {
+ vertical-align: top;
+ background-color: #f9f9f9;
+ border: solid 2px white;
+}
+
+/* Keep this temporarily so that cached pages will display right */
+table.gallery td.galleryheader {
+ text-align: center;
+ font-weight: bold;
+}
+table.gallery caption {
+ font-weight: bold;
+}
+
+div.gallerybox {
+ margin: 2px;
+ width: 150px;
+}
+
+div.gallerybox div.thumb {
+ text-align: center;
+ border: 1px solid #ccc;
+ margin: 2px;
+}
+
+div.gallerytext {
+ font-size: 94%;
+ padding: 2px 4px;
+}
+
+span.comment {
+ font-style: italic;
+}
+
+span.changedby {
+ font-size: 95%;
+}
+
+.previewnote {
+ text-indent: 3em;
+ color: #c00;
+ border-bottom: 1px solid #aaa;
+ padding-bottom: 1em;
+ margin-bottom: 1em;
+}
+
+.previewnote p {
+ margin: 0;
+ padding: 0;
+}
+
+.editExternally {
+ border: 1px solid gray;
+ background-color: #ffffff;
+ padding: 3px;
+ margin-top: 0.5em;
+ float: left;
+ font-size: small;
+ text-align: center;
+}
+.editExternallyHelp {
+ font-style: italic;
+ color: gray;
+}
+
+li span.deleted, span.history-deleted {
+ text-decoration: line-through;
+ color: #888;
+ font-style: italic;
+}
+
+.toggle {
+ margin-left: 2em;
+ text-indent: -2em;
+}
+
+/* Classes for EXIF data display */
+table.mw_metadata {
+ font-size: 0.8em;
+ margin-left: 0.5em;
+ margin-bottom: 0.5em;
+ width: 300px;
+}
+
+table.mw_metadata caption {
+ font-weight: bold;
+}
+
+table.mw_metadata th {
+ font-weight: normal;
+}
+
+table.mw_metadata td {
+ padding: 0.1em;
+}
+
+table.mw_metadata {
+ border: none;
+ border-collapse: collapse;
+}
+
+table.mw_metadata td, table.mw_metadata th {
+ text-align: center;
+ border: 1px solid #aaaaaa;
+ padding-left: 0.1em;
+ padding-right: 0.1em;
+}
+
+table.mw_metadata th {
+ background-color: #f9f9f9;
+}
+
+table.mw_metadata td {
+ background-color: #fcfcfc;
+}
+
+table.collapsed tr.collapsable {
+ display: none;
+}
+
+
+/* filetoc */
+ul#filetoc {
+ text-align: center;
+ border: 1px solid #aaaaaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+ margin-bottom: 0.5em;
+ margin-left: 0;
+ margin-right: 0;
+}
+
+#filetoc li {
+ display: inline;
+ list-style-type: none;
+ padding-right: 2em;
+}
+
+input#wpSummary {
+ width: 80%;
+}
+
+/* @bug 1714 */
+input#wpSave, input#wpDiff {
+ margin-right: 0.33em;
+}
+
+#editform .editOptions {
+ display: inline;
+}
+
+#wpSave {
+ font-weight: bold;
+}
+
+/* Classes for article validation */
+
+table.revisionform_default {
+ border: 1px solid #000000;
+}
+
+table.revisionform_focus {
+ border: 1px solid #000000;
+ background-color:#00BBFF;
+}
+
+tr.revision_tr_default {
+ background-color:#EEEEEE;
+}
+
+tr.revision_tr_first {
+ background-color:#DDDDDD;
+}
+
+p.revision_saved {
+ color: green;
+ font-weight:bold;
+}
+
+#mw_trackbacks {
+ border: solid 1px #bbbbff;
+ background-color: #eeeeff;
+ padding: 0.2em;
+}
+
+
+/* Allmessages table */
+
+#allmessagestable th {
+ background-color: #b2b2ff;
+}
+
+#allmessagestable tr.orig {
+ background-color: #ffe2e2;
+}
+
+#allmessagestable tr.new {
+ background-color: #e2ffe2;
+}
+
+#allmessagestable tr.def {
+ background-color: #f0f0ff;
+}
+
+
+/* noarticletext */
+div.noarticletext {
+ border: 1px solid #ccc;
+ background: #fff;
+ padding: .2em 1em;
+ color: #000;
+}
+
+div#searchTargetContainer {
+ left: 10px;
+ top: 10px;
+ width: 90%;
+ background: white;
+}
+
+div#searchTarget {
+ padding: 3px;
+ margin: 5px;
+ background: #F0F0F0;
+ border: solid 1px blue;
+}
+
+div#searchTarget ul li {
+ list-style: none;
+}
+
+div#searchTarget ul li:before {
+ color: orange;
+ content: "\00BB \0020";
+}
+
+div.multipageimagenavbox {
+ border: solid 1px silver;
+ padding: 4px;
+ margin: 1em;
+ -moz-border-radius: 6px;
+ background: #f0f0f0;
+}
+
+div.multipageimagenavbox div.thumb {
+ border: none;
+ margin-left: 2em;
+ margin-right: 2em;
+}
+
+div.multipageimagenavbox hr {
+ margin: 6px;
+}
+
+table.multipageimage td {
+ text-align: center;
+}
+
+/** Special:Version */
+
+table#sv-ext, table#sv-hooks {
+ margin: 1em;
+ padding:0em;
+}
+
+#sv-ext td, #sv-hooks td,
+#sv-ext th, #sv-hooks th {
+ border: 1px solid #A0A0A0;
+ padding: 0 0.15em 0 0.15em;
+}
+#sv-ext th, #sv-hooks th {
+ background-color: #F0F0F0;
+ color: black;
+ padding: 0 0.15em 0 0.15em;
+}
+tr.sv-space{
+ height: 0.8em;
+ border:none;
+}
+tr.sv-space td { display: none; }
+
+/*
+ Table pager (e.g. Special:Imagelist)
+ - remove underlines from the navigation link
+ - collapse borders
+ - set the borders to outsets (similar to Special:Allmessages)
+ - remove line wrapping for all td and th, set background color
+ - restore line wrapping for the last two table cells (description and size)
+*/
+.TablePager_nav a { text-decoration: none; }
+.TablePager { border-collapse: collapse; }
+.TablePager, .TablePager td, .TablePager th {
+ border: 0.15em solid #777777;
+ padding: 0 0.15em 0 0.15em;
+}
+.TablePager th { background-color: #eeeeff }
+.TablePager td { background-color: #ffffff }
+.TablePager tr:hover td { background-color: #eeeeff }
+
+.imagelist td, .imagelist th { white-space: nowrap }
+.imagelist .TablePager_col_links { background-color: #eeeeff }
+.imagelist .TablePager_col_img_description { white-space: normal }
+.imagelist th.TablePager_sort { background-color: #ccccff }
+
+.templatesUsed { margin-top: 1.5em; }
+
+.mw-summary-preview {
+ margin: 0.1em 0;
+}
+@media handheld {
+ .nonessential {
+ /* Kill big bulky stuff that will clog up the screen */
+ display: none;
+ }
+}
+
+/**
+ * Here is some stuff that's ACTUALLY COMMON TO ALL SKINS.
+ * When the day comes, it can be moved to a *real* common.css.
+ */
+.mw-plusminus-null { color: #aaa; }
+.texvc { direction: ltr; unicode-bidi: embed; }
+/* Stop floats from intruding into edit area in previews */
+#toolbar, #wpTextbox1 { clear: both; }
\ No newline at end of file
diff --git a/roles/mediawiki/files/skins/fedora/magnify-clip.png b/roles/mediawiki/files/skins/fedora/magnify-clip.png
new file mode 100644
index 0000000000..992aa2e326
Binary files /dev/null and b/roles/mediawiki/files/skins/fedora/magnify-clip.png differ
diff --git a/roles/mediawiki/files/skins/fedora/main-bak.css b/roles/mediawiki/files/skins/fedora/main-bak.css
new file mode 100644
index 0000000000..ff18f349fb
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/main-bak.css
@@ -0,0 +1,1638 @@
+/*
+** MediaWiki 'monobook' style sheet for CSS2-capable browsers.
+** Copyright Gabriel Wicke - http://wikidev.net/
+** License: GPL (http://www.gnu.org/copyleft/gpl.html)
+**
+** Loosely based on http://www.positioniseverything.net/ordered-floats.html by Big John
+** and the Plone 2.0 styles, see http://plone.org/ (Alexander Limi,Joe Geldart & Tom Croucher,
+** Michael Zeltner and Geir Bækholt)
+** All you guys rock :)
+*/
+
+/**
+ * Stylesheet for screen/projection. All rules not marked media-specific are
+ * shared with handheld.css and should be updated in tandem. The rules can't
+ * be in the same file because old browsers like IE5 won't obey @media rules.
+ *
+ * Rules that are screen/projection-specific are marked with commented-out
+ * @media rules and indentation.
+ */
+
+/* @media screen, projection { */
+ #column-content {
+ width: 100%;
+ float: right;
+ margin: 0 0 .6em -12.2em;
+ padding: 0;
+ }
+ #content {
+ margin: 2.8em 0 0 12.2em;
+ padding: 0 1em 1.5em 1em;
+ position: relative;
+ z-index: 2;
+ }
+ #column-one {
+ padding-top: 160px;
+ }
+/* } */
+#content {
+ background: white;
+ color: black;
+ border: 1px solid #aaa;
+ border-right: none;
+ line-height: 1.5em;
+}
+/* the left column width is specified in class .portlet */
+
+/* Font size:
+** We take advantage of keyword scaling- browsers won't go below 9px
+** More at http://www.w3.org/2003/07/30-font-size
+** http://style.cleverchimp.com/font_size_intervals/altintervals.html
+*/
+
+body {
+ font: x-small sans-serif;
+ background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
+ color: black;
+ margin: 0;
+ padding: 0;
+}
+
+/* scale back up to a sane default */
+#globalWrapper {
+ font-size: 127%;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+}
+.visualClear {
+ clear: both;
+}
+
+/* general styles */
+
+table {
+ font-size: 100%;
+ color: black;
+ /* we don't want the bottom borders of s to be visible through
+ floated tables */
+ background-color: white;
+}
+a {
+ text-decoration: none;
+ color: #002bb8;
+ background: none;
+}
+a:visited {
+ color: #5a3696;
+}
+a:active {
+ color: #faa700;
+}
+a:hover {
+ text-decoration: underline;
+}
+a.stub {
+ color: #772233;
+}
+a.new, #p-personal a.new {
+ color: #ba0000;
+}
+a.new:visited, #p-personal a.new:visited {
+ color: #a55858;
+}
+
+img {
+ border: none;
+ vertical-align: middle;
+}
+/* @media screen, projection { */
+ p {
+ margin: .4em 0 .5em 0;
+ line-height: 1.5em;
+ }
+/* } */
+p img {
+ margin: 0;
+}
+
+hr {
+ height: 1px;
+ color: #aaa;
+ background-color: #aaa;
+ border: 0;
+ margin: .2em 0 .2em 0;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: black;
+ background: none;
+ font-weight: normal;
+ margin: 0;
+ padding-top: .5em;
+ padding-bottom: .17em;
+ border-bottom: 1px solid #aaa;
+}
+h1 { font-size: 188%; }
+h1 .editsection { font-size: 53%; }
+h2 { font-size: 150%; }
+h2 .editsection { font-size: 67%; }
+h3, h4, h5, h6 {
+ border-bottom: none;
+ font-weight: bold;
+}
+h3 { font-size: 132%; }
+h3 .editsection { font-size: 76%; font-weight: normal; }
+h4 { font-size: 116%; }
+h4 .editsection { font-size: 86%; font-weight: normal; }
+h5 { font-size: 100%; }
+h5 .editsection { font-weight: normal; }
+h6 { font-size: 80%; }
+h6 .editsection { font-size: 125%; font-weight: normal; }
+
+.editsection {
+ float: right;
+ margin-left: 5px;
+}
+
+ul {
+ line-height: 1.5em;
+ list-style-type: square;
+ margin: .3em 0 0 1.5em;
+ padding: 0;
+ list-style-image: url(bullet.gif);
+}
+ol {
+ line-height: 1.5em;
+ margin: .3em 0 0 3.2em;
+ padding: 0;
+ list-style-image: none;
+}
+li {
+ margin-bottom: .1em;
+}
+dt {
+ font-weight: bold;
+ margin-bottom: .1em;
+}
+dl {
+ margin-top: .2em;
+ margin-bottom: .5em;
+}
+dd {
+ line-height: 1.5em;
+ margin-left: 2em;
+ margin-bottom: .1em;
+}
+
+fieldset {
+ border: 1px solid #2f6fab;
+ margin: 1em 0 1em 0;
+ padding: 0 1em 1em;
+ line-height: 1.5em;
+}
+legend {
+ padding: .5em;
+ font-size: 95%;
+}
+form {
+ border: none;
+ margin: 0;
+}
+
+textarea {
+ width: 100%;
+ padding: .1em;
+}
+
+input.historysubmit {
+ padding: 0 .3em .3em .3em !important;
+ font-size: 94%;
+ cursor: pointer;
+ height: 1.7em !important;
+ margin-left: 1.6em;
+}
+select {
+ vertical-align: top;
+}
+abbr, acronym, .explain {
+ border-bottom: 1px dotted black;
+ color: black;
+ background: none;
+ cursor: help;
+}
+q {
+ font-family: Times, "Times New Roman", serif;
+ font-style: italic;
+}
+/* disabled for now
+blockquote {
+ font-family: Times, "Times New Roman", serif;
+ font-style: italic;
+}*/
+code {
+ background-color: #f9f9f9;
+}
+pre {
+ padding: 1em;
+ border: 1px dashed #2f6fab;
+ color: black;
+ background-color: #f9f9f9;
+ line-height: 1.1em;
+}
+
+/*
+** the main content area
+*/
+
+/* @media screen, projection { */
+ #siteSub {
+ display: none;
+ }
+ #jump-to-nav {
+ display: none;
+ }
+/* } */
+
+#contentSub, #contentSub2 {
+ font-size: 84%;
+ line-height: 1.2em;
+ margin: 0 0 1.4em 1em;
+ color: #7d7d7d;
+ width: auto;
+}
+span.subpages {
+ display: block;
+}
+
+/* Some space under the headers in the content area */
+#bodyContent h1, #bodyContent h2 {
+ margin-bottom: .6em;
+}
+#bodyContent h3, #bodyContent h4, #bodyContent h5 {
+ margin-bottom: .3em;
+}
+.firstHeading {
+ margin-bottom: .1em;
+}
+
+/* user notification thing */
+.usermessage {
+ background-color: #ffce7b;
+ border: 1px solid #ffa500;
+ color: black;
+ font-weight: bold;
+ margin: 2em 0 1em;
+ padding: .5em 1em;
+ vertical-align: middle;
+}
+#siteNotice {
+ text-align: center;
+ font-size: 95%;
+ padding: 0 .9em;
+}
+#siteNotice p {
+ margin: 0;
+ padding: 0;
+}
+.error {
+ color: red;
+ font-size: larger;
+}
+.errorbox, .successbox {
+ font-size: larger;
+ border: 2px solid;
+ padding: .5em 1em;
+ float: left;
+ margin-bottom: 2em;
+ color: #000;
+}
+.errorbox {
+ border-color: red;
+ background-color: #fff2f2;
+}
+.successbox {
+ border-color: green;
+ background-color: #dfd;
+}
+.errorbox h2, .successbox h2 {
+ font-size: 1em;
+ font-weight: bold;
+ display: inline;
+ margin: 0 .5em 0 0;
+ border: none;
+}
+
+#catlinks {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ margin-top: 1em;
+ clear: both;
+}
+/* currently unused, intended to be used by a metadata box
+in the bottom-right corner of the content area */
+.documentDescription {
+ /* The summary text describing the document */
+ font-weight: bold;
+ display: block;
+ margin: 1em 0;
+ line-height: 1.5em;
+}
+.documentByLine {
+ text-align: right;
+ font-size: 90%;
+ clear: both;
+ font-weight: normal;
+ color: #76797c;
+}
+
+/* emulate center */
+.center {
+ width: 100%;
+ text-align: center;
+}
+*.center * {
+ margin-left: auto;
+ margin-right: auto;
+}
+/* small for tables and similar */
+.small, .small * {
+ font-size: 94%;
+}
+table.small {
+ font-size: 100%;
+}
+
+/*
+** content styles
+*/
+
+#toc,
+.toc,
+.mw-warning {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+}
+#toc h2,
+.toc h2 {
+ display: inline;
+ border: none;
+ padding: 0;
+ font-size: 100%;
+ font-weight: bold;
+}
+#toc #toctitle,
+.toc #toctitle,
+#toc .toctitle,
+.toc .toctitle {
+ text-align: center;
+}
+#toc ul,
+.toc ul {
+ list-style-type: none;
+ list-style-image: none;
+ margin-left: 0;
+ padding-left: 0;
+ text-align: left;
+}
+#toc ul ul,
+.toc ul ul {
+ margin: 0 0 0 2em;
+}
+#toc .toctoggle,
+.toc .toctoggle {
+ font-size: 94%;
+}
+
+.mw-warning {
+ margin-left: 50px;
+ margin-right: 50px;
+ text-align: center;
+}
+
+/* images */
+div.floatright, table.floatright {
+ clear: right;
+ float: right;
+ position: relative;
+ margin: 0 0 .5em .5em;
+ border: 0;
+/*
+ border: .5em solid white;
+ border-width: .5em 0 .8em 1.4em;
+*/
+}
+div.floatright p { font-style: italic; }
+div.floatleft, table.floatleft {
+ float: left;
+ clear: left;
+ position: relative;
+ margin: 0 .5em .5em 0;
+ border: 0;
+/*
+ margin: .3em .5em .5em 0;
+ border: .5em solid white;
+ border-width: .5em 1.4em .8em 0;
+*/
+}
+div.floatleft p { font-style: italic; }
+/* thumbnails */
+div.thumb {
+ margin-bottom: .5em;
+ border-style: solid;
+ border-color: white;
+ width: auto;
+}
+div.thumbinner {
+ border: 1px solid #ccc;
+ padding: 3px !important;
+ background-color: #f9f9f9;
+ font-size: 94%;
+ text-align: center;
+ overflow: hidden;
+}
+html .thumbimage {
+ border: 1px solid #ccc;
+}
+html .thumbcaption {
+ border: none;
+ text-align: left;
+ line-height: 1.4em;
+ padding: 3px !important;
+ font-size: 94%;
+}
+div.magnify {
+ float: right;
+ border: none !important;
+ background: none !important;
+}
+div.magnify a, div.magnify img {
+ display: block;
+ border: none !important;
+ background: none !important;
+}
+div.tright {
+ clear: right;
+ float: right;
+ border-width: .5em 0 .8em 1.4em;
+}
+div.tleft {
+ float: left;
+ clear: left;
+ margin-right: .5em;
+ border-width: .5em 1.4em .8em 0;
+}
+
+.hiddenStructure {
+ display: none;
+ speak: none;
+}
+img.tex {
+ vertical-align: middle;
+}
+span.texhtml {
+ font-family: serif;
+}
+
+/* Have a checkered background on images on the description pages and in galleries
+ to make transparency visible
+
+#file img, .gallerybox .thumb img {
+ background: url(Checker-16x16.png) repeat;
+}
+*/
+
+/*
+** classes for special content elements like town boxes
+** intended to be referenced directly from the wiki src
+*/
+
+/*
+** User styles
+*/
+/* table standards */
+table.rimage {
+ float: right;
+ position: relative;
+ margin-left: 1em;
+ margin-bottom: 1em;
+ text-align: center;
+}
+.toccolours {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+}
+div.townBox {
+ position: relative;
+ float: right;
+ background: white;
+ margin-left: 1em;
+ border: 1px solid gray;
+ padding: .3em;
+ width: 200px;
+ overflow: hidden;
+ clear: right;
+}
+div.townBox dl {
+ padding: 0;
+ margin: 0 0 .3em;
+ font-size: 96%;
+}
+div.townBox dl dt {
+ background: none;
+ margin: .4em 0 0;
+}
+div.townBox dl dd {
+ margin: .1em 0 0 1.1em;
+ background-color: #f3f3f3;
+}
+
+/*
+** edit views etc
+*/
+.special li {
+ line-height: 1.4em;
+ margin: 0;
+ padding: 0;
+}
+
+/* Page history styling */
+/* the auto-generated edit comments */
+.autocomment {
+ color: gray;
+}
+#pagehistory span.user {
+ margin-left: 1.4em;
+ margin-right: .4em;
+}
+#pagehistory span.minor {
+ font-weight: bold;
+}
+#pagehistory li {
+ border: 1px solid white;
+}
+#pagehistory li.selected {
+ background-color: #f9f9f9;
+ border: 1px dashed #aaa;
+}
+
+/*
+** Diff rendering
+*/
+table.diff, td.diff-otitle, td.diff-ntitle {
+ background-color: white;
+}
+td.diff-addedline {
+ background: #cfc;
+ font-size: smaller;
+}
+td.diff-deletedline {
+ background: #ffa;
+ font-size: smaller;
+}
+td.diff-context {
+ background: #eee;
+ font-size: smaller;
+}
+.diffchange {
+ color: red;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+/*
+** keep the whitespace in front of the ^=, hides rule from konqueror
+** this is css3, the validator doesn't like it when validating as css2
+*/
+#bodyContent a.external,
+#bodyContent a[href ^="gopher://"] {
+ background: url(external.png) center right no-repeat;
+ padding-right: 13px;
+}
+#bodyContent a[href ^="https://"],
+.link-https {
+ background: url(lock_icon.gif) center right no-repeat;
+ padding-right: 16px;
+}
+#bodyContent a[href ^="mailto:"],
+.link-mailto {
+ background: url(mail_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#bodyContent a[href ^="news://"] {
+ background: url(news_icon.png) center right no-repeat;
+ padding-right: 18px;
+}
+#bodyContent a[href ^="ftp://"],
+.link-ftp {
+ background: url(file_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#bodyContent a[href ^="irc://"],
+.link-irc {
+ background: url(discussionitem_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#bodyContent a.external[href $=".ogg"], #bodyContent a.external[href $=".OGG"],
+#bodyContent a.external[href $=".mid"], #bodyContent a.external[href $=".MID"],
+#bodyContent a.external[href $=".midi"], #bodyContent a.external[href $=".MIDI"],
+#bodyContent a.external[href $=".mp3"], #bodyContent a.external[href $=".MP3"],
+#bodyContent a.external[href $=".wav"], #bodyContent a.external[href $=".WAV"],
+#bodyContent a.external[href $=".wma"], #bodyContent a.external[href $=".WMA"],
+.link-audio {
+ background: url("audio.png") center right no-repeat;
+ padding-right: 13px;
+}
+#bodyContent a.external[href $=".ogm"], #bodyContent a.external[href $=".OGM"],
+#bodyContent a.external[href $=".avi"], #bodyContent a.external[href $=".AVI"],
+#bodyContent a.external[href $=".mpeg"], #bodyContent a.external[href $=".MPEG"],
+#bodyContent a.external[href $=".mpg"], #bodyContent a.external[href $=".MPG"],
+.link-video {
+ background: url("video.png") center right no-repeat;
+ padding-right: 13px;
+}
+#bodyContent a.external[href $=".pdf"], #bodyContent a.external[href $=".PDF"],
+#bodyContent a.external[href *=".pdf#"], #bodyContent a.external[href *=".PDF#"],
+#bodyContent a.external[href *=".pdf?"], #bodyContent a.external[href *=".PDF?"],
+.link-document {
+ background: url("document.png") center right no-repeat;
+ padding-right: 12px;
+}
+
+/* disable interwiki styling */
+#bodyContent a.extiw,
+#bodyContent a.extiw:active {
+ color: #36b;
+ background: none;
+ padding: 0;
+}
+#bodyContent a.external {
+ color: #36b;
+}
+/* this can be used in the content area to switch off
+special external link styling */
+#bodyContent .plainlinks a {
+ background: none !important;
+ padding: 0 !important;
+}
+/*
+** Structural Elements
+*/
+
+/*
+** general portlet styles (elements in the quickbar)
+*/
+.portlet {
+ border: none;
+ margin: 0 0 .5em;
+ padding: 0;
+ float: none;
+ width: 11.6em;
+ overflow: hidden;
+}
+.portlet h4 {
+ font-size: 95%;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.portlet h5 {
+ background: transparent;
+ padding: 0 1em 0 .5em;
+ display: inline;
+ height: 1em;
+ text-transform: lowercase;
+ font-size: 91%;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.portlet h6 {
+ background: #ffae2e;
+ border: 1px solid #2f6fab;
+ border-style: solid solid none solid;
+ padding: 0 1em 0 1em;
+ text-transform: lowercase;
+ display: block;
+ font-size: 1em;
+ height: 1.2em;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.pBody {
+ font-size: 95%;
+ background-color: white;
+ color: black;
+ border-collapse: collapse;
+ border: 1px solid #aaa;
+ padding: 0 .8em .3em .5em;
+}
+.portlet h1,
+.portlet h2,
+.portlet h3,
+.portlet h4 {
+ margin: 0;
+ padding: 0;
+}
+.portlet ul {
+ line-height: 1.5em;
+ list-style-type: square;
+ list-style-image: url(bullet.gif);
+ font-size: 95%;
+}
+.portlet li {
+ padding: 0;
+ margin: 0;
+}
+
+/*
+** Logo properties
+*/
+
+/* @media screen, projection { */
+ #p-logo {
+ top: 0;
+ left: 0;
+ position: absolute; /*needed to use z-index */
+ z-index: 3;
+ height: 155px;
+ width: 12em;
+ overflow: visible;
+ }
+ #p-logo h5 {
+ display: none;
+ }
+ #p-logo a,
+ #p-logo a:hover {
+ display: block;
+ height: 155px;
+ width: 12.2em;
+ background-repeat: no-repeat;
+ background-position: 35% 50% !important;
+ text-decoration: none;
+ }
+/* } */
+/*
+** the navigation portlet
+*/
+
+/* @media screen, projection { */
+ #p-navigation {
+ position: relative;
+ z-index: 3;
+ }
+ #p-navigation a {
+ display: block;
+ }
+ #p-navigation li.active a, #p-navigation li.active a:hover {
+ display: inline;
+ }
+/* } */
+
+#p-navigation .pBody {
+ padding-right: 0;
+}
+
+#p-navigation li.active a, #p-navigation li.active a:hover {
+ text-decoration: none;
+ font-weight: bold;
+}
+
+
+/*
+** Search portlet
+*/
+/* @media screen, projection { */
+ #p-search {
+ position: relative;
+ z-index: 3;
+ }
+/* } */
+input.searchButton {
+ margin-top: 1px;
+ font-size: 95%;
+}
+#searchGoButton {
+ padding-left: .5em;
+ padding-right: .5em;
+ font-weight: bold;
+}
+#searchInput {
+ width: 10.9em;
+ margin: 0;
+ font-size: 95%;
+}
+#p-search .pBody {
+ padding: .5em .4em .4em .4em;
+ text-align: center;
+}
+
+/*
+** the personal toolbar
+*/
+/* @media screen, projection { */
+ #p-personal {
+ position: absolute;
+ left: 0;
+ top: 0;
+ z-index: 0;
+ }
+ #p-personal {
+ width: 100%;
+ white-space: nowrap;
+ padding: 0;
+ margin: 0;
+ border: none;
+ background: none;
+ overflow: visible;
+ line-height: 1.2em;
+ }
+ #p-personal h5 {
+ display: none;
+ }
+ #p-personal .portlet,
+ #p-personal .pBody {
+ z-index: 0;
+ padding: 0;
+ margin: 0;
+ border: none;
+ overflow: visible;
+ background: none;
+ }
+/* this is the ul contained in the portlet */
+ #p-personal ul {
+ border: none;
+ line-height: 1.4em;
+ color: #2f6fab;
+ padding: 0 2em 0 3em;
+ margin: 0;
+ text-align: right;
+ list-style: none;
+ z-index: 0;
+ background: none;
+ cursor: default;
+ }
+ #p-personal li {
+ z-index: 0;
+ border: none;
+ padding: 0;
+ display: inline;
+ color: #2f6fab;
+ margin-left: 1em;
+ line-height: 1.2em;
+ background: none;
+ }
+ #p-personal li a {
+ text-decoration: none;
+ color: #005896;
+ padding-bottom: .2em;
+ background: none;
+ }
+ #p-personal li a:hover {
+ background-color: white;
+ padding-bottom: .2em;
+ text-decoration: none;
+ }
+ #p-personal li.active a:hover {
+ background-color: transparent;
+ }
+ /* the icon in front of the user name, single quotes
+ in bg url to hide it from iemac */
+ li#pt-userpage,
+ li#pt-anonuserpage,
+ li#pt-login {
+ background: url(user.gif) top left no-repeat;
+ padding-left: 20px;
+ text-transform: none;
+ }
+/* } */
+#p-personal ul {
+ text-transform: lowercase;
+}
+#p-personal li.active {
+ font-weight: bold;
+}
+/*
+** the page-related actions- page/talk, edit etc
+*/
+/* @media screen, projection { */
+ #p-cactions {
+ position: absolute;
+ top: 1.3em;
+ left: 11.5em;
+ margin: 0;
+ white-space: nowrap;
+ width: 76%;
+ line-height: 1.1em;
+ overflow: visible;
+ background: none;
+ border-collapse: collapse;
+ padding-left: 1em;
+ list-style: none;
+ font-size: 95%;
+ }
+ #p-cactions ul {
+ list-style: none;
+ }
+ #p-cactions li {
+ display: inline;
+ border: 1px solid #aaa;
+ border-bottom: none;
+ padding: 0 0 .1em 0;
+ margin: 0 .3em 0 0;
+ overflow: visible;
+ background: white;
+ }
+ #p-cactions li.selected {
+ border-color: #fabd23;
+ padding: 0 0 .2em 0;
+ font-weight: bold;
+ }
+ #p-cactions li a {
+ background-color: #fbfbfb;
+ color: #002bb8;
+ border: none;
+ padding: 0 .8em .3em;
+ position: relative;
+ z-index: 0;
+ margin: 0;
+ text-decoration: none;
+ }
+ #p-cactions li.selected a {
+ z-index: 3;
+ padding: 0 1em .2em!important;
+ background-color: white;
+ }
+ #p-cactions .new a {
+ color: #ba0000;
+ }
+ #p-cactions li a:hover {
+ z-index: 3;
+ text-decoration: none;
+ background-color: white;
+ }
+ #p-cactions h5 {
+ display: none;
+ }
+ #p-cactions li.istalk {
+ margin-right: 0;
+ }
+ #p-cactions li.istalk a {
+ padding-right: .5em;
+ }
+ #p-cactions #ca-addsection a {
+ padding-left: .4em;
+ padding-right: .4em;
+ }
+ /* offsets to distinguish the tab groups */
+ li#ca-talk {
+ margin-right: 1.6em;
+ }
+ li#ca-watch, li#ca-unwatch, li#ca-varlang-0, li#ca-print {
+ margin-left: 1.6em;
+ }
+ #p-cactions .pBody {
+ font-size: 1em;
+ background-color: transparent;
+ color: inherit;
+ border-collapse: inherit;
+ border: 0;
+ padding: 0;
+ }
+/* } */
+#p-cactions .hiddenStructure {
+ display: none;
+}
+#p-cactions li a {
+ text-transform: lowercase;
+}
+
+/*
+** the remaining portlets
+*/
+/* @media screen, projection { */
+ #p-tbx,
+ #p-lang {
+ position: relative;
+ z-index: 3;
+ }
+/* } */
+
+/* TODO: #t-iscite is only used by the Cite extension, come up with some
+ * system which allows extensions to add to this file on the fly
+ */
+#t-ispermalink, #t-iscite {
+ color: #999;
+}
+/*
+** footer
+*/
+#footer {
+ background-color: white;
+ border-top: 1px solid #fabd23;
+ border-bottom: 1px solid #fabd23;
+ margin: .6em 0 1em 0;
+ padding: .4em 0 1.2em 0;
+ text-align: center;
+ font-size: 90%;
+}
+#footer li {
+ display: inline;
+ margin: 0 1.3em;
+}
+#f-poweredbyico, #f-copyrightico {
+ margin: 0 8px;
+ position: relative;
+ top: -2px; /* Bump it up just a tad */
+}
+#f-poweredbyico {
+ float: right;
+ height: 1%;
+}
+#f-copyrightico {
+ float: left;
+ height: 1%;
+}
+
+/* js pref toc */
+#preftoc {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ clear: both;
+}
+#preftoc li {
+ background-color: #f0f0f0;
+ color: #000;
+}
+/* @media screen, projection { */
+ #preftoc li {
+ margin: 1px -2px 1px 2px;
+ float: left;
+ padding: 2px 0 3px 0;
+ border: 1px solid #fff;
+ border-right-color: #716f64;
+ border-bottom: 0;
+ position: relative;
+ white-space: nowrap;
+ list-style-type: none;
+ list-style-image: none;
+ z-index: 3;
+ }
+/* } */
+#preftoc li.selected {
+ font-weight: bold;
+ background-color: #f9f9f9;
+ border: 1px solid #aaa;
+ border-bottom: none;
+ cursor: default;
+ top: 1px;
+ padding-top: 2px;
+ margin-right: -3px;
+}
+#preftoc > li.selected {
+ top: 2px;
+}
+#preftoc a,
+#preftoc a:active {
+ display: block;
+ color: #000;
+ padding: 0 .7em;
+ position: relative;
+ text-decoration: none;
+}
+#preftoc li.selected a {
+ cursor: default;
+ text-decoration: none;
+}
+#prefcontrol {
+ padding-top: 2em;
+ clear: both;
+}
+#preferences {
+ margin: 0;
+ border: 1px solid #aaa;
+ clear: both;
+ padding: 1.5em;
+ background-color: #F9F9F9;
+}
+.prefsection {
+ border: none;
+ padding: 0;
+ margin: 0;
+}
+.prefsection fieldset {
+ border: 1px solid #aaa;
+ float: left;
+ margin-right: 2em;
+}
+.prefsection legend {
+ font-weight: bold;
+}
+.prefsection table, .prefsection legend {
+ background-color: #F9F9F9;
+}
+/* @media screen, projection { */
+ .mainLegend {
+ display: none;
+ }
+/* } */
+div.prefsectiontip {
+ font-size: 95%;
+ margin-top: 0;
+ background-color: #FFC1C1;
+ padding: .2em .7em;
+ clear: both;
+}
+.btnSavePrefs {
+ font-weight: bold;
+ padding-left: .3em;
+ padding-right: .3em;
+}
+
+.preferences-login {
+ clear: both;
+ margin-bottom: 1.5em;
+}
+
+.prefcache {
+ font-size: 90%;
+ margin-top: 2em;
+}
+
+div#userloginForm form,
+div#userlogin form#userlogin2 {
+ margin: 0 3em 1em 0;
+ border: 1px solid #aaa;
+ clear: both;
+ padding: 1.5em 2em;
+ background-color: #f9f9f9;
+ float: left;
+}
+
+div#userloginForm table,
+div#userlogin form#userlogin2 table {
+ background-color: #f9f9f9;
+}
+
+div#userloginForm h2,
+div#userlogin form#userlogin2 h2 {
+ padding-top: 0;
+}
+
+div#userlogin .captcha {
+ border: 1px solid #bbb;
+ padding: 1.5em 2em;
+ width: 400px;
+ background-color: white;
+}
+
+
+#userloginprompt, #languagelinks {
+ font-size: 85%;
+}
+
+#login-sectiontip {
+ font-size: 85%;
+ line-height: 1.2;
+ padding-top: 2em;
+}
+
+#userlogin .loginText, #userlogin .loginPassword {
+ width: 12em;
+}
+
+#userloginlink a, #wpLoginattempt, #wpCreateaccount {
+ font-weight: bold;
+}
+
+/* @media screen, projection { */
+ /*
+ ** IE/Mac fixes, hope to find a validating way to move this
+ ** to a separate stylesheet. This would work but doesn't validate:
+ ** @import("IEMacFixes.css");
+ */
+ /* tabs: border on the a, not the div */
+ * > html #p-cactions li { border: none; }
+ * > html #p-cactions li a {
+ border: 1px solid #aaa;
+ border-bottom: none;
+ }
+ * > html #p-cactions li.selected a { border-color: #fabd23; }
+ /* footer icons need a fixed width */
+ * > html #f-poweredbyico,
+ * > html #f-copyrightico { width: 88px; }
+ * > html #bodyContent,
+ * > html #bodyContent pre {
+ overflow-x: auto;
+ width: 100%;
+ padding-bottom: 25px;
+ }
+/* } */
+
+/* more IE fixes */
+/* float/negative margin brokenness */
+* html #footer {margin-top: 0;}
+* html #column-content {
+ display: inline;
+ margin-bottom: 0;
+}
+* html div.editsection { font-size: smaller; }
+#pagehistory li.selected { position: relative; }
+
+/* Mac IE 5.0 fix; floated content turns invisible */
+* > html #column-content {
+ float: none;
+}
+* > html #column-one {
+ position: absolute;
+ left: 0;
+ top: 0;
+}
+* > html #footer {
+ margin-left: 13.2em;
+}
+.redirectText {
+ font-size: 150%;
+ margin: 5px;
+}
+
+.printfooter {
+ display: none;
+}
+
+.not-patrolled {
+ background-color: #ffa;
+}
+div.patrollink {
+ font-size: 75%;
+ text-align: right;
+}
+span.newpage, span.minor, span.searchmatch, span.bot {
+ font-weight: bold;
+}
+span.unpatrolled {
+ font-weight: bold;
+ color: red;
+}
+
+span.searchmatch {
+ color: red;
+}
+.sharedUploadNotice {
+ font-style: italic;
+}
+
+span.updatedmarker {
+ color: black;
+ background-color: #0f0;
+}
+
+table.gallery {
+ border: 1px solid #ccc;
+ margin: 2px;
+ padding: 2px;
+ background-color: white;
+}
+
+table.gallery tr {
+ vertical-align: top;
+}
+
+table.gallery td {
+ vertical-align: top;
+ background-color: #f9f9f9;
+ border: solid 2px white;
+}
+/* Keep this temporarily so that cached pages will display right */
+table.gallery td.galleryheader {
+ text-align: center;
+ font-weight: bold;
+}
+table.gallery caption {
+ font-weight: bold;
+}
+
+div.gallerybox {
+ margin: 2px;
+}
+
+div.gallerybox div.thumb {
+ text-align: center;
+ border: 1px solid #ccc;
+ margin: 2px;
+}
+
+div.gallerytext {
+ font-size: 94%;
+ padding: 2px 4px;
+}
+
+span.comment {
+ font-style: italic;
+}
+
+span.changedby {
+ font-size: 95%;
+}
+
+.previewnote {
+ text-indent: 3em;
+ color: #c00;
+ border-bottom: 1px solid #aaa;
+ padding-bottom: 1em;
+ margin-bottom: 1em;
+}
+
+.previewnote p {
+ margin: 0;
+ padding: 0;
+}
+
+.editExternally {
+ border: 1px solid gray;
+ background-color: #ffffff;
+ padding: 3px;
+ margin-top: 0.5em;
+ float: left;
+ font-size: small;
+ text-align: center;
+}
+.editExternallyHelp {
+ font-style: italic;
+ color: gray;
+}
+
+li span.deleted, span.history-deleted {
+ text-decoration: line-through;
+ color: #888;
+ font-style: italic;
+}
+
+.toggle {
+ margin-left: 2em;
+ text-indent: -2em;
+}
+
+/* Classes for EXIF data display */
+table.mw_metadata {
+ font-size: 0.8em;
+ margin-left: 0.5em;
+ margin-bottom: 0.5em;
+ width: 300px;
+}
+
+table.mw_metadata caption {
+ font-weight: bold;
+}
+
+table.mw_metadata th {
+ font-weight: normal;
+}
+
+table.mw_metadata td {
+ padding: 0.1em;
+}
+
+table.mw_metadata {
+ border: none;
+ border-collapse: collapse;
+}
+
+table.mw_metadata td, table.mw_metadata th {
+ text-align: center;
+ border: 1px solid #aaaaaa;
+ padding-left: 0.1em;
+ padding-right: 0.1em;
+}
+
+table.mw_metadata th {
+ background-color: #f9f9f9;
+}
+
+table.mw_metadata td {
+ background-color: #fcfcfc;
+}
+
+table.collapsed tr.collapsable {
+ display: none;
+}
+
+
+/* filetoc */
+ul#filetoc {
+ text-align: center;
+ border: 1px solid #aaaaaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+ margin-bottom: 0.5em;
+ margin-left: 0;
+ margin-right: 0;
+}
+
+#filetoc li {
+ display: inline;
+ list-style-type: none;
+ padding-right: 2em;
+}
+
+input#wpSummary {
+ width: 80%;
+}
+
+/* @bug 1714 */
+input#wpSave, input#wpDiff {
+ margin-right: 0.33em;
+}
+
+#editform .editOptions {
+ display: inline;
+}
+
+#wpSave {
+ font-weight: bold;
+}
+
+/* Classes for article validation */
+
+table.revisionform_default {
+ border: 1px solid #000000;
+}
+
+table.revisionform_focus {
+ border: 1px solid #000000;
+ background-color:#00BBFF;
+}
+
+tr.revision_tr_default {
+ background-color:#EEEEEE;
+}
+
+tr.revision_tr_first {
+ background-color:#DDDDDD;
+}
+
+p.revision_saved {
+ color: green;
+ font-weight:bold;
+}
+
+#mw_trackbacks {
+ border: solid 1px #bbbbff;
+ background-color: #eeeeff;
+ padding: 0.2em;
+}
+
+
+/* Allmessages table */
+
+#allmessagestable th {
+ background-color: #b2b2ff;
+}
+
+#allmessagestable tr.orig {
+ background-color: #ffe2e2;
+}
+
+#allmessagestable tr.new {
+ background-color: #e2ffe2;
+}
+
+#allmessagestable tr.def {
+ background-color: #f0f0ff;
+}
+
+
+/* noarticletext */
+div.noarticletext {
+ border: 1px solid #ccc;
+ background: #fff;
+ padding: .2em 1em;
+ color: #000;
+}
+
+div#searchTargetContainer {
+ left: 10px;
+ top: 10px;
+ width: 90%;
+ background: white;
+}
+
+div#searchTarget {
+ padding: 3px;
+ margin: 5px;
+ background: #F0F0F0;
+ border: solid 1px blue;
+}
+
+div#searchTarget ul li {
+ list-style: none;
+}
+
+div#searchTarget ul li:before {
+ color: orange;
+ content: "\00BB \0020";
+}
+
+div.multipageimagenavbox {
+ border: solid 1px silver;
+ padding: 4px;
+ margin: 1em;
+ -moz-border-radius: 6px;
+ background: #f0f0f0;
+}
+
+div.multipageimagenavbox div.thumb {
+ border: none;
+ margin-left: 2em;
+ margin-right: 2em;
+}
+
+div.multipageimagenavbox hr {
+ margin: 6px;
+}
+
+table.multipageimage td {
+ text-align: center;
+}
+
+/** Special:Version */
+
+table#sv-ext, table#sv-hooks {
+ margin: 1em;
+ padding:0em;
+}
+
+#sv-ext td, #sv-hooks td,
+#sv-ext th, #sv-hooks th {
+ border: 1px solid #A0A0A0;
+ padding: 0 0.15em 0 0.15em;
+}
+#sv-ext th, #sv-hooks th {
+ background-color: #F0F0F0;
+ color: black;
+ padding: 0 0.15em 0 0.15em;
+}
+tr.sv-space{
+ height: 0.8em;
+ border:none;
+}
+tr.sv-space td { display: none; }
+
+/*
+ Table pager (e.g. Special:Imagelist)
+ - remove underlines from the navigation link
+ - collapse borders
+ - set the borders to outsets (similar to Special:Allmessages)
+ - remove line wrapping for all td and th, set background color
+ - restore line wrapping for the last two table cells (description and size)
+*/
+.TablePager_nav a { text-decoration: none; }
+.TablePager { border-collapse: collapse; }
+.TablePager, .TablePager td, .TablePager th {
+ border: 1px solid #aaaaaa;
+ padding: 0 0.15em 0 0.15em;
+}
+.TablePager th { background-color: #eeeeff }
+.TablePager td { background-color: #ffffff }
+.TablePager tr:hover td { background-color: #eeeeff }
+
+.imagelist td, .imagelist th { white-space: nowrap }
+.imagelist .TablePager_col_links { background-color: #eeeeff }
+.imagelist .TablePager_col_img_description { white-space: normal }
+.imagelist th.TablePager_sort { background-color: #ccccff }
+
+.templatesUsed { margin-top: 1.5em; }
+
+.mw-summary-preview {
+ margin: 0.1em 0;
+}
+
+/* Convenience links on Special:Ipblocklist */
+p.mw-ipb-conveniencelinks {
+ font-size: 90%;
+ float: right;
+}
+
+/**
+ * Here is some stuff that's ACTUALLY COMMON TO ALL SKINS.
+ * When the day comes, it can be moved to a *real* common.css.
+ */
+.mw-plusminus-null { color: #aaa; }
+.texvc { direction: ltr; unicode-bidi: embed; }
+/* Stop floats from intruding into edit area in previews */
+#toolbar, #wpTextbox1 { clear: both; }
+
+.MediaTransformError {
+ background-color: #ccc;
+ padding: 0.1em;
+}
+.MediaTransformError td {
+ text-align: center;
+ vertical-align: middle;
+ font-size: 90%;
+}
diff --git a/roles/mediawiki/files/skins/fedora/main.css b/roles/mediawiki/files/skins/fedora/main.css
new file mode 100644
index 0000000000..b8a9ef998a
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/main.css
@@ -0,0 +1,1549 @@
+/* general styles */
+
+#content {
+ color: black;
+}
+
+#content table {
+ font-size: 100%;
+ color: black;
+ /* we don't want the bottom borders of s to be visible through
+ floated tables */
+ background-color: white;
+}
+/*#content a {
+ text-decoration: none;
+ color: #002bb8;
+ background: none;
+}
+#content a:visited {
+ color: #5a3696;
+}
+#content a:active {
+ color: #faa700;
+}
+#content a:hover {
+ text-decoration: underline;
+}
+#content a.stub {
+ color: #772233;
+}
+#content a.new {
+ color: #ba0000;
+}
+#content a.new:visited {
+ color: #a55858;
+}
+
+#content img {
+ border: none;
+ vertical-align: middle;
+}*/
+/*#content p {
+ margin: .4em 0 .5em 0;
+ line-height: 1.5em;
+}*/
+a.new {
+ color: #ba0000 !important;
+}
+#content img {
+ margin: 0;
+}
+
+#content hr {
+ height: 1px;
+ color: #aaa;
+ background-color: #aaa;
+ border: 0;
+ margin: .2em 0 .2em 0;
+}
+
+#content h1, #content h2, #content h3, #content h4, #content h5, #content h6 {
+ color: black;
+ background: none;
+ font-weight: normal;
+ margin: 0;
+ padding-top: .5em;
+ padding-bottom: .17em;
+ border-bottom: 1px solid #aaa;
+}
+#content h1 { font-size: 160%; }
+#content h1 .editsection { font-size: 62.5%; }
+#content h2 { font-size: 150%; }
+#content h2 .editsection { font-size: 67%; }
+#content h3, #content h4, #content h5, #content h6 {
+ border-bottom: none;
+ font-weight: bold;
+}
+#content h3 { font-size: 132%; }
+#content h3 .editsection { font-size: 76%; font-weight: normal; }
+#content h4 { font-size: 116%; }
+#content h4 .editsection { font-size: 86%; font-weight: normal; }
+#content h5 { font-size: 100%; }
+#content h5 .editsection { font-weight: normal; }
+#content h6 { font-size: 80%; }
+#content h6 .editsection { font-size: 125%; font-weight: normal; }
+
+#content .editsection {
+ float: right;
+ margin-left: 5px;
+}
+
+#content ul {
+ line-height: 1.5em;
+ list-style-type: square;
+ margin: .3em 0 0 1.5em;
+ padding: 0;
+ list-style-image: url(bullet.gif);
+}
+#content ol {
+ line-height: 1.5em;
+ margin: .3em 0 0 3.2em;
+ padding: 0;
+ list-style-image: none;
+}
+#content li {
+ margin-bottom: .1em;
+}
+#content dt {
+ font-weight: bold;
+ margin-bottom: .1em;
+}
+#content dl {
+ margin-top: .2em;
+ margin-bottom: .5em;
+}
+#content dd {
+ line-height: 1.5em;
+ margin-left: 2em;
+ margin-bottom: .1em;
+}
+
+#content fieldset {
+ border: 1px solid #2f6fab;
+ margin: 1em 0 1em 0;
+ padding: 0 1em 1em;
+ line-height: 1.5em;
+}
+#content legend {
+ padding: .5em;
+ font-size: 95%;
+}
+#content form {
+ border: none;
+ margin: 0;
+}
+
+#content textarea {
+ width: 100%;
+ padding: .1em;
+}
+
+#content input.historysubmit {
+ padding: 0 .3em .3em .3em !important;
+ font-size: 94%;
+ cursor: pointer;
+ height: 1.7em !important;
+ margin-left: 1.6em;
+}
+#content select {
+ vertical-align: top;
+}
+#content abbr, #content acronym, #content .explain {
+ border-bottom: 1px dotted black;
+ color: black;
+ background: none;
+ cursor: help;
+}
+#content q {
+ font-family: Times, "Times New Roman", serif;
+ font-style: italic;
+}
+/* disabled for now
+#content blockquote {
+ font-family: Times, "Times New Roman", serif;
+ font-style: italic;
+}*/
+#content code {
+ background-color: #f9f9f9;
+ font-size: 2.4ex;
+}
+#content pre {
+ padding: 1em;
+ border: 1px dashed #2f6fab;
+ color: black;
+ background-color: #f9f9f9;
+ line-height: 1.1em;
+ margin-top: 0.5ex;
+ margin-bottom: 1.5ex;
+}
+
+/*
+** the main content area
+*/
+
+/* @media screen, projection { */
+ #siteSub {
+ display: none!important;
+ }
+ #jump-to-nav {
+ display: none!important;
+ }
+/* } */
+
+#contentSub, #contentSub2 {
+ font-size: 84%;
+ line-height: 1.2em;
+ margin: 0 0 1.4em 1em;
+ color: #7d7d7d;
+ width: auto;
+}
+span.subpages {
+ display: block;
+}
+
+/* Some space under the headers in the content area */
+#content h2 {
+ margin-bottom: .6em;
+}
+#content h3, #content h4, #content h5 {
+ margin-bottom: .3em;
+}
+.firstHeading {
+ margin-bottom: .1em;
+}
+
+/* user notification thing */
+.usermessage {
+ background-color: #ffce7b;
+ border: 1px solid #ffa500;
+ color: black;
+ font-weight: bold;
+ margin: 2em 0 1em;
+ padding: .5em 1em;
+ vertical-align: middle;
+}
+#siteNotice {
+ text-align: center;
+ font-size: 95%;
+ padding: 0 .9em;
+}
+#siteNotice p {
+ margin: 0;
+ padding: 0;
+}
+.error {
+ color: red;
+ font-size: larger;
+}
+.errorbox, .successbox {
+ font-size: larger;
+ border: 2px solid;
+ padding: .5em 1em;
+ margin-bottom: 2em;
+ color: #000;
+}
+.errorbox {
+ border-color: red;
+ background-color: #fff2f2;
+}
+.successbox {
+ border-color: green;
+ background-color: #dfd;
+}
+.errorbox h2, .successbox h2 {
+ font-size: 1em;
+ font-weight: bold;
+ display: inline;
+ margin: 0 .5em 0 0;
+ border: none;
+}
+
+#catlinks {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ margin-top: 1em;
+ clear: both;
+}
+/* currently unused, intended to be used by a metadata box
+in the bottom-right corner of the content area */
+.documentDescription {
+ /* The summary text describing the document */
+ font-weight: bold;
+ display: block;
+ margin: 1em 0;
+ line-height: 1.5em;
+}
+.documentByLine {
+ text-align: right;
+ font-size: 90%;
+ clear: both;
+ font-weight: normal;
+ color: #76797c;
+}
+
+/* emulate center */
+.center {
+ width: 100%;
+ text-align: center;
+}
+*.center * {
+ margin-left: auto;
+ margin-right: auto;
+}
+/* small for tables and similar */
+.small, .small * {
+ font-size: 94%;
+}
+table.small {
+ font-size: 100%;
+}
+
+/*
+** content styles
+*/
+
+#toc,
+.toc,
+.mw-warning {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+}
+#toc h2,
+.toc h2 {
+ display: inline;
+ border: none;
+ padding: 0;
+ font-size: 100%;
+ font-weight: bold;
+}
+#toc #toctitle,
+.toc #toctitle,
+#toc .toctitle,
+.toc .toctitle {
+ text-align: center;
+}
+#toc ul,
+.toc ul {
+ list-style-type: none;
+ list-style-image: none;
+ margin-left: 0;
+ padding-left: 0;
+ text-align: left;
+}
+#toc ul ul,
+.toc ul ul {
+ margin: 0 0 0 2em;
+}
+#toc .toctoggle,
+.toc .toctoggle {
+ font-size: 94%;
+}
+
+.mw-warning {
+ margin-left: 50px;
+ margin-right: 50px;
+ text-align: center;
+}
+
+/* images */
+div.floatright, table.floatright {
+ clear: right;
+ float: right;
+ position: relative;
+ margin: 0 0 .5em .5em;
+ border: 0;
+/*
+ border: .5em solid white;
+ border-width: .5em 0 .8em 1.4em;
+*/
+}
+div.floatright p { font-style: italic; }
+div.floatleft, table.floatleft {
+ float: left;
+ clear: left;
+ position: relative;
+ margin: 0 .5em .5em 0;
+ border: 0;
+/*
+ margin: .3em .5em .5em 0;
+ border: .5em solid white;
+ border-width: .5em 1.4em .8em 0;
+*/
+}
+div.floatleft p { font-style: italic; }
+/* thumbnails */
+div.thumb {
+ margin-bottom: .5em;
+ border-style: solid;
+ border-color: white;
+ width: auto;
+}
+div.thumbinner {
+ border: 1px solid #ccc;
+ padding: 3px !important;
+ background-color: #f9f9f9;
+ font-size: 94%;
+ text-align: center;
+ overflow: hidden;
+}
+html .thumbimage {
+ border: 1px solid #ccc;
+}
+html .thumbcaption {
+ border: none;
+ text-align: left;
+ line-height: 1.4em;
+ padding: 3px !important;
+ font-size: 94%;
+}
+div.magnify {
+ float: right;
+ border: none !important;
+ background: none !important;
+}
+div.magnify a, div.magnify img {
+ display: block;
+ border: none !important;
+ background: none !important;
+}
+div.tright {
+ clear: right;
+ float: right;
+ border-width: .5em 0 .8em 1.4em;
+}
+div.tleft {
+ float: left;
+ clear: left;
+ margin-right: .5em;
+ border-width: .5em 1.4em .8em 0;
+}
+
+.hiddenStructure {
+ display: none;
+ speak: none;
+}
+img.tex {
+ vertical-align: middle;
+}
+span.texhtml {
+ font-family: serif;
+}
+
+/* Have a checkered background on images on the description pages and in galleries
+ to make transparency visible
+
+#file img, .gallerybox .thumb img {
+ background: url(Checker-16x16.png) repeat;
+}
+*/
+
+/*
+** classes for special content elements like town boxes
+** intended to be referenced directly from the wiki src
+*/
+
+/*
+** User styles
+*/
+/* table standards */
+table.rimage {
+ float: right;
+ position: relative;
+ margin-left: 1em;
+ margin-bottom: 1em;
+ text-align: center;
+}
+.toccolours {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+}
+div.townBox {
+ position: relative;
+ float: right;
+ background: white;
+ margin-left: 1em;
+ border: 1px solid gray;
+ padding: .3em;
+ width: 200px;
+ overflow: hidden;
+ clear: right;
+}
+div.townBox dl {
+ padding: 0;
+ margin: 0 0 .3em;
+ font-size: 96%;
+}
+div.townBox dl dt {
+ background: none;
+ margin: .4em 0 0;
+}
+div.townBox dl dd {
+ margin: .1em 0 0 1.1em;
+ background-color: #f3f3f3;
+}
+
+/*
+** edit views etc
+*/
+.special li {
+ line-height: 1.4em;
+ margin: 0;
+ padding: 0;
+}
+
+/* Page history styling */
+/* the auto-generated edit comments */
+.autocomment {
+ color: gray;
+}
+#pagehistory span.user {
+ margin-left: 1.4em;
+ margin-right: .4em;
+}
+#pagehistory span.minor {
+ font-weight: bold;
+}
+#pagehistory li {
+ border: 1px solid white;
+}
+#pagehistory li.selected {
+ background-color: #f9f9f9;
+ border: 1px dashed #aaa;
+}
+
+/*
+** Diff rendering
+*/
+table.diff, td.diff-otitle, td.diff-ntitle {
+ background-color: white;
+}
+td.diff-addedline {
+ background: #cfc;
+ font-size: smaller;
+}
+td.diff-deletedline {
+ background: #ffa;
+ font-size: smaller;
+}
+td.diff-context {
+ background: #eee;
+ font-size: smaller;
+}
+.diffchange {
+ color: red;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+/*
+** keep the whitespace in front of the ^=, hides rule from konqueror
+** this is css3, the validator doesn't like it when validating as css2
+*/
+#content a.external,
+#content a[href ^="gopher://"] {
+ background: url(external.png) center right no-repeat;
+ padding-right: 13px;
+}
+#content a[href ^="https://"],
+.link-https {
+ background: url(lock_icon.gif) center right no-repeat;
+ padding-right: 16px;
+}
+#content a[href ^="mailto:"],
+.link-mailto {
+ background: url(mail_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#content a[href ^="news://"] {
+ background: url(news_icon.png) center right no-repeat;
+ padding-right: 18px;
+}
+#content a[href ^="ftp://"],
+.link-ftp {
+ background: url(file_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#content a[href ^="irc://"],
+.link-irc {
+ background: url(discussionitem_icon.gif) center right no-repeat;
+ padding-right: 18px;
+}
+#content a.badge { background: none !important; padding-right: 0px; } /* hide the lock icon */
+#content a.external[href $=".ogg"], #content a.external[href $=".OGG"],
+#content a.external[href $=".mid"], #content a.external[href $=".MID"],
+#content a.external[href $=".midi"], #content a.external[href $=".MIDI"],
+#content a.external[href $=".mp3"], #content a.external[href $=".MP3"],
+#content a.external[href $=".wav"], #content a.external[href $=".WAV"],
+#content a.external[href $=".wma"], #content a.external[href $=".WMA"],
+.link-audio {
+ background: url("audio.png") center right no-repeat;
+ padding-right: 13px;
+}
+#content a.external[href $=".ogm"], #content a.external[href $=".OGM"],
+#content a.external[href $=".avi"], #content a.external[href $=".AVI"],
+#content a.external[href $=".mpeg"], #content a.external[href $=".MPEG"],
+#content a.external[href $=".mpg"], #content a.external[href $=".MPG"],
+.link-video {
+ background: url("video.png") center right no-repeat;
+ padding-right: 13px;
+}
+#content a.external[href $=".pdf"], #content a.external[href $=".PDF"],
+#content a.external[href *=".pdf#"], #content a.external[href *=".PDF#"],
+#content a.external[href *=".pdf?"], #content a.external[href *=".PDF?"],
+.link-document {
+ background: url("document.png") center right no-repeat;
+ padding-right: 12px;
+}
+
+/* disable interwiki styling */
+#content a.extiw,
+#content a.extiw:active {
+ color: #36b;
+ background: none;
+ padding: 0;
+}
+#content a.external {
+ color: #36b;
+}
+/* this can be used in the content area to switch off
+special external link styling */
+#content .plainlinks a {
+ background: none !important;
+ padding: 0 !important;
+}
+
+/*
+** Search portlet
+*/
+input.searchButton {
+ margin-top: 1px;
+ font-size: 95%;
+}
+#searchGoButton {
+ padding-left: .5em;
+ padding-right: .5em;
+ font-weight: bold;
+}
+#searchInput {
+ width: 10.9em;
+ margin: 0;
+ font-size: 95%;
+}
+
+
+/*
+** footer
+*/
+#f-poweredbyico, #f-copyrightico {
+ margin: 0 8px;
+ position: relative;
+ padding-top: 3ex;
+}
+#f-poweredbyico {
+ float: right;
+ height: 1%;
+}
+#f-copyrightico {
+ float: left;
+ height: 1%;
+}
+
+/* js pref toc */
+#preftoc {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+}
+#preftoc li {
+ background-color: #f0f0f0;
+ color: #000;
+}
+/* @media screen, projection { */
+ #preftoc li {
+ margin: 1px -2px 1px 2px;
+ float: left;
+ padding: 2px 0 3px 0;
+ border: 1px solid #fff;
+ border-right-color: #716f64;
+ border-bottom: 0;
+ position: relative;
+ white-space: nowrap;
+ list-style-type: none;
+ list-style-image: none;
+ z-index: 3;
+ }
+/* } */
+#preftoc li.selected {
+ font-weight: bold;
+ background-color: #f9f9f9;
+ border: 1px solid #aaa;
+ border-bottom: none;
+ cursor: default;
+ top: 1px;
+ padding-top: 2px;
+ margin-right: -3px;
+}
+#preftoc > li.selected {
+ top: 2px;
+}
+#preftoc a,
+#preftoc a:active {
+ display: block;
+ color: #000;
+ padding: 0 .7em;
+ position: relative;
+ text-decoration: none;
+}
+#preftoc li.selected a {
+ cursor: default;
+ text-decoration: none;
+}
+#prefcontrol {
+ padding-top: 2em;
+ clear: both;
+}
+#preferences {
+ margin: 0;
+ border: 1px solid #aaa;
+ padding: 1.5em;
+ background-color: #F9F9F9;
+ position: relative;
+ top: 24px;
+}
+#content #preferences td {
+ border-width: 0px;
+}
+.prefsection {
+ border: none;
+ padding: 0;
+ margin: 0;
+}
+.prefsection fieldset {
+ border: 1px solid #aaa;
+ float: left;
+ margin-right: 2em;
+}
+.prefsection legend {
+ font-weight: bold;
+}
+.prefsection table, .prefsection legend {
+ background-color: #F9F9F9;
+}
+/* @media screen, projection { */
+ .mainLegend {
+ display: none;
+ }
+/* } */
+div.prefsectiontip {
+ font-size: 95%;
+ margin-top: 0;
+ background-color: #FFC1C1;
+ padding: .2em .7em;
+ clear: both;
+}
+.btnSavePrefs {
+ font-weight: bold;
+ padding-left: .3em;
+ padding-right: .3em;
+}
+
+.preferences-login {
+ clear: both;
+ margin-bottom: 1.5em;
+}
+
+.prefcache {
+ font-size: 90%;
+ margin-top: 2em;
+}
+
+div#userloginForm form,
+div#userlogin form#userlogin2 {
+ margin: 0 3em 1em 0;
+ border: 1px solid #aaa;
+ padding: 1.5em 2em;
+ background-color: #f9f9f9;
+}
+
+div#userloginForm table,
+div#userlogin form#userlogin2 table {
+ background-color: #f9f9f9;
+}
+
+div#userloginForm h2,
+div#userlogin form#userlogin2 h2 {
+ padding-top: 0;
+}
+
+div#userlogin .captcha {
+ border: 1px solid #bbb;
+ padding: 1.5em 2em;
+ width: 400px;
+ background-color: white;
+}
+
+
+#userloginprompt, #languagelinks {
+ font-size: 85%;
+}
+
+#login-sectiontip {
+ font-size: 85%;
+ line-height: 1.2;
+ padding-top: 2em;
+}
+
+#userlogin .loginText, #userlogin .loginPassword {
+ width: 12em;
+}
+
+#userloginlink a, #wpLoginattempt, #wpCreateaccount {
+ font-weight: bold;
+}
+
+.redirectText {
+ font-size: 150%;
+ margin: 5px;
+}
+
+.printfooter {
+ display: none;
+}
+
+.not-patrolled {
+ background-color: #ffa;
+}
+div.patrollink {
+ font-size: 75%;
+ text-align: right;
+}
+span.newpage, span.minor, span.searchmatch, span.bot {
+ font-weight: bold;
+}
+span.unpatrolled {
+ font-weight: bold;
+ color: red;
+}
+
+span.searchmatch {
+ color: red;
+}
+.sharedUploadNotice {
+ font-style: italic;
+}
+
+span.updatedmarker {
+ color: black;
+ background-color: #0f0;
+}
+
+table.gallery {
+ border: 1px solid #ccc;
+ margin: 2px;
+ padding: 2px;
+ background-color: white;
+}
+
+table.gallery tr {
+ vertical-align: top;
+}
+
+table.gallery td {
+ vertical-align: top;
+ background-color: #f9f9f9;
+ border: solid 2px white;
+}
+/* Keep this temporarily so that cached pages will display right */
+table.gallery td.galleryheader {
+ text-align: center;
+ font-weight: bold;
+}
+table.gallery caption {
+ font-weight: bold;
+}
+
+div.gallerybox {
+ margin: 2px;
+}
+
+div.gallerybox div.thumb {
+ text-align: center;
+ border: 1px solid #ccc;
+ margin: 2px;
+}
+
+div.gallerytext {
+ font-size: 94%;
+ padding: 2px 4px;
+}
+
+span.comment {
+ font-style: italic;
+}
+
+span.changedby {
+ font-size: 95%;
+}
+
+.previewnote {
+ text-indent: 3em;
+ color: #c00;
+ border-bottom: 1px solid #aaa;
+ padding-bottom: 1em;
+ margin-bottom: 1em;
+}
+
+.previewnote p {
+ margin: 0;
+ padding: 0;
+}
+
+.editExternally {
+ border: 1px solid gray;
+ background-color: #ffffff;
+ padding: 3px;
+ margin-top: 0.5em;
+ float: left;
+ font-size: small;
+ text-align: center;
+}
+.editExternallyHelp {
+ font-style: italic;
+ color: gray;
+}
+
+li span.deleted, span.history-deleted {
+ text-decoration: line-through;
+ color: #888;
+ font-style: italic;
+}
+
+.toggle {
+ margin-left: 2em;
+ text-indent: -2em;
+}
+
+/* Classes for EXIF data display */
+table.mw_metadata {
+ font-size: 0.8em;
+ margin-left: 0.5em;
+ margin-bottom: 0.5em;
+ width: 300px;
+}
+
+table.mw_metadata caption {
+ font-weight: bold;
+}
+
+table.mw_metadata th {
+ font-weight: normal;
+}
+
+table.mw_metadata td {
+ padding: 0.1em;
+}
+
+table.mw_metadata {
+ border: none;
+ border-collapse: collapse;
+}
+
+table.mw_metadata td, table.mw_metadata th {
+ text-align: center;
+ border: 1px solid #aaaaaa;
+ padding-left: 0.1em;
+ padding-right: 0.1em;
+}
+
+table.mw_metadata th {
+ background-color: #f9f9f9;
+}
+
+table.mw_metadata td {
+ background-color: #fcfcfc;
+}
+
+table.collapsed tr.collapsable {
+ display: none;
+}
+
+
+/* filetoc */
+ul#filetoc {
+ text-align: center;
+ border: 1px solid #aaaaaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+ margin-bottom: 0.5em;
+ margin-left: 0;
+ margin-right: 0;
+}
+
+#filetoc li {
+ display: inline;
+ list-style-type: none;
+ padding-right: 2em;
+}
+
+input#wpSummary {
+ width: 80%;
+}
+
+/* @bug 1714 */
+input#wpSave, input#wpDiff {
+ margin-right: 0.33em;
+}
+
+#editform .editOptions {
+ display: inline;
+}
+
+#wpSave {
+ font-weight: bold;
+}
+
+/* Classes for article validation */
+
+table.revisionform_default {
+ border: 1px solid #000000;
+}
+
+table.revisionform_focus {
+ border: 1px solid #000000;
+ background-color:#00BBFF;
+}
+
+tr.revision_tr_default {
+ background-color:#EEEEEE;
+}
+
+tr.revision_tr_first {
+ background-color:#DDDDDD;
+}
+
+p.revision_saved {
+ color: green;
+ font-weight:bold;
+}
+
+#mw_trackbacks {
+ border: solid 1px #bbbbff;
+ background-color: #eeeeff;
+ padding: 0.2em;
+}
+
+
+/* Allmessages table */
+
+#allmessagestable th {
+ background-color: #b2b2ff;
+}
+
+#allmessagestable tr.orig {
+ background-color: #ffe2e2;
+}
+
+#allmessagestable tr.new {
+ background-color: #e2ffe2;
+}
+
+#allmessagestable tr.def {
+ background-color: #f0f0ff;
+}
+
+
+/* noarticletext */
+div.noarticletext {
+ border: 1px solid #ccc;
+ background: #fff;
+ padding: .2em 1em;
+ color: #000;
+}
+
+div#searchTargetContainer {
+ left: 10px;
+ top: 10px;
+ width: 90%;
+ background: white;
+}
+
+div#searchTarget {
+ padding: 3px;
+ margin: 5px;
+ background: #F0F0F0;
+ border: solid 1px blue;
+}
+
+div#searchTarget ul li {
+ list-style: none;
+}
+
+div#searchTarget ul li:before {
+ color: orange;
+ content: "\00BB \0020";
+}
+
+div.multipageimagenavbox {
+ border: solid 1px silver;
+ padding: 4px;
+ margin: 1em;
+ -moz-border-radius: 6px;
+ background: #f0f0f0;
+}
+
+div.multipageimagenavbox div.thumb {
+ border: none;
+ margin-left: 2em;
+ margin-right: 2em;
+}
+
+div.multipageimagenavbox hr {
+ margin: 6px;
+}
+
+table.multipageimage td {
+ text-align: center;
+}
+
+/** Special:Version */
+
+table#sv-ext, table#sv-hooks {
+ margin: 1em;
+ padding:0em;
+}
+
+#sv-ext td, #sv-hooks td,
+#sv-ext th, #sv-hooks th {
+ border: 1px solid #A0A0A0;
+ padding: 0 0.15em 0 0.15em;
+}
+#sv-ext th, #sv-hooks th {
+ background-color: #F0F0F0;
+ color: black;
+ padding: 0 0.15em 0 0.15em;
+}
+tr.sv-space{
+ height: 0.8em;
+ border:none;
+}
+tr.sv-space td { display: none; }
+
+/*
+ Table pager (e.g. Special:Imagelist)
+ - remove underlines from the navigation link
+ - collapse borders
+ - set the borders to outsets (similar to Special:Allmessages)
+ - remove line wrapping for all td and th, set background color
+ - restore line wrapping for the last two table cells (description and size)
+*/
+.TablePager_nav a { text-decoration: none; }
+.TablePager { border-collapse: collapse; }
+.TablePager, .TablePager td, .TablePager th {
+ border: 1px solid #aaaaaa;
+ padding: 0 0.15em 0 0.15em;
+}
+.TablePager th { background-color: #eeeeff }
+.TablePager td { background-color: #ffffff }
+.TablePager tr:hover td { background-color: #eeeeff }
+
+.imagelist td, .imagelist th { white-space: nowrap }
+.imagelist .TablePager_col_links { background-color: #eeeeff }
+.imagelist .TablePager_col_img_description { white-space: normal }
+.imagelist th.TablePager_sort { background-color: #ccccff }
+
+.templatesUsed { margin-top: 1.5em; }
+
+.mw-summary-preview {
+ margin: 0.1em 0;
+}
+
+/* Convenience links on Special:Ipblocklist */
+p.mw-ipb-conveniencelinks {
+ font-size: 90%;
+ float: right;
+}
+
+/**
+ * Here is some stuff that's ACTUALLY COMMON TO ALL SKINS.
+ * When the day comes, it can be moved to a *real* common.css.
+ */
+.mw-plusminus-null { color: #aaa; }
+.texvc { direction: ltr; unicode-bidi: embed; }
+/* Stop floats from intruding into edit area in previews */
+
+.MediaTransformError {
+ background-color: #ccc;
+ padding: 0.1em;
+}
+.MediaTransformError td {
+ text-align: center;
+ vertical-align: middle;
+ font-size: 90%;
+}
+
+#p-personal {
+display: block;
+position: absolute;
+top: 12px;
+right: 4ex;
+line-height: 3.75ex;
+text-align: right;
+}
+
+#p-personal h5 {
+display: inline;
+}
+
+#p-personal ul, #p-personal li {
+display: inline;
+}
+
+#p-cactions h5 {
+display: inline;
+}
+
+#p-cactions ul, #p-cactions li {
+display: inline;
+}
+#p-personal h5 {
+ display: none; !important
+}
+/* this is the ul contained in the portlet */
+#p-personal ul {
+ border: none;
+ line-height: 1.4em;
+ color: #2f6fab;
+ padding: 0 0 0 3em;
+ margin: 0;
+ text-align: right;
+ list-style: none;
+ z-index: 0;
+ background: none;
+ cursor: default;
+}
+#p-personal li {
+ z-index: 0;
+ border: none;
+ padding: 0;
+ display: inline;
+ color: #2f6fab;
+ margin-left: 1em;
+ line-height: 1.2em;
+ background: none;
+}
+#p-personal li a {
+ text-decoration: none;
+ color: #337acc;
+ padding-bottom: .4em;
+ background: none;
+}
+#p-personal li a:hover {
+ text-decoration: none;
+ color: #337acc;
+}
+#p-personal li.active a:hover {
+ background-color: transparent;
+}
+/* the icon in front of the user name, single quotes
+in bg url to hide it from iemac */
+li#pt-userpage,
+li#pt-anonuserpage,
+li#pt-login {
+ background: url(user.gif) top left no-repeat;
+ padding-left: 20px;
+ text-transform: none;
+}
+/* } */
+#p-personal ul {
+ text-transform: lowercase;
+}
+#p-personal li.active {
+ font-weight: bold;
+}
+
+#head {
+position: relative;
+abackground: red;
+}
+
+#p-cactions {
+ position: absolute;
+ bottom: 0;
+ left: 205px;
+ margin: 0;
+ white-space: nowrap;
+ width: 76%;
+ overflow: visible;
+ border-collapse: collapse;
+ padding-left: 1em;
+ list-style: none;
+ font-size: 95%;
+}
+#p-cactions ul {
+ list-style: none;
+}
+#p-cactions li {
+ float: left;
+ border: 1px solid #e4eaec;
+ padding: 0 !important;
+ margin: 0 .75em 0 0;
+ overflow: visible;
+ background: #FCFCFC;
+ border-bottom: none;
+}
+#p-cactions li.selected {
+ border-color: #fabd23;
+ border-color: #DDDDDD;
+ padding: 0;
+ font-weight: bold;
+ background: #FFFFFF;
+}
+#p-cactions li a {
+ display: block;
+ padding: 0 1em;
+ position: relative;
+ z-index: 0;
+ margin: 0;
+ text-decoration: none;
+ line-height: 2;
+ color: #337acc;
+}
+#p-cactions li a:hover,
+#p-cactions li.selected a {
+ z-index: 3;
+ text-decoration: none;
+ background-color: #FFFFFF;
+ margin-bottom: 1px;
+}
+#p-cactions li.selected a {
+ padding: 0 1em 0!important;
+}
+#p-cactions .new a {
+ color: #ba0000;
+}
+#p-cactions h5 {
+ display: none; !important
+}
+#p-cactions li.istalk {
+ margin-right: 0;
+}
+#p-cactions li.istalk a {
+ padding-right: .5em;
+}
+#p-cactions #ca-addsection a {
+ padding-left: .4em;
+ padding-right: .4em;
+}
+/* offsets to distinguish the tab groups */
+li#ca-talk {
+ margin-right: 1.6em;
+}
+li#ca-watch, li#ca-unwatch, li#ca-varlang-0, li#ca-print {
+ margin-left: 1.6em;
+}
+#p-cactions .pBody {
+ font-size: 1em;
+ background-color: transparent;
+ color: inherit;
+ border-collapse: inherit;
+ border: 0;
+ padding: 0;
+}
+#p-cactions .hiddenStructure {
+ display: none;
+}
+#p-cactions li a {
+ text-transform: lowercase;
+}
+
+#footer {
+ height: 85px;
+ margin-top: -95px;
+}
+
+
+/* images */
+div.floatright, table.floatright {
+ clear: right;
+ float: right;
+ position: relative;
+ margin: 0 0 .5em .5em;
+ border: 0;
+/*
+ border: .5em solid white;
+ border-width: .5em 0 .8em 1.4em;
+*/
+}
+div.floatright p { font-style: italic; }
+div.floatleft, table.floatleft {
+ float: left;
+ clear: left;
+ position: relative;
+ margin: 0 .5em .5em 0;
+ border: 0;
+/*
+ margin: .3em .5em .5em 0;
+ border: .5em solid white;
+ border-width: .5em 1.4em .8em 0;
+*/
+}
+div.floatleft p { font-style: italic; }
+/* thumbnails */
+div.thumb {
+ margin-bottom: .5em;
+ border-style: solid;
+ border-color: white;
+ width: auto;
+}
+div.thumbinner {
+ border: 1px solid #ccc;
+ padding: 3px !important;
+ background-color: #f9f9f9;
+ font-size: 94%;
+ text-align: center;
+ overflow: hidden;
+}
+html .thumbimage {
+ border: 1px solid #ccc;
+}
+html .thumbcaption {
+ border: none;
+ text-align: left;
+ line-height: 1.4em;
+ padding: 3px !important;
+ font-size: 94%;
+}
+div.magnify {
+ float: right;
+ border: none !important;
+ background: none !important;
+}
+div.magnify a, div.magnify img {
+ display: block;
+ border: none !important;
+ background: none !important;
+}
+div.tright {
+ clear: right;
+ float: right;
+ border-width: .5em 0 .8em 1.4em;
+}
+div.tleft {
+ float: left;
+ clear: left;
+ margin-right: .5em;
+ border-width: .5em 1.4em .8em 0;
+}
+
+.hiddenStructure {
+ display: none;
+ speak: none;
+}
+img.tex {
+ vertical-align: middle;
+}
+span.texhtml {
+ font-family: serif;
+}
+
+/* Have a checkered background on images on the description pages and in galleries
+ to make transparency visible
+
+#file img, .gallerybox .thumb img {
+ background: url(Checker-16x16.png) repeat;
+}
+*/
+
+/*
+** classes for special content elements like town boxes
+** intended to be referenced directly from the wiki src
+*/
+
+/*
+** User styles
+*/
+/* table standards */
+table.rimage {
+ float: right;
+ position: relative;
+ margin-left: 1em;
+ margin-bottom: 1em;
+ text-align: center;
+}
+.toccolours {
+ border: 1px solid #aaa;
+ background-color: #f9f9f9;
+ padding: 5px;
+ font-size: 95%;
+}
+div.townBox {
+ position: relative;
+ float: right;
+ background: white;
+ margin-left: 1em;
+ border: 1px solid gray;
+ padding: .3em;
+ width: 200px;
+ overflow: hidden;
+ clear: right;
+}
+div.townBox dl {
+ padding: 0;
+ margin: 0 0 .3em;
+ font-size: 96%;
+}
+div.townBox dl dt {
+ background: none;
+ margin: .4em 0 0;
+}
+div.townBox dl dd {
+ margin: .1em 0 0 1.1em;
+ background-color: #f3f3f3;
+}
+
+/* get rid of random clear: boths */
+
+#content br, #editform, #toolbar, #wpTextbox1, .visualClear, form#powersearch {
+ clear: none!important;
+}
+
+.errorbox, .successbox {
+ float: none!important;
+}
+
+.mw-search-formheader {
+ overflow: auto;
+}
+
+#content table#toc td {
+ border-width: 0px;
+}
+
+#content table#toc {
+ border-collapse: separate;
+}
+
+#content #mw-pages table th, #content #mw-pages table td {
+ border-color: transparent;
+}
+
+
+#lastmod, #viewcount {
+ color: #666666;
+}
+
+/* Shoot all the borders on Special:Specialpages in the neck */
+#content table.mw-specialpages-table tbody, #content table.mw-specialpages-table tr, #content table.mw-specialpages-table td {
+ border: none;
+}
+
+.mw-specialpagerestricted {
+ font-weight: bold;
+}
diff --git a/roles/mediawiki/files/skins/fedora/news_icon.png b/roles/mediawiki/files/skins/fedora/news_icon.png
new file mode 100644
index 0000000000..dd1541d13c
Binary files /dev/null and b/roles/mediawiki/files/skins/fedora/news_icon.png differ
diff --git a/roles/mediawiki/files/skins/fedora/rtl.css b/roles/mediawiki/files/skins/fedora/rtl.css
new file mode 100644
index 0000000000..ce87855d3a
--- /dev/null
+++ b/roles/mediawiki/files/skins/fedora/rtl.css
@@ -0,0 +1,221 @@
+/*
+Right-to-left fixes for MonoBook.
+Places sidebar on right, tweaks various alignment issues.
+
+Works mostly ok nicely on Safari 1.2.1; fine in Mozilla.
+
+Safari bugs (1.2.1):
+* Tabs are still appearing in left-to-right order. (Try after localizing)
+
+Opera bugs (7.23 linux):
+* Some bits of ltr text (sidebar box titles) have forward and backward versions overlapping each other
+
+IE/mac bugs:
+* The thing barfs on Hebrew and Arabic anyway, so no point testing.
+
+Missing features due to lack of support:
+* external link icons
+
+To test:
+* Opera6
+* IE 5.0
+* etc
+
+*/
+body {
+ direction: rtl;
+/* unicode-bidi: bidi-override;*/
+ unicode-bidi: embed;
+}
+#column-content {
+ margin: 0 -12.2em 0 0;
+ float: left;
+}
+#column-content #content{
+ margin-left: 0;
+ margin-right: 12.2em;
+ border-right: 1px solid #aaaaaa;
+ border-left: none;
+}
+html>body .portlet {
+ float: right;
+ clear: right;
+}
+.editsection {
+ float: left;
+ margin-right: 5px;
+ margin-left: 0; /* bug 9122: undo default LTR */
+}
+/* recover IEMac (might be fine with the float, but usually it's close to IE */
+*>body .portlet {
+ float: none;
+ clear: none;
+}
+.pBody {
+ padding-right: 0.8em;
+ padding-left: 0.5em;
+}
+
+/* Fix alignment */
+.documentByLine,
+.portletDetails,
+.portletMore,
+#p-personal {
+ text-align: left;
+}
+
+div div.thumbcaption {
+ text-align: right;
+}
+
+div.magnify,
+#div.townBox,
+#p-logo {
+ left: auto;
+ right: 0;
+}
+#p-personal {
+ left: auto;
+ right: 0;
+}
+
+#p-cactions {
+ left: auto;
+ right: 11.5em;
+ padding-left: 0;
+ padding-right: 1em;
+}
+#p-cactions li {
+ margin-left: 0.3em;
+ margin-right: 0;
+ float: right;
+}
+* html #p-cactions li a {
+ display: block;
+ padding-bottom: 0;
+}
+* html #p-cactions li a:hover {
+ padding-bottom: 0.2em;
+}
+/* offsets to distinguish the tab groups */
+li#ca-talk {
+ margin-right: auto;
+ margin-left: 1.6em;
+}
+li#ca-watch,li#ca-unwatch {
+ margin-right: 1.6em !important;
+}
+
+/* Fix margins for non-css2 browsers */
+/* top right bottom left */
+
+ul {
+ margin-left: 0;
+ margin-right: 1.5em;
+}
+ol {
+ margin-left: 0;
+ margin-right: 2.4em;
+}
+dd {
+ margin-left: 0;
+ margin-right: 1.6em;
+}
+#contentSub {
+ margin-right: 1em;
+ margin-left: 0;
+}
+.tocindent {
+ margin-left: 0;
+ margin-right: 2em;
+}
+div.tright, div.floatright, table.floatright {
+ clear: none;
+}
+div.tleft, div.floatleft, table.floatleft {
+ clear: left;
+}
+div.townBox {
+ margin-left: 0;
+ margin-right: 1em;
+}
+div.townBox dl dd {
+ margin-left: 0;
+ margin-right: 1.1em;
+}
+#p-personal li {
+ margin-left: 0;
+ margin-right: 1em;
+}
+
+li#ca-talk,
+li#ca-watch {
+ margin-right: auto;
+ margin-left: 1.6em;
+}
+
+#p-personal li {
+ float: left;
+}
+/* Fix link icons */
+.external {
+ padding: 0 !important;
+ background: none !important;
+}
+#footer {
+ clear: both;
+}
+* html #footer {
+ margin-left: 0;
+ margin-right: 13.6em;
+ border-left: 0;
+ border-right: 1px solid #fabd23;
+}
+* html #column-content {
+ float: none;
+ margin-left: 0;
+ margin-right: 0;
+}
+* html #column-content #content {
+ margin-left: 0;
+ margin-top: 3em;
+}
+* html #column-one { right: 0; }
+
+/* js pref toc */
+
+#preftoc {
+ margin-right: 1em;
+}
+
+.errorbox, .successbox, #preftoc li, .prefsection fieldset {
+ float: right;
+}
+
+.prefsection {
+ padding-right: 2em;
+}
+
+/* workaround for moz bug, displayed bullets on left side */
+
+#toc ul {
+ text-align: right;
+}
+
+#toc ul ul {
+ margin: 0 2em 0 0;
+}
+
+input#wpSave, input#wpDiff {
+ margin-right: 0;
+ margin-left: .33em;
+}
+
+#userlogin {
+ float: right;
+ margin: 0 0 1em 3em;
+}
+/* Unblock and Ipblocklist links of Special:Blockip */
+p.mw-ipb-conveniencelinks {
+ float: left;
+}
diff --git a/roles/mediawiki/files/skins/fedora/video.png b/roles/mediawiki/files/skins/fedora/video.png
new file mode 100644
index 0000000000..38103dac28
Binary files /dev/null and b/roles/mediawiki/files/skins/fedora/video.png differ
diff --git a/roles/mediawiki/files/skins/fedora/wiki-indexed.png b/roles/mediawiki/files/skins/fedora/wiki-indexed.png
new file mode 100644
index 0000000000..189a2ae3d7
Binary files /dev/null and b/roles/mediawiki/files/skins/fedora/wiki-indexed.png differ
diff --git a/roles/mediawiki/files/skins/fedora/wiki.png b/roles/mediawiki/files/skins/fedora/wiki.png
new file mode 100644
index 0000000000..69fce98855
Binary files /dev/null and b/roles/mediawiki/files/skins/fedora/wiki.png differ
diff --git a/roles/mediawiki/tasks/main.yml b/roles/mediawiki/tasks/main.yml
new file mode 100644
index 0000000000..db17801cfe
--- /dev/null
+++ b/roles/mediawiki/tasks/main.yml
@@ -0,0 +1,95 @@
+---
+- name: install needed packages
+ yum: pkg={{ item }} state=installed
+ with_items:
+ - mediawiki119
+ - mediawiki119-Cite
+ - mediawiki119-Lockdown
+ - mediawiki119-SpecialInterwiki
+ - librsvg2
+ - mediawiki119-HTTP302Found
+ - mediawiki119-intersection
+ - mediawiki119-RSS
+ - mediawiki-FedoraBadges
+ - php-zmq
+ - php-pecl-uuid
+ tags:
+ - packages
+
+- name: adding FAS auth
+ copy: src=Auth_FAS.php dest=/usr/share/mediawiki119/extensions/Auth_FAS.php owner=root group=root mode=775
+ tags:
+ - config
+
+- name: adding fedmsg emit
+ copy: src=fedmsg-emit.php dest=/usr/share/mediawiki119/extensions/fedmsg-emit.php owner=root group=root mode=775
+ tags:
+ - config
+
+- name: creating attachments dir
+ file: path=/srv/web/attachments owner=apache group=root mode=755 state=directory
+
+- name: startup apache
+ service: name=httpd enabled=yes state=started
+
+- name: mount staging attachments
+ mount: name=/srv/web/attachments src=vtap-fedora-nfs01.storage.phx2.redhat.com:/vol/fedora_app_staging/app/attachments fstype=nfs opts=defaults,rw,hard,intr,nfsvers=3 state=mounted
+ when: env == "staging"
+
+- name: mount attachments
+ mount: name=/srv/web/attachments src=vtap-fedora-nfs01.storage.phx2.redhat.com:/vol/fedora_app/app/attachments fstype=nfs opts=defaults,rw,hard,intr,nfsvers=3 state=mounted
+ when: env != "staging"
+
+- name: Fedora branding
+ copy: src=skins/ dest=/usr/share/mediawiki119/skins owner=root group=root mode=775
+ tags:
+ - config
+
+- name: creating wiki dir
+ file: path=/srv/web/{{wikiname}} owner=root group=root mode=755 state=directory
+
+- name: creating config dir
+ file: src=/usr/share/mediawiki119/config dest=/srv/web/{{wikiname}}/config owner=apache group=apache mode=755 state=directory
+
+- name: install utils
+ file: src=/usr/share/mediawiki119/install-utils.inc dest=/srv/web/{{wikiname}}/install-utils.inc state=link
+
+- name: install localsettings
+ template: src=LocalSettings.php.{{wikiname}}.j2 dest=/srv/web/{{wikiname}}/LocalSettings.php owner=apche group=apache mode=600
+
+- name: httpd conf
+ template: src=mediawiki-app.conf.j2 dest=/etc/httpd/conf.d/{{wikiname}}.conf
+
+- name: linking index.php
+ file: dest=/srv/web/{{wikiname}}/index.php src=/usr/share/mediawiki119/index.php state=link
+
+- name: linkng api.php
+ file: dest=/srv/web/{{wikiname}}/api.php src=/usr/share/mediawiki119/api.php state=link
+
+- name: linking opensearch
+ file: dest=/srv/web/{{wikiname}}/opensearch_desc.php src=/usr/share/mediawiki119/opensearch_desc.php state=link
+
+- name: linking extensions
+ file: dest=/srv/web/{{wikiname}}/extensions src=/usr/share/mediawiki119/extensions state=link
+
+- name: linking includes
+ file: dest=/srv/web/{{wikiname}}/includes src=/usr/share/mediawiki119/includes state=link
+
+- name: linking languages
+ file: dest=/srv/web/{{wikiname}}/languages src=/usr/share/mediawiki119/languages state=link
+
+- name: linking maintenance
+ file: dest=/srv/web/{{wikiname}}/maintenance src=/usr/share/mediawiki119/maintenance state=link
+
+- name: linking serialized
+ file: dest=/srv/web/{{wikiname}}/serialized src=/usr/share/mediawiki119/serialized state=link
+
+- name: linking skins
+ file: dest=/srv/web/{{wikiname}}/skins src=/usr/share/mediawiki119/skins state=link
+
+- name: linking load
+ file: dest=/srv/web/{{wikiname}}/load.php src=/usr/share/mediawiki119/load.php state=link
+
+- name: linking resources
+ file: dest=/srv/web/{{wikiname}}/resources src=/usr/share/mediawiki119/resources state=link
+
diff --git a/roles/mediawiki/templates/LocalSettings.php.fp.j2 b/roles/mediawiki/templates/LocalSettings.php.fp.j2
new file mode 100644
index 0000000000..5beb52de43
--- /dev/null
+++ b/roles/mediawiki/templates/LocalSettings.php.fp.j2
@@ -0,0 +1,408 @@
+ 'bastion',
+# "port" => '25'
+#);
+
+## For a detailed description of the following switches see
+## http://meta.wikimedia.org/Enotif and http://meta.wikimedia.org/Eauthent
+## There are many more options for fine tuning available see
+## /includes/DefaultSettings.php
+## UPO means: this is also a user preference option
+$wgEnotifUserTalk = true; # UPO
+$wgEnotifWatchlist = true; # UPO
+$wgEmailAuthentication = false;
+
+$wgDBtype = "mysql";
+$wgDBserver = "db05";
+$wgDBname = "fpo-mediawiki";
+$wgDBuser = "fpo-mw-user";
+$wgDBpassword = "{{ fpoPassword }}";
+$wgDBport = "5432";
+$wgDBprefix = "en_";
+
+# MySQL table options to use during installation or update
+$wgDBTableOptions = "TYPE=InnoDB";
+
+# Schemas for Postgres
+$wgDBmwschema = "mediawiki";
+$wgDBts2schema = "public";
+
+# Experimental charset support for MySQL 4.1/5.0.
+$wgDBmysql5 = false;
+
+## Shared memory settings
+$wgMainCacheType = CACHE_MEMCACHED;
+$wgParserCacheType = CACHE_MEMCACHED;
+$wgMessageCacheType = CACHE_MEMCACHED;
+$wgSessionsInMemcached = true;
+$wgMemCachedServers = array (
+ 0 => 'memcached03:11211',
+ 1 => 'memcached04:11211',
+);
+
+## To enable image uploads, make sure the 'images' directory
+## is writable, then set this to true:
+$wgEnableUploads = true;
+$wgUseImageMagick = false;
+#$wgUseImageMagick = true;
+#$wgImageMagickConvertCommand = "/usr/bin/convert";
+
+## If you want to use image uploads under safe mode,
+## create the directories images/archive, images/thumb and
+## images/temp, and make them all writable. Then uncomment
+## this, if it's not already uncommented:
+# $wgHashedUploadDirectory = false;
+
+## If you have the appropriate support software installed
+## you can enable inline LaTeX equations:
+$wgUseTeX = false;
+
+$wgLocalInterwiki = $wgSitename;
+
+$wgLanguageCode = "en";
+
+$wgProxyKey = "b957b9365f724d22f666998b751507c551c66484bf75b1cc33802a67e92b0827";
+
+## Default skin: you can change the default skin. Use the internal symbolic
+## names, ie 'standard', 'nostalgia', 'cologneblue', 'monobook':
+$wgDefaultSkin = 'fedora';
+
+## For attaching licensing metadata to pages, and displaying an
+## appropriate copyright notice / icon. GNU Free Documentation
+## License and Creative Commons licenses are supported so far.
+$wgEnableCreativeCommonsRdf = false;
+$wgRightsPage = "Legal:Main"; # Set to the title of a wiki page that describes your license/copyright
+$wgRightsUrl = "http://creativecommons.org/licenses/by-sa/3.0/";
+$wgRightsText = "Attribution-Share Alike 3.0 Unported";
+$wgRightsIcon = "";
+# $wgRightsCode = "[license_code]"; # Not yet used
+
+$wgDiff3 = "/usr/bin/diff3";
+
+# When you make changes to this configuration file, this will make
+# sure that cached pages are cleared.
+$configdate = gmdate( 'YmdHis', @filemtime( __FILE__ ) );
+$wgCacheEpoch = max( $wgCacheEpoch, $configdate );
+
+define("NS_ARCHIVE", 100);
+define("NS_ARCHIVE_TALK",101);
+define("NS_MEETING",102);
+define("NS_MEETING_TALK",103);
+define("NS_QA",104);
+define("NS_QA_TALK",105);
+define("NS_LEGAL", 106);
+define("NS_LEGAL_TALK", 107);
+define("NS_LICENSING", 108);
+define("NS_LICENSING_TALK", 109);
+define("NS_PACKAGING", 110);
+define("NS_PACKAGING_TALK", 111);
+define("NS_FUDCON", 112);
+define("NS_FUDCON_TALK", 113);
+define("NS_TEST_DAY", 114);
+define("NS_TEST_DAY_TALK", 115);
+define("NS_TEST_RESULTS", 116);
+define("NS_TEST_RESULTS_TALK", 117);
+
+$wgExtraNamespaces[NS_ARCHIVE] = "Archive";
+$wgExtraNamespaces[NS_ARCHIVE_TALK] = "Archive_talk";
+$wgExtraNamespaces[NS_MEETING] = "Meeting";
+$wgExtraNamespaces[NS_MEETING_TALK] = "Meeting_talk";
+$wgExtraNamespaces[NS_QA] = "QA";
+$wgExtraNamespaces[NS_QA_TALK] = "QA_talk";
+$wgExtraNamespaces[NS_LEGAL] = "Legal";
+$wgExtraNamespaces[NS_LEGAL_TALK] = "Legal_talk";
+$wgExtraNamespaces[NS_LICENSING] = "Licensing";
+$wgExtraNamespaces[NS_LICENSING_TALK] = "Licensing_talk";
+$wgExtraNamespaces[NS_PACKAGING] = "Packaging";
+$wgExtraNamespaces[NS_PACKAGING_TALK] = "Packaging_talk";
+$wgExtraNamespaces[NS_FUDCON] = "FUDCon";
+$wgExtraNamespaces[NS_FUDCON_TALK] = "FUDCon_talk";
+$wgExtraNamespaces[NS_TEST_DAY] = "Test_Day";
+$wgExtraNamespaces[NS_TEST_DAY_TALK] = "Test_Day_talk";
+$wgExtraNamespaces[NS_TEST_RESULTS] = "Test_Results";
+$wgExtraNamespaces[NS_TEST_RESULTS_TALK] = "Test_Results_talk";
+
+$wgNamespacesWithSubpages = array(
+ NS_MAIN => true,
+ NS_TALK => true,
+ NS_USER => true,
+ NS_USER_TALK => true,
+ NS_PROJECT_TALK => true,
+ NS_IMAGE_TALK => true,
+ NS_MEDIAWIKI_TALK => true,
+ NS_TEMPLATE_TALK => true,
+ NS_HELP_TALK => true,
+ NS_CATEGORY_TALK => true,
+ NS_ARCHIVE => true,
+ NS_ARCHIVE_TALK => true,
+ NS_MEETING => true,
+ NS_MEETING_TALK => true,
+ NS_QA => true,
+ NS_QA_TALK => true,
+ NS_LEGAL => true,
+ NS_LEGAL_TALK => true,
+ NS_LICENSING => true,
+ NS_LICENSING_TALK => true,
+ NS_PACKAGING => true,
+ NS_PACKAGING_TALK => true,
+ NS_FUDCON => true,
+ NS_FUDCON_TALK => true,
+ NS_TEST_DAY => true,
+ NS_TEST_DAY_TALK => true,
+ NS_TEST_RESULTS => true,
+ NS_TEST_RESULTS_TALK => true
+);
+
+$wgNamespacesToBeSearchedDefault = array(
+ NS_MAIN => true,
+ NS_TALK => false,
+ NS_USER => false,
+ NS_USER_TALK => false,
+ NS_PROJECT => true,
+ NS_PROJECT_TALK => false,
+ NS_IMAGE => true,
+ NS_IMAGE_TALK => false,
+ NS_MEDIAWIKI => false,
+ NS_MEDIAWIKI_TALK => false,
+ NS_TEMPLATE => false,
+ NS_TEMPLATE_TALK => false,
+ NS_HELP => true,
+ NS_HELP_TALK => false,
+ NS_CATEGORY => true,
+ NS_CATEGORY_TALK => false,
+ NS_ARCHIVE => false,
+ NS_ARCHIVE_TALK => false,
+ NS_MEETING => false,
+ NS_MEETING_TALK => false,
+ NS_QA => false,
+ NS_QA_TALK => false,
+ NS_LEGAL => true,
+ NS_LEGAL_TALK => false,
+ NS_LICENSING => true,
+ NS_LICENSING_TALK => false,
+ NS_PACKAGING => true,
+ NS_PACKAGING_TALK => false,
+ NS_FUDCON => true,
+ NS_FUDCON_TALK => false,
+ NS_TEST_DAY => true,
+ NS_TEST_DAY_TALK => false,
+ NS_TEST_RESULTS => true,
+ NS_TEST_RESULTS_TALK => false
+);
+
+#require_once "$IP/extensions/OpenID/OpenID.setup.php";
+#require 'extensions/StubManager/StubManager.php';
+#require 'extensions/HNP/HNP.php';
+require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
+require_once "$IP/extensions/Interwiki/Interwiki.php";
+require_once "$IP/extensions/Cite/Cite.php";
+require_once "$IP/extensions/Auth_FAS.php";
+$wgAuth = new Auth_FAS();
+require_once "$IP/extensions/fedmsg-emit.php";
+require_once "$IP/extensions/HTTP302Found/HTTP302Found.php";
+require_once "$IP/extensions/intersection/DynamicPageList.php";
+require_once "$IP/extensions/RSS/RSS.php";
+
+$wgShowExceptionDetails = true;
+
+$wgSkipSkins = array("chick", "cologneblue", "monobook", "myskin", "nostalgia", "simple", "standard");
+
+$wgSVGConverter = 'rsvg';
+
+#We use apache, but apparently it's the same difference
+$wgUseSquid = true;
+$wgSquidServers = array(
+{% if environment == "staging" %}
+ # proxy01.stg
+ "10.5.126.88",
+{% else %}
+ # proxy01
+ "10.5.126.52",
+ "192.168.1.11",
+
+ # proxy02
+ "85.236.55.5",
+ "2001:4178:2:1269::fed1",
+ "192.168.1.12",
+
+ # proxy03
+ "66.35.62.162",
+ "192.168.1.7",
+
+ # proxy04
+ "152.19.134.142",
+ "2610:28:3090:3001:dead:beef:cafe:fed3",
+ "192.168.1.14",
+
+ # proxy06
+ "140.211.169.196",
+ "192.168.1.63",
+
+ # proxy07
+ "213.175.193.205",
+ "192.168.1.52",
+{% end %}
+);
+$wgSquidServersNoPurge = array('127.0.0.1');
+$wgSquidMaxage = 432000;
+
+# Don't add rel="nofollow"
+$wgNoFollowLinks = false;
+
+# This can be an array in version 1.14 and above.
+$wgAllowExternalImagesFrom = array("http://fedoraproject.org/", "http://docs.fedoraproject.org", "http://fedorahosted.org/", "http://fedorapeople.org", "http://planet.fedoraproject.org");
+
+$wgAllowUserCss = true;
+$wgAllowUserJs = true;
+
+$wgEnableWriteAPI = true;
+
+$wgLogo = "http://fedoraproject.org/static/images/fedora-logo.png";
+
+### LOCKDOWN PERMISSIONS ###
+$wgGroupPermissions['Legal']['read'] = true;
+$wgGroupPermissions['Packaging']['read'] = true;
+
+require_once( "$IP/extensions/Lockdown/Lockdown.php" );
+
+$wgSpecialPageLockdown['Export'] = array('*');
+
+$wgNamespacePermissionLockdown['*']['edit'] = array('user');
+$wgNamespacePermissionLockdown[NS_FUDCON]['edit'] = array('*');
+$wgNamespacePermissionLockdown[NS_TEST_DAY]['edit'] = array('*');
+$wgNamespacePermissionLockdown[NS_TEST_RESULTS]['edit'] = array('*');
+$wgNamespacePermissionLockdown[NS_LEGAL]['edit'] = array('Legal');
+$wgNamespacePermissionLockdown[NS_LICENSING]['edit'] = array('Legal');
+$wgNamespacePermissionLockdown[NS_PACKAGING]['edit'] = array('Packaging');
+
+$wgNamespacePermissionLockdown['*']['move'] = array('user');
+$wgNamespacePermissionLockdown[NS_LEGAL]['move'] = array('Legal');
+$wgNamespacePermissionLockdown[NS_LICENSING]['move'] = array('Legal');
+$wgNamespacePermissionLockdown[NS_PACKAGING]['move'] = array('Packaging');
+### END LOCKDOWN PERMISSIONS ###
+
+# Experimentation - Added by nigelj 30/Dec/2008
+$wgSearchType = "SearchMySQL";
+
+# page_counter is known to be slow, disabled for performance reasons
+$wgDisableCounters = true;
+
+#$wgReadOnly = "Wiki Maintenance In Progress - ETA: 15 August 08 04:00 UTC";
+$wgStyleVersion = '273';
+
+# Fedora Badges Extension
+require_once( "$IP/extensions/FedoraBadges/FedoraBadges.php" );
diff --git a/roles/mediawiki/templates/mediawiki-app.conf.j2 b/roles/mediawiki/templates/mediawiki-app.conf.j2
new file mode 100644
index 0000000000..54812ed358
--- /dev/null
+++ b/roles/mediawiki/templates/mediawiki-app.conf.j2
@@ -0,0 +1,11 @@
+# Shared uploads directory.
+Alias /{{ wpath }}/uploads /srv/web/attachments
+
+Alias /{{ wpath }} /srv/web/{{ wikiname }}-wiki
+Alias /{{ wikipath }} /srv/web/{{ wikiname }}-wiki/index.php
+
+
+ Options SymLinksIfOwnerMatch
+ AllowOverride None
+
+
diff --git a/roles/mediawiki/templates/mediawiki-proxy.conf.erb b/roles/mediawiki/templates/mediawiki-proxy.conf.erb
new file mode 100644
index 0000000000..37d3fbdfe2
--- /dev/null
+++ b/roles/mediawiki/templates/mediawiki-proxy.conf.erb
@@ -0,0 +1,17 @@
+{% if force_ssl_login %}
+RewriteEngine On
+RewriteCond %{HTTPS} off
+RewriteCond %{QUERY_STRING} Special:Userlogin [NC]
+RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]
+
+RewriteCond %{HTTPS} off
+RewriteCond %{QUERY_STRING} action= [NC]
+RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]
+{% end %}
+
+# /wiki must come before /w due to prefix matching.
+ProxyPass {{ wikipath }} {{ proxyurl }}{{ wikipath }}
+ProxyPassReverse {{ wikipath }} {{ proxyurl }}{{ wikipath }}
+
+ProxyPass {{ wpath }} {{ proxyurl }}{{ wpath }}
+ProxyPassReverse {{ wpath }} {{ proxyurl }}{{ wpath }}