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') ?> + <?php $this->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') ?>"> +
+ + + +
+ 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('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 }}