summaryrefslogtreecommitdiff
path: root/skins/ArchLinux
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2014-12-27 15:41:37 +0100
committerPierre Schmitz <pierre@archlinux.de>2014-12-31 11:43:28 +0100
commitc1f9b1f7b1b77776192048005dcc66dcf3df2bfb (patch)
tree2b38796e738dd74cb42ecd9bfd151803108386bc /skins/ArchLinux
parentb88ab0086858470dd1f644e64cb4e4f62bb2be9b (diff)
Update to MediaWiki 1.24.1
Diffstat (limited to 'skins/ArchLinux')
-rw-r--r--skins/ArchLinux/ArchLinux.php53
-rw-r--r--skins/ArchLinux/ArchLinuxTemplate.php405
-rw-r--r--skins/ArchLinux/COPYING342
-rw-r--r--skins/ArchLinux/FF2Fixes.css4
-rw-r--r--skins/ArchLinux/IE60Fixes.css125
-rw-r--r--skins/ArchLinux/IE70Fixes.css96
-rw-r--r--skins/ArchLinux/SkinArchLinux.php53
-rw-r--r--skins/ArchLinux/arch.css74
-rw-r--r--skins/ArchLinux/archlogo.gifbin0 -> 1845 bytes
-rw-r--r--skins/ArchLinux/archlogo.pngbin0 -> 4192 bytes
-rw-r--r--skins/ArchLinux/archnavbar.css33
-rw-r--r--skins/ArchLinux/bullet.gifbin0 -> 50 bytes
-rw-r--r--skins/ArchLinux/headbg.jpgbin0 -> 7881 bytes
-rw-r--r--skins/ArchLinux/hooks.txt8
-rw-r--r--skins/ArchLinux/link_icon.gifbin0 -> 342 bytes
-rw-r--r--skins/ArchLinux/magnify-clip.pngbin0 -> 170 bytes
-rw-r--r--skins/ArchLinux/main.css810
-rw-r--r--skins/ArchLinux/print.css3
-rw-r--r--skins/ArchLinux/required.gifbin0 -> 47 bytes
-rw-r--r--skins/ArchLinux/user.gifbin0 -> 325 bytes
-rw-r--r--skins/ArchLinux/wiki-indexed.pngbin0 -> 8007 bytes
-rw-r--r--skins/ArchLinux/wiki.pngbin0 -> 22589 bytes
22 files changed, 2006 insertions, 0 deletions
diff --git a/skins/ArchLinux/ArchLinux.php b/skins/ArchLinux/ArchLinux.php
new file mode 100644
index 00000000..168139d2
--- /dev/null
+++ b/skins/ArchLinux/ArchLinux.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * ArchLinux skin (based on MonoBook)
+ *
+ * Translated from gwicke's previous TAL template version to remove
+ * dependency on PHPTAL.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Skins
+ */
+
+$wgExtensionCredits['skin'][] = array(
+ 'path' => __FILE__,
+ 'name' => 'ArchLinux',
+ 'description' => 'MediaWiki skin based on MonoBook',
+ 'url' => 'https://www.archlinux.org/',
+ 'author' => array( 'Pierre Schmitz' ),
+ 'license-name' => 'GPLv2+',
+);
+
+// Register files
+$wgAutoloadClasses['SkinArchLinux'] = __DIR__ . '/SkinArchLinux.php';
+$wgAutoloadClasses['ArchLinuxTemplate'] = __DIR__ . '/ArchLinuxTemplate.php';
+
+// Register skin
+$wgValidSkinNames['archlinux'] = 'ArchLinux';
+
+// Register modules
+$wgResourceModules['skins.archlinux.styles'] = array(
+ 'styles' => array(
+ 'main.css' => array( 'media' => 'screen' ),
+ 'archnavbar.css' => array( 'media' => 'screen' ),
+ 'arch.css' => array( 'media' => 'screen' ),
+ 'print.css' => array( 'media' => 'print' )
+ ),
+ 'remoteSkinPath' => 'ArchLinux',
+ 'localBasePath' => __DIR__,
+);
diff --git a/skins/ArchLinux/ArchLinuxTemplate.php b/skins/ArchLinux/ArchLinuxTemplate.php
new file mode 100644
index 00000000..8960f8b6
--- /dev/null
+++ b/skins/ArchLinux/ArchLinuxTemplate.php
@@ -0,0 +1,405 @@
+<?php
+/**
+ * ArchLinux skin (based on MonoBook)
+ *
+ * Translated from gwicke's previous TAL template version to remove
+ * dependency on PHPTAL.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Skins
+ */
+
+/**
+ * @ingroup Skins
+ */
+class ArchLinuxTemplate extends BaseTemplate {
+
+ /**
+ * Template filter callback for ArchLinux 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 $wgArchNavBar, $wgArchHome, $wgArchNavBarSelected, $wgArchNavBarSelectedDefault;
+ // Suppress warnings to prevent notices about missing indexes in $this->data
+ wfSuppressWarnings();
+
+ $this->html( 'headelement' );
+ ?>
+
+ <div id="archnavbar"><!-- Arch Linux global navigation bar -->
+ <div id="archnavbarlogo">
+ <p><a id="logo" href="<?php if (isset($wgArchHome)) { echo $wgArchHome; } ?>"></a></p>
+ </div>
+ <div id="archnavbarmenu">
+ <ul id="archnavbarlist">
+ <?php
+ if (isset($wgArchNavBar)) {
+ foreach ($wgArchNavBar as $name => $url) {
+ if ((isset($wgArchNavBarSelected) && $this->data['title'] == $name && in_array($name, $wgArchNavBarSelected))
+ || (!(isset($wgArchNavBarSelected) && in_array($this->data['title'], $wgArchNavBarSelected)) && isset($wgArchNavBarSelectedDefault) && $name == $wgArchNavBarSelectedDefault)) {
+ $anbClass = ' class="anb-selected"';
+ } else {
+ $anbClass = '';
+ }
+ echo '<li id="anb-'.strtolower($name).'"'.$anbClass.'><a href="'.$url.'">'.$name.'</a></li>';
+ }
+ }
+ ?>
+ </ul>
+ </div>
+ </div><!-- #archnavbar -->
+
+ <div id="globalWrapper">
+ <div id="column-content">
+ <div id="content" class="mw-body" role="main">
+ <a id="top"></a>
+ <?php
+ if ( $this->data['sitenotice'] ) {
+ ?>
+ <div id="siteNotice"><?php
+ $this->html( 'sitenotice' )
+ ?></div><?php
+ }
+ ?>
+
+ <h1 id="firstHeading" class="firstHeading" lang="<?php
+ $this->data['pageLanguage'] =
+ $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode();
+ $this->text( 'pageLanguage' );
+ ?>"><span dir="auto"><?php $this->html( 'title' ) ?></span></h1>
+
+ <div id="bodyContent" class="mw-body-content">
+ <div id="siteSub"><?php $this->msg( 'tagline' ) ?></div>
+ <div id="contentSub"<?php
+ $this->html( 'userlangattributes' ) ?>><?php $this->html( 'subtitle' )
+ ?></div>
+ <?php if ( $this->data['undelete'] ) { ?>
+ <div id="contentSub2"><?php $this->html( 'undelete' ) ?></div>
+ <?php
+}
+ ?><?php
+ if ( $this->data['newtalk'] ) {
+ ?>
+ <div class="usermessage"><?php $this->html( 'newtalk' ) ?></div>
+ <?php
+ }
+ ?>
+ <div id="jump-to-nav" class="mw-jump"><?php
+ $this->msg( 'jumpto' )
+ ?> <a href="#column-one"><?php
+ $this->msg( 'jumptonavigation' )
+ ?></a><?php
+ $this->msg( 'comma-separator' )
+ ?><a href="#searchInput"><?php
+ $this->msg( 'jumptosearch' )
+ ?></a></div>
+
+ <!-- start content -->
+ <?php $this->html( 'bodytext' ) ?>
+ <?php
+ if ( $this->data['catlinks'] ) {
+ $this->html( 'catlinks' );
+ }
+ ?>
+ <!-- end content -->
+ <?php
+ if ( $this->data['dataAfterContent'] ) {
+ $this->html( 'dataAfterContent'
+ );
+ }
+ ?>
+ <div class="visualClear"></div>
+ </div>
+ </div>
+ </div>
+ <div id="column-one"<?php $this->html( 'userlangattributes' ) ?>>
+ <h2><?php $this->msg( 'navigation-heading' ) ?></h2>
+ <?php $this->cactions(); ?>
+ <div class="portlet" id="p-personal" role="navigation">
+ <h3><?php $this->msg( 'personaltools' ) ?></h3>
+
+ <div class="pBody">
+ <ul<?php $this->html( 'userlangattributes' ) ?>>
+ <?php foreach ( $this->getPersonalTools() as $key => $item ) { ?>
+ <?php echo $this->makeListItem( $key, $item ); ?>
+
+ <?php
+}
+ ?>
+ </ul>
+ </div>
+ </div>
+ <div class="portlet" id="p-logo" role="banner">
+ <?php
+ echo Html::element( 'a', array(
+ 'href' => $this->data['nav_urls']['mainpage']['href'],
+ 'style' => "background-image: url({$this->data['logopath']});" )
+ + Linker::tooltipAndAccesskeyAttribs( 'p-logo' ) ); ?>
+
+ </div>
+ <?php
+ $this->renderPortals( $this->data['sidebar'] );
+ ?>
+ </div><!-- end of the left (by default at least) column -->
+ <div class="visualClear"></div>
+ <?php
+ $validFooterIcons = $this->getFooterIcons( "icononly" );
+ $validFooterLinks = $this->getFooterLinks( "flat" ); // Additional footer links
+
+ if ( count( $validFooterIcons ) + count( $validFooterLinks ) > 0 ) {
+ ?>
+ <div id="footer" role="contentinfo"<?php $this->html( 'userlangattributes' ) ?>>
+ <?php
+ $footerEnd = '</div>';
+ } else {
+ $footerEnd = '';
+ }
+
+ foreach ( $validFooterIcons as $blockName => $footerIcons ) {
+ ?>
+ <div id="f-<?php echo htmlspecialchars( $blockName ); ?>ico">
+ <?php foreach ( $footerIcons as $icon ) { ?>
+ <?php echo $this->getSkin()->makeFooterIcon( $icon ); ?>
+
+ <?php
+}
+ ?>
+ </div>
+ <?php
+ }
+
+ if ( count( $validFooterLinks ) > 0 ) {
+ ?>
+ <ul id="f-list">
+ <?php
+ foreach ( $validFooterLinks as $aLink ) {
+ ?>
+ <li id="<?php echo $aLink ?>"><?php $this->html( $aLink ) ?></li>
+ <?php
+ }
+ ?>
+ </ul>
+ <?php
+ }
+
+ echo $footerEnd;
+ ?>
+
+ </div>
+ <?php
+ $this->printTrail();
+ echo Html::closeElement( 'body' );
+ echo Html::closeElement( 'html' );
+ wfRestoreWarnings();
+ } // end of execute() method
+
+ /*************************************************************************************************/
+
+ /**
+ * @param array $sidebar
+ */
+ protected function renderPortals( $sidebar ) {
+ if ( !isset( $sidebar['SEARCH'] ) ) {
+ $sidebar['SEARCH'] = true;
+ }
+ if ( !isset( $sidebar['TOOLBOX'] ) ) {
+ $sidebar['TOOLBOX'] = true;
+ }
+ if ( !isset( $sidebar['LANGUAGES'] ) ) {
+ $sidebar['LANGUAGES'] = true;
+ }
+
+ foreach ( $sidebar as $boxName => $content ) {
+ if ( $content === false ) {
+ continue;
+ }
+
+ if ( $boxName == 'SEARCH' ) {
+ $this->searchBox();
+ } elseif ( $boxName == 'TOOLBOX' ) {
+ $this->toolbox();
+ } elseif ( $boxName == 'LANGUAGES' ) {
+ $this->languageBox();
+ } else {
+ $this->customBox( $boxName, $content );
+ }
+ }
+ }
+
+ function searchBox() {
+ ?>
+ <div id="p-search" class="portlet" role="search">
+ <h3><label for="searchInput"><?php $this->msg( 'search' ) ?></label></h3>
+
+ <div id="searchBody" class="pBody">
+ <form action="<?php $this->text( 'wgScript' ) ?>" id="searchform">
+ <input type='hidden' name="title" value="<?php $this->text( 'searchtitle' ) ?>"/>
+ <?php echo $this->makeSearchInput( array( "id" => "searchInput" ) ); ?>
+
+ <?php
+ echo $this->makeSearchButton(
+ "go",
+ array( "id" => "searchGoButton", "class" => "searchButton" )
+ );
+
+ if ( $this->config->get( 'UseTwoButtonsSearchForm' ) ) {
+ ?>&#160;
+ <?php echo $this->makeSearchButton(
+ "fulltext",
+ array( "id" => "mw-searchButton", "class" => "searchButton" )
+ );
+ } else {
+ ?>
+
+ <div><a href="<?php
+ $this->text( 'searchaction' )
+ ?>" rel="search"><?php $this->msg( 'powersearch-legend' ) ?></a></div><?php
+ } ?>
+
+ </form>
+
+ <?php $this->renderAfterPortlet( 'search' ); ?>
+ </div>
+ </div>
+ <?php
+ }
+
+ /**
+ * Prints the cactions bar.
+ * Shared between MonoBook and Modern
+ */
+ function cactions() {
+ ?>
+ <div id="p-cactions" class="portlet" role="navigation">
+ <h3><?php $this->msg( 'views' ) ?></h3>
+
+ <div class="pBody">
+ <ul><?php
+ foreach ( $this->data['content_actions'] as $key => $tab ) {
+ echo '
+ ' . $this->makeListItem( $key, $tab );
+ } ?>
+
+ </ul>
+ <?php $this->renderAfterPortlet( 'cactions' ); ?>
+ </div>
+ </div>
+ <?php
+ }
+
+ /*************************************************************************************************/
+ function toolbox() {
+ ?>
+ <div class="portlet" id="p-tb" role="navigation">
+ <h3><?php $this->msg( 'toolbox' ) ?></h3>
+
+ <div class="pBody">
+ <ul>
+ <?php
+ foreach ( $this->getToolbox() as $key => $tbitem ) {
+ ?>
+ <?php echo $this->makeListItem( $key, $tbitem ); ?>
+
+ <?php
+ }
+ wfRunHooks( 'ArchLinuxTemplateToolboxEnd', array( &$this ) );
+ wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) );
+ ?>
+ </ul>
+ <?php $this->renderAfterPortlet( 'tb' ); ?>
+ </div>
+ </div>
+ <?php
+ }
+
+ /*************************************************************************************************/
+ function languageBox() {
+ if ( $this->data['language_urls'] !== false ) {
+ ?>
+ <div id="p-lang" class="portlet" role="navigation">
+ <h3<?php $this->html( 'userlangattributes' ) ?>><?php $this->msg( 'otherlanguages' ) ?></h3>
+
+ <div class="pBody">
+ <ul>
+ <?php foreach ( $this->data['language_urls'] as $key => $langlink ) { ?>
+ <?php echo $this->makeListItem( $key, $langlink ); ?>
+
+ <?php
+}
+ ?>
+ </ul>
+
+ <?php $this->renderAfterPortlet( 'lang' ); ?>
+ </div>
+ </div>
+ <?php
+ }
+ }
+
+ /*************************************************************************************************/
+ /**
+ * @param string $bar
+ * @param array|string $cont
+ */
+ function customBox( $bar, $cont ) {
+ $portletAttribs = array(
+ 'class' => 'generated-sidebar portlet',
+ 'id' => Sanitizer::escapeId( "p-$bar" ),
+ 'role' => 'navigation'
+ );
+
+ $tooltip = Linker::titleAttrib( "p-$bar" );
+ if ( $tooltip !== false ) {
+ $portletAttribs['title'] = $tooltip;
+ }
+ echo ' ' . Html::openElement( 'div', $portletAttribs );
+ $msgObj = wfMessage( $bar );
+ ?>
+
+ <h3><?php echo htmlspecialchars( $msgObj->exists() ? $msgObj->text() : $bar ); ?></h3>
+ <div class='pBody'>
+ <?php
+ if ( is_array( $cont ) ) {
+ ?>
+ <ul>
+ <?php
+ foreach ( $cont as $key => $val ) {
+ ?>
+ <?php echo $this->makeListItem( $key, $val ); ?>
+
+ <?php
+ }
+ ?>
+ </ul>
+ <?php
+ } else {
+ # allow raw HTML block to be defined by extensions
+ print $cont;
+ }
+
+ $this->renderAfterPortlet( $bar );
+ ?>
+ </div>
+ </div>
+ <?php
+ }
+} // end of class
diff --git a/skins/ArchLinux/COPYING b/skins/ArchLinux/COPYING
new file mode 100644
index 00000000..019694a9
--- /dev/null
+++ b/skins/ArchLinux/COPYING
@@ -0,0 +1,342 @@
+== GNU GENERAL PUBLIC LICENSE ==
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+=== Preamble ===
+
+The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+== TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ==
+
+'''0.''' This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+'''1.''' You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+'''2.''' You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ '''a)''' You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ '''b)''' You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ '''c)''' If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+'''3.''' You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ '''a)''' Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ '''b)''' Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ '''c)''' Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+'''4.''' You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+'''5.''' You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+'''6.''' Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+'''7.''' If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+'''8.''' If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+'''9.''' The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+'''10.''' If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+=== NO WARRANTY ===
+
+'''11.''' BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+'''12.''' IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ '''END OF TERMS AND CONDITIONS'''
+
+== How to Apply These Terms to Your New Programs ==
+
+If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/skins/ArchLinux/FF2Fixes.css b/skins/ArchLinux/FF2Fixes.css
new file mode 100644
index 00000000..c8b65f50
--- /dev/null
+++ b/skins/ArchLinux/FF2Fixes.css
@@ -0,0 +1,4 @@
+.rtl .external, a.feedlink {
+ padding: 0 !important;
+ background: none !important;
+}
diff --git a/skins/ArchLinux/IE60Fixes.css b/skins/ArchLinux/IE60Fixes.css
new file mode 100644
index 00000000..a5beed5d
--- /dev/null
+++ b/skins/ArchLinux/IE60Fixes.css
@@ -0,0 +1,125 @@
+/* 6.0 - only fixes */
+/* content area */
+/* workaround for various ie float bugs */
+div#column-content {
+ float: none;
+ margin-left: 0;
+ height: 1%;
+}
+
+div#column-content .mw-body {
+ margin-left: 12.2em;
+ margin-top: 3em;
+ height: 1%;
+}
+
+.rtl div#column-content .mw-body {
+ margin-right: 12.2em;
+ margin-left: 0;
+}
+
+div#column-one {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 4;
+}
+
+.rtl div#column-one {
+ left: auto;
+ right: 0;
+}
+
+div#footer {
+ margin-left: 13.6em;
+ border-left: 1px solid #fabd23;
+}
+
+.rtl div#footer {
+ margin-left: 0;
+ margin-right: 13.6em;
+ border-left: none;
+ border-right: 1px solid #fabd23;
+}
+
+/* float/negative margin brokenness */
+* html div#footer {
+ margin-top: 0;
+}
+
+* html div#column-content {
+ display: inline;
+ margin-bottom: 0;
+}
+
+/* the tabs */
+
+#p-cactions {
+ z-index: 3;
+}
+
+#p-cactions li {
+ padding-bottom: 0 !important;
+ border: none;
+ background-color: transparent;
+ cursor: default;
+ float: none !important;
+}
+
+#p-cactions li a {
+ display: inline-block !important;
+ vertical-align: top;
+ padding-bottom: 0;
+ border: solid #aaa;
+ border-width: 1px 1px 0;
+}
+
+#p-cactions li.selected a {
+ border-color: #fabd23;
+ padding-bottom: 0.17em;
+}
+
+#p-cactions li a:hover {
+ padding-bottom: 0.17em;
+}
+
+#p-navigation a {
+ display: inline-block;
+ width: 100%;
+}
+
+#portal-personaltools {
+ padding-bottom: 0.1em;
+}
+
+.rtl a.feedlink {
+ background-position: right;
+ padding-right: 0;
+ padding-left: 16px;
+}
+
+/* show the hand */
+#p-logo a,
+#p-logo a:hover {
+ cursor: pointer;
+}
+
+div.visualClear {
+ width: 100%;
+ line-height: 0;
+}
+
+textarea {
+ width: 96%;
+}
+
+#catlinks,
+div.tright,
+div.tleft {
+ position: relative;
+}
+
+/* bug 12846 */
+body.rtl #preftoc a, body.rtl #preftoc a:active {
+ float: left;
+}
diff --git a/skins/ArchLinux/IE70Fixes.css b/skins/ArchLinux/IE70Fixes.css
new file mode 100644
index 00000000..e82d57a3
--- /dev/null
+++ b/skins/ArchLinux/IE70Fixes.css
@@ -0,0 +1,96 @@
+/* 7.0 - only fixes */
+/* content area */
+/* workaround for various ie float bugs */
+
+/* This bit is needed to make links clickable... WTF */
+div#column-content .mw-body {
+ margin-left: 12.2em;
+ margin-top: 3em;
+ height: 1%;
+}
+
+.rtl div#column-content .mw-body {
+ margin-right: 12.2em;
+ margin-left: 0;
+}
+
+.rtl div#column-one {
+ /* For some reason it tries to inherit the padding-top into every div,
+ * and I can't figure out how to get it back off.
+ * Margin works correctly for this use, though.
+ */
+ padding-top: 0;
+ margin-top: 160px;
+}
+
+/* These elements also have padding-left: 20px; in main.css, but in RTL mode this is flipped.
+ * That's good in normal browsers, but in IE7 it needs to not be flipped for some daft reason.
+ * Also clear the right margin (originally margin-left: 1em)
+ */
+li#pt-userpage, li#pt-anonuserpage, li#pt-login {
+ padding-left: 20px;
+ margin-right: 0;
+}
+
+.rtl a.feedlink {
+ background-position: right;
+ padding-right: 0;
+ padding-left: 16px;
+}
+
+/* the tabs */
+
+#p-cactions {
+ z-index: 3;
+}
+
+#p-cactions li {
+ padding-bottom: 0 !important;
+ border: none;
+ background-color: transparent;
+ cursor: default;
+ float: none !important;
+}
+
+#p-cactions li a {
+ display: inline-block !important;
+ vertical-align: top;
+ padding-bottom: 0;
+ border: solid #aaa;
+ border-width: 1px 1px 0;
+}
+
+#p-cactions li.selected a {
+ border-color: #fabd23;
+ padding-bottom: 0.17em;
+}
+
+#p-cactions li a:hover {
+ padding-bottom: 0.17em;
+}
+
+#p-navigation a {
+ display: inline-block;
+ width: 100%;
+}
+
+#portal-personaltools {
+ padding-bottom: 0.1em;
+}
+
+textarea {
+ width: 96%;
+}
+
+/*
+#catlinks,
+div.tright,
+div.tleft {
+ position: relative;
+}
+*/
+
+div#footer li {
+ /* Work around bug with inline <li> tags with right margins and nowrap */
+ margin-right: 0;
+}
diff --git a/skins/ArchLinux/SkinArchLinux.php b/skins/ArchLinux/SkinArchLinux.php
new file mode 100644
index 00000000..4be24176
--- /dev/null
+++ b/skins/ArchLinux/SkinArchLinux.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * ArchLinux skin (based on MonoBook)
+ *
+ * Translated from gwicke's previous TAL template version to remove
+ * dependency on PHPTAL.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Skins
+ */
+
+/**
+ * Inherit main code from SkinTemplate, set the CSS and template filter.
+ * @ingroup Skins
+ */
+class SkinArchLinux extends SkinTemplate {
+ /** Using ArchLinux. */
+ public $skinname = 'archlinux';
+ public $stylename = 'ArchLinux';
+ public $template = 'ArchLinuxTemplate';
+
+ /**
+ * @param OutputPage $out
+ */
+ function setupSkinUserCss( OutputPage $out ) {
+ parent::setupSkinUserCss( $out );
+
+ $out->addModuleStyles( array(
+ 'mediawiki.skinning.interface',
+ 'mediawiki.skinning.content.externallinks',
+ 'skins.archlinux.styles'
+ ) );
+
+ // TODO: Migrate all of these
+ $out->addStyle( $this->stylename . '/IE60Fixes.css', 'screen', 'IE 6' );
+ $out->addStyle( $this->stylename . '/IE70Fixes.css', 'screen', 'IE 7' );
+ }
+}
diff --git a/skins/ArchLinux/arch.css b/skins/ArchLinux/arch.css
new file mode 100644
index 00000000..a1856c7a
--- /dev/null
+++ b/skins/ArchLinux/arch.css
@@ -0,0 +1,74 @@
+/* general styling */
+body { background: #f6f9fc; }
+body, #content, table { color: #222;}
+h1, h2, h3, h4, h5 { color: #222; }
+h1 { font-weight: bold; }
+pre, code, tt { background-color: #ebf1f5; color: #222; font-family: monospace; }
+pre { border: 1px solid #bcd; overflow: auto; }
+code, tt { padding: 0.3em; }
+
+/* links (including page tabs and personal toolbar) */
+a, #p-cactions li a { text-decoration: none; outline: none; }
+a:link, #p-cactions li a, #p-personal li a, #bodyContent a.external { color: #07b; }
+#bodyContent > div.mw-content-ltr a, #bodyContent > div.mw-content-rtl a, #wikiPreview > div.mw-content-ltr a, #wikiPreview > div.mw-content-rtl a { font-weight: bold; }
+#bodyContent #toc a, #bodyContent .special li > a, #bodyContent .special li span a, #bodyContent #pagehistory a { font-weight: normal; }
+a:visited, #bodyContent a:visited.external { color: #666; }
+a:focus { color: #e90 !important; }
+a:hover, #p-personal li a:hover, #bodyContent #toc a:hover, #bodyContent a:hover.external { text-decoration: underline; background-color: transparent; color: #999; }
+a:active { color: #e90 !important; }
+a.new, #p-cactions .new a { color: #b00 !important; }
+
+/* bump down the personal toolbar (top menu) */
+#p-personal { top: 70px; }
+
+/* bump down the action tabs (page, discuss, edit, etc.) */
+#p-cactions { top: 7.5em; }
+/* first for IE6 */
+#p-cactions { top: 97px; }
+/* and now for the rest */
+html > body #p-cactions { top: 92px; }
+
+/* bump down the main content to make room for navbar */
+#content { top: .8em; }
+#content { top: 10px; }
+
+/* shrink the content just enough to show off the borders */
+div#globalWrapper { width: 99%; }
+
+/* article Table of Contents */
+#toc, .toc, .mw-warning { background-color: #f9faff; border: 1px solid #d7dfe3; }
+
+/* sidebar menus and content borders */
+.pBody { border: 1px solid #ddd; }
+div#content { border: 1px solid #ccc; }
+
+/* disable default mediawiki logo and close the gap it leaves behind */
+#p-logo { display: none !important;}
+/* first for IE6 */
+#column-one { padding-top: 90px; }
+/* and now for the browsers that work like they should */
+html > body #column-one { padding-top: 36px; }
+
+/* disable footer logos TODO: see if this can be done in LocalSettings.php */
+#f-poweredbyico, #f-copyrightico { display: none; }
+
+/* clean up the footer */
+div#footer { color: #888; background-color: transparent; border-top: none; border-bottom: none; }
+
+/* bring footer text inline with content */
+/* first for IE6 */
+#footer ul { margin-left: 0; }
+/* and now for the other browsers that work properly */
+html > body #footer ul { margin-left: 170px; }
+
+/* highlight current website in the navbar */
+#archnavbar ul li.anb-selected a { color: white !important; }
+
+/* don't highlight https links */
+#bodyContent a.external[href ^="https://"], .link-https { background: none; padding: 0; }
+
+/* make tables prettier */
+#bodyContent table { border-collapse: collapse; padding: 2px; }
+#bodyContent td { padding: 2px; }
+
+ul, .portlet ul { list-style-image: none; }
diff --git a/skins/ArchLinux/archlogo.gif b/skins/ArchLinux/archlogo.gif
new file mode 100644
index 00000000..e1852a06
--- /dev/null
+++ b/skins/ArchLinux/archlogo.gif
Binary files differ
diff --git a/skins/ArchLinux/archlogo.png b/skins/ArchLinux/archlogo.png
new file mode 100644
index 00000000..e873e94b
--- /dev/null
+++ b/skins/ArchLinux/archlogo.png
Binary files differ
diff --git a/skins/ArchLinux/archnavbar.css b/skins/ArchLinux/archnavbar.css
new file mode 100644
index 00000000..d95832bc
--- /dev/null
+++ b/skins/ArchLinux/archnavbar.css
@@ -0,0 +1,33 @@
+/*
+ * ARCH GLOBAL NAVBAR
+ *
+ * We're forcing all generic selectors with !important
+ * to help prevent other stylesheets from interfering.
+ *
+ */
+
+/* container for the entire bar */
+#archnavbar { height: 40px !important; padding: 10px 15px !important; background: #333 !important; border-bottom: 5px #08c solid !important; }
+
+/* logo trickery -- GIF for IE6 and PNG for the rest */
+#archnavbarlogo { float: left !important; margin: 0 !important; padding: 0 !important; height: 40px !important; width: 190px !important; }
+/* IE6 doesn't support alpha PNGs so we serve it a GIF */
+#archnavbarlogo { background: url('archlogo.gif') no-repeat !important; }
+/* and use a proper PNG for all other modern browsers */
+html > body #archnavbarlogo { background: url('archlogo.png') no-repeat !important; }
+
+/* move the heading/paragraph text offscreen */
+#archnavbarlogo p { margin: 0 !important; padding: 0 !important; text-indent: -9999px !important; }
+#archnavbarlogo h1 { margin: 0 !important; padding: 0 !important; text-indent: -9999px !important; }
+
+/* make the link the same size as the logo */
+#archnavbarlogo a { display: block !important; height: 40px !important; width: 190px !important; }
+
+/* display the list inline, float it to the right and style it */
+#archnavbar ul { display: inline !important; float: right !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
+#archnavbar ul li { float: left !important; font-size: 14px !important; font-family: sans-serif !important; line-height: 45px !important; padding-right: 15px !important; padding-left: 15px !important; }
+
+/* style the links */
+#archnavbar ul#archnavbarlist li a { color: #999; font-weight: bold !important; text-decoration: none !important; }
+#archnavbar ul li a:hover { color: white !important; text-decoration: underline !important; }
+
diff --git a/skins/ArchLinux/bullet.gif b/skins/ArchLinux/bullet.gif
new file mode 100644
index 00000000..b43de48a
--- /dev/null
+++ b/skins/ArchLinux/bullet.gif
Binary files differ
diff --git a/skins/ArchLinux/headbg.jpg b/skins/ArchLinux/headbg.jpg
new file mode 100644
index 00000000..5491c6e4
--- /dev/null
+++ b/skins/ArchLinux/headbg.jpg
Binary files differ
diff --git a/skins/ArchLinux/hooks.txt b/skins/ArchLinux/hooks.txt
new file mode 100644
index 00000000..b456a669
--- /dev/null
+++ b/skins/ArchLinux/hooks.txt
@@ -0,0 +1,8 @@
+Hooks provided by the MonoBook skin.
+
+'MonoBookTemplateToolboxEnd': DEPRECATED. Called by Monobook skin after toolbox
+links have been rendered (useful for adding more). Note: this is only run for
+the Monobook skin. To add items to the toolbox you should use the
+SkinTemplateToolboxEnd hook instead, which works for all "SkinTemplate"-type
+skins.
+$tools: array of tools
diff --git a/skins/ArchLinux/link_icon.gif b/skins/ArchLinux/link_icon.gif
new file mode 100644
index 00000000..168c1a2f
--- /dev/null
+++ b/skins/ArchLinux/link_icon.gif
Binary files differ
diff --git a/skins/ArchLinux/magnify-clip.png b/skins/ArchLinux/magnify-clip.png
new file mode 100644
index 00000000..ffd7637f
--- /dev/null
+++ b/skins/ArchLinux/magnify-clip.png
Binary files differ
diff --git a/skins/ArchLinux/main.css b/skins/ArchLinux/main.css
new file mode 100644
index 00000000..e0e0dc77
--- /dev/null
+++ b/skins/ArchLinux/main.css
@@ -0,0 +1,810 @@
+/*
+** 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 :)
+*/
+
+div#column-content {
+ width: 100%;
+ float: right;
+ margin: 0 0 .6em -12.2em;
+ padding: 0;
+}
+
+.mw-body {
+ margin: 2.8em 0 0 12.2em;
+ padding: 1em;
+ position: relative;
+ z-index: 2;
+ background: white;
+ color: black;
+ border: 1px solid #aaa;
+ border-right: none;
+ line-height: 1.5em;
+}
+
+div#column-one {
+ padding-top: 160px;
+}
+
+/* Hide, but keep accessible for screen-readers */
+#column-one h2 {
+ position: absolute;
+ top: -9999px;
+}
+
+/* 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;
+ /* @embed */
+ background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
+ color: black;
+ margin: 0;
+ padding: 0;
+ direction: ltr; /* Needed for RTL flipping */
+ unicode-bidi: embed;
+}
+
+/* scale back up to a sane default */
+div#globalWrapper {
+ font-size: 127%;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+}
+
+/* general styles */
+a {
+ color: #002bb8;
+}
+
+a:visited {
+ color: #5a3696;
+}
+
+a.new,
+#p-personal a.new {
+ color: #cc2200;
+}
+
+ul {
+ list-style-type: square;
+ /* @embed */
+ list-style-image: url(bullet.gif);
+}
+
+pre, .mw-code {
+ line-height: 1.1em;
+}
+
+#firstHeading {
+ padding-top: 0;
+}
+
+/*
+** the main content area
+*/
+
+#siteNotice {
+ font-size: 95%;
+ padding: 0 0.9em;
+}
+
+#localNotice {
+ margin: 0;
+}
+
+#siteNotice p {
+ margin: 0;
+ padding: 0;
+}
+
+/*
+** 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;
+}
+
+/*
+** edit views etc
+*/
+.special li {
+ line-height: 1.4em;
+ margin: 0;
+ padding: 0;
+}
+
+/*
+** 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 h3 {
+ background: transparent;
+ padding: 0 1em 0 .5em;
+ display: inline;
+ height: 1em;
+ text-transform: lowercase;
+ font-size: 91%;
+ 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;
+}
+
+/* allows .pBody styles to wrap around content added via BaseTemplateAfterPortlet hook */
+.pBody:after {
+ content: '';
+ clear: both;
+ display: block;
+}
+
+.portlet ul {
+ line-height: 1.5em;
+ font-size: 95%;
+}
+
+.portlet li {
+ padding: 0;
+ margin: 0;
+}
+
+/*
+** Logo properties
+*/
+
+#p-logo {
+ top: 0;
+ left: 0;
+ position: absolute; /*needed to use z-index */
+ z-index: 3;
+ height: 155px;
+ width: 12em;
+ overflow: visible;
+}
+
+#p-logo h3 {
+ 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;
+}
+
+/*
+** Search portlet
+*/
+#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;
+}
+
+#p-search #searchform div div {
+ margin-top: .4em;
+ font-size: 95%;
+}
+
+/*
+** the personal toolbar
+*/
+#p-personal {
+ position: absolute;
+ left: 0;
+ top: 0;
+ z-index: 3;
+}
+
+#p-personal {
+ width: 100%;
+ white-space: nowrap;
+ padding: 0;
+ margin: 0;
+ border: none;
+ background: none;
+ overflow: visible;
+ line-height: 1.2em;
+}
+
+#p-personal h3 {
+ 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-type: none;
+ list-style-image: 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 username / login link */
+li#pt-userpage,
+li#pt-anonuserpage,
+li#pt-login {
+ /* @embed */
+ background: url(user.gif) top left no-repeat;
+ padding-left: 20px;
+}
+
+#p-personal ul {
+ text-transform: lowercase;
+}
+
+/* Don't lowercase username or IP addresses (IPv6) */
+li#pt-userpage,
+li#pt-anonuserpage {
+ text-transform: none;
+}
+
+#p-personal li.active {
+ font-weight: bold;
+}
+
+/*
+** the page-related actions- page/talk, edit etc
+*/
+#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;
+ font-size: 95%;
+}
+
+#p-cactions ul {
+ list-style-type: none;
+ list-style-image: 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;
+ 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;
+ 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 h3 {
+ 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 li a {
+ text-transform: lowercase;
+}
+
+#p-lang {
+ position: relative;
+ z-index: 3;
+}
+
+/* Override text-transform on languages where capitalization is significant */
+.capitalize-all-nouns .portlet h3,
+.capitalize-all-nouns #p-personal ul,
+.capitalize-all-nouns #p-cactions ul li a {
+ text-transform: none;
+}
+
+/* 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
+*/
+div#footer {
+ background-color: white;
+ border-top: 1px solid #fabd23;
+ border-bottom: 1px solid #fabd23;
+ margin: .6em 0 1em 0;
+ overflow: hidden;
+ padding: .4em 0 .3em 0;
+ text-align: center;
+ font-size: 90%;
+}
+
+div#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%;
+}
+
+.mw-htmlform-submit {
+ font-weight: bold;
+ padding-left: .3em;
+ padding-right: .3em;
+ margin-right: 2em;
+}
+
+/* js pref toc */
+#preftoc {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ clear: both;
+}
+
+#preftoc li {
+ background-color: #f0f0f0;
+ color: #000;
+}
+
+#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;
+}
+
+#preferences {
+ margin: 0;
+ border: 1px solid #aaa;
+ clear: both;
+ padding: 1.5em;
+ background-color: #F9F9F9;
+}
+
+.prefsection {
+ border: none;
+ padding: 0;
+ margin: 0;
+}
+
+.prefsection legend {
+ font-weight: bold;
+}
+
+.prefsection table, .prefsection legend {
+ background-color: #F9F9F9;
+}
+
+.mainLegend {
+ display: none;
+}
+
+td.htmlform-tip {
+ font-size: x-small;
+ padding: .2em 2em;
+ color: #666;
+}
+
+.preferences-login {
+ clear: both;
+ margin-bottom: 1.5em;
+}
+
+.prefcache {
+ font-size: 90%;
+ margin-top: 2em;
+}
+
+#userloginprompt, #languagelinks {
+ font-size: 85%;
+}
+
+#login-sectiontip {
+ font-size: 85%;
+ line-height: 1.2;
+ padding-top: 2em;
+}
+
+#userloginlink a, #wpLoginattempt, #wpCreateaccount {
+ font-weight: bold;
+}
+
+/**
+ * This was originally added by Gabriel Wicke in r3681 (committed on 25 May 2004)
+ * with the commit message "tweaks to page history".
+ * Unlike the other IE/Mac fixes that used to be present here, this seems to get
+ * applied on more modern browsers, so let's keep it here until someone has the
+ * time to properly test it out.
+ */
+#pagehistory li.selected {
+ position: relative;
+}
+
+.redirectText {
+ font-size: 150%;
+ margin: 5px;
+}
+
+div.patrollink {
+ clear: both;
+}
+
+.sharedUploadNotice {
+ font-style: italic;
+}
+
+span.updatedmarker {
+ color: black;
+ background-color: #0f0;
+}
+
+.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;
+}
+
+.toggle {
+ margin-left: 2em;
+ text-indent: -2em;
+}
+
+/* @bug 1714 */
+input#wpSave,
+input#wpDiff {
+ margin-right: 0.33em;
+}
+
+#wpSave {
+ font-weight: bold;
+}
+
+/* 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-type: none;
+ list-style-image: none;
+}
+
+div#searchTarget ul li:before {
+ color: orange;
+ content: "\00BB \0020";
+}
+
+div#searchTargetHide {
+ float: right;
+ border: solid 1px black;
+ background: #DCDCDC;
+ padding: 2px;
+}
+
+#powersearch p {
+ margin-top: 0;
+}
+
+div.multipageimagenavbox {
+ border: solid 1px silver;
+ padding: 4px;
+ margin: 1em;
+ 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;
+}
+
+.templatesUsed {
+ margin-top: 1.5em;
+}
+
+.mw-summary-preview {
+ margin: 0.1em 0;
+}
+
+/* Friendlier slave lag warnings */
+div.mw-lag-warn-normal,
+div.mw-lag-warn-high {
+ padding: 3px;
+ text-align: center;
+ margin: 3px auto;
+}
+
+div.mw-lag-warn-normal {
+ border: 1px solid #FFCC66;
+ background-color: #FFFFCC;
+}
+
+div.mw-lag-warn-high {
+ font-weight: bold;
+ border: 2px solid #FF0033;
+ background-color: #FFCCCC;
+}
+
+.MediaTransformError {
+ background-color: #ccc;
+ padding: 0.1em;
+}
+
+.MediaTransformError td {
+ text-align: center;
+ vertical-align: middle;
+ font-size: 90%;
+}
+
+/* Sometimes people don't want personal tools to be lowercase! */
+.no-text-transform {
+ text-transform: none;
+}
+
+/* Tooltips are outside of the normal body code, so this helps make the size of the text sensible */
+.tipsy {
+ font-size: 127%;
+}
+
+/* mediawiki.notification */
+.skin-monobook .mw-notification {
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.125);
+}
diff --git a/skins/ArchLinux/print.css b/skins/ArchLinux/print.css
new file mode 100644
index 00000000..a2780f7a
--- /dev/null
+++ b/skins/ArchLinux/print.css
@@ -0,0 +1,3 @@
+#archnavbar {
+ display: none;
+}
diff --git a/skins/ArchLinux/required.gif b/skins/ArchLinux/required.gif
new file mode 100644
index 00000000..bd719769
--- /dev/null
+++ b/skins/ArchLinux/required.gif
Binary files differ
diff --git a/skins/ArchLinux/user.gif b/skins/ArchLinux/user.gif
new file mode 100644
index 00000000..34b4839d
--- /dev/null
+++ b/skins/ArchLinux/user.gif
Binary files differ
diff --git a/skins/ArchLinux/wiki-indexed.png b/skins/ArchLinux/wiki-indexed.png
new file mode 100644
index 00000000..799ebac8
--- /dev/null
+++ b/skins/ArchLinux/wiki-indexed.png
Binary files differ
diff --git a/skins/ArchLinux/wiki.png b/skins/ArchLinux/wiki.png
new file mode 100644
index 00000000..8c421183
--- /dev/null
+++ b/skins/ArchLinux/wiki.png
Binary files differ