First commit.
341
Codex.php
Normal file
@@ -0,0 +1,341 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Mediawiki Codex Skin
|
||||||
|
*
|
||||||
|
* This is a clone of the {@link http://codex.wordpress.org} theme and licensed under
|
||||||
|
* the GPL License.
|
||||||
|
*
|
||||||
|
* All credit is due to the designers of {@link http://codex.wordpress.org} since this
|
||||||
|
* is a copy of their work and I just cloned their design and made it into a Mediawiki skin
|
||||||
|
* for personal use.
|
||||||
|
*
|
||||||
|
* The best I can tell is that the design is part of the content of the WordPress.org Codex
|
||||||
|
* and falls under their GPL licensing of that site's contents, so that same licensing
|
||||||
|
* applies to this skin as well.
|
||||||
|
*
|
||||||
|
* @license http://wordpress.org/about/gpl/ GPL
|
||||||
|
*/
|
||||||
|
|
||||||
|
if( !defined('MEDIAWIKI') ) die( -1 );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inherit main code from SkinTemplate, set the CSS and template filter.
|
||||||
|
* @todo document
|
||||||
|
* @ingroup Skins
|
||||||
|
*/
|
||||||
|
class SkinCodex extends SkinTemplate
|
||||||
|
{
|
||||||
|
/** Using codex. */
|
||||||
|
var $skinname = 'codex';
|
||||||
|
var $stylename = 'codex';
|
||||||
|
var $template = 'CodexTemplate';
|
||||||
|
var $useHeadElement = true;
|
||||||
|
|
||||||
|
|
||||||
|
function setupSkinUserCss( OutputPage $out )
|
||||||
|
{
|
||||||
|
global $wgHandheldStyle;
|
||||||
|
|
||||||
|
parent::setupSkinUserCss( $out );
|
||||||
|
|
||||||
|
// Append to the default screen common & print styles...
|
||||||
|
$out->addStyle( 'codex/main.css', 'screen' );
|
||||||
|
$out->addStyle( 'codex/wp4.css', 'screen' );
|
||||||
|
$out->addStyle( 'codex/iphone.css', 'only screen and (max-device-width: 480px)' );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Codex Template Class
|
||||||
|
*
|
||||||
|
* This class assembles the components of the Codex template and renders the output.
|
||||||
|
* It is written in <b>PHP5 OO Standards</b>, therefore it's not compatible with PHP4.
|
||||||
|
*
|
||||||
|
* @ingroup Skins
|
||||||
|
*/
|
||||||
|
class CodexTemplate extends QuickTemplate
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Sidebox Group printf Format
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
private $_sideboxf = <<<________EOD
|
||||||
|
<h3>%s</h3>
|
||||||
|
<ul class="submenu">
|
||||||
|
%s
|
||||||
|
</ul>
|
||||||
|
________EOD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sidebox List Item printf Format
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
private $_lif = "\t<li id=\"%s\"%s>%s</li>\n";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sidebox AnchorLink printf Format
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
private $_af = '<a href="%s" %s>%s</a>';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Skin Object
|
||||||
|
*
|
||||||
|
* @var object
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public $skin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Template Filter Callback
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* The page's HTML layout is included by calling the file {@link body.php}, which
|
||||||
|
* is the primary theme file.
|
||||||
|
*
|
||||||
|
* @param void
|
||||||
|
* return string Outputs the pages generated content
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public function execute()
|
||||||
|
{
|
||||||
|
global $wgRequest;
|
||||||
|
|
||||||
|
$this->skin = $skin = $this->data['skin'];
|
||||||
|
$action = $wgRequest->getText( 'action' );
|
||||||
|
|
||||||
|
// Suppress warnings to prevent notices about missing indexes in $this->data
|
||||||
|
wfSuppressWarnings();
|
||||||
|
|
||||||
|
// Load the head element for the page
|
||||||
|
$this->html( 'headelement' );
|
||||||
|
|
||||||
|
// Include the main content syntax
|
||||||
|
require realpath(dirname(__FILE__) .'/codex/body.php');
|
||||||
|
|
||||||
|
// Restore warnings
|
||||||
|
wfRestoreWarnings();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate Search Box
|
||||||
|
*
|
||||||
|
* Creates the search form for the Codex theme.
|
||||||
|
*
|
||||||
|
* @param void
|
||||||
|
* @return string Prints the search form.
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public function searchBox()
|
||||||
|
{
|
||||||
|
$format = '<form action="%s" id="head-search">'."\n\t%s\n\t";
|
||||||
|
$format .= '<input type="submit" name="go" class="button" id="searchGoButton" value="Go"%s />'."\n";
|
||||||
|
$format .= "</form>\n";
|
||||||
|
|
||||||
|
printf( $format,
|
||||||
|
htmlspecialchars($this->data['wgScript']),
|
||||||
|
Html::input( 'text',
|
||||||
|
isset($this->data['search']) && strlen($this->data['search']) > 0 ? $this->data['search'] : 'Search the Codex',
|
||||||
|
'text',
|
||||||
|
array(
|
||||||
|
'maxlength' => 150,
|
||||||
|
'class' => 'text',
|
||||||
|
'title' => $this->skin->titleAttrib( 'search' ),
|
||||||
|
'accesskey' => $this->skin->accesskey( 'search' ),
|
||||||
|
'onfocus' => "this.value=(this.value=='Search the Codex') ? '' : this.value;",
|
||||||
|
'onblur' => "this.value=(this.value=='') ? 'Search the Codex' : this.value;",
|
||||||
|
)
|
||||||
|
),
|
||||||
|
$this->skin->tooltipAndAccesskey( 'search-go' )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ToolBox Sidebox
|
||||||
|
*
|
||||||
|
* Formats and prints the HTML syntax for the ToolBox links.
|
||||||
|
*
|
||||||
|
* @param void
|
||||||
|
* @return string Prints the HTML syntax that makes up the ToolBox links and section.
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public function toolBox()
|
||||||
|
{
|
||||||
|
$title = $this->translator->translate('Toolbox');
|
||||||
|
$li = '';
|
||||||
|
|
||||||
|
if( $this->data['notspecialpage'] )
|
||||||
|
$li .= sprintf($this->_lif,
|
||||||
|
't-whatlinkshere',
|
||||||
|
'',
|
||||||
|
sprintf( $this->_af, htmlspecialchars($this->data['nav_urls']['whatlinkshere']['href']),
|
||||||
|
$this->skin->tooltipAndAccesskey('t-whatlinkshere'),
|
||||||
|
htmlspecialchars( $this->translator->translate('whatlinkshere') ) )
|
||||||
|
);
|
||||||
|
|
||||||
|
if( $this->data['feeds'] )
|
||||||
|
{
|
||||||
|
$alinks .= '';
|
||||||
|
foreach($this->data['feeds'] as $key => $feed)
|
||||||
|
{
|
||||||
|
$alinks .= sprintf( $this->_af,
|
||||||
|
htmlspecialchars($feed['href']),
|
||||||
|
'id="'. Sanitizer::escapeId( "feed-$key" ) .'" rel="alternate" type="application/'. $key .'+xml" class="feedlink" '.
|
||||||
|
$this->skin->tooltipAndAccesskey('feed-'.$key),
|
||||||
|
htmlspecialchars($feed['text']) .' ' );
|
||||||
|
}
|
||||||
|
|
||||||
|
$li .= sprintf($this->_li_lif, $this->msg('feedlinks', TRUE), '', $alinks);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach( array('recentchangeslinked', 'trackbacklink', 'contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special )
|
||||||
|
{
|
||||||
|
if( is_array($this->data['nav_urls'][$special]) )
|
||||||
|
$li .= sprintf( $this->_lif,
|
||||||
|
't-'. $special,
|
||||||
|
'',
|
||||||
|
sprintf( $this->_af,
|
||||||
|
htmlspecialchars($this->data['nav_urls'][$special]['href']),
|
||||||
|
$this->skin->tooltipAndAccesskey('t-'. $special),
|
||||||
|
htmlspecialchars( $this->translator->translate($special) ) )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if( strlen($this->data['nav_urls']['print']['href']) > 0 )
|
||||||
|
$li .= sprintf( $this->_lif,
|
||||||
|
't-print',
|
||||||
|
'',
|
||||||
|
sprintf( $this->_af,
|
||||||
|
htmlspecialchars($this->data['nav_urls']['print']['href']),
|
||||||
|
'rel="alternate" '. $this->skin->tooltipAndAccesskey('t-print'),
|
||||||
|
htmlspecialchars( $this->translator->translate('printableversion') ) )
|
||||||
|
);
|
||||||
|
|
||||||
|
if( strlen($this->data['nav_urls']['permalink']['href']) > 0 )
|
||||||
|
$li .= sprintf( $this->_lif,
|
||||||
|
't-permalink',
|
||||||
|
'',
|
||||||
|
sprintf( $this->_af,
|
||||||
|
htmlspecialchars($this->data['nav_urls']['permalink']['href']),
|
||||||
|
$this->skin->tooltipAndAccesskey('t-permalink'),
|
||||||
|
htmlspecialchars( $this->translator->translate('permalink') ) )
|
||||||
|
);
|
||||||
|
|
||||||
|
else
|
||||||
|
$li .= sprintf( $this->_lif,
|
||||||
|
't-ispermalink',
|
||||||
|
$this->skin->tooltip('t-ispermalink'),
|
||||||
|
htmlspecialchars( $this->translator->translate('permalink') )
|
||||||
|
);
|
||||||
|
|
||||||
|
printf($this->_sideboxf, $title, $li);
|
||||||
|
wfRunHooks( 'CodexTemplateToolboxEnd', array( &$this ) );
|
||||||
|
wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Views Sidebox
|
||||||
|
*
|
||||||
|
* This method formats and prints the <i>Views</i> Sidebox menu items.
|
||||||
|
*
|
||||||
|
* @param void
|
||||||
|
* @return string Prints the formatted HTML syntax for the Views sidebox section.
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public function viewsBox()
|
||||||
|
{
|
||||||
|
$title = $this->translator->translate('Views');
|
||||||
|
$li = '';
|
||||||
|
|
||||||
|
foreach($this->data['content_actions'] as $key => $tab)
|
||||||
|
{
|
||||||
|
$id = Sanitizer::escapeId("ca-{$key}");
|
||||||
|
$class = $tab['class'] ? ' class="'. htmlspecialchars($tab['class']) .'"' : '';
|
||||||
|
$href = htmlspecialchars($tab['href']);
|
||||||
|
$tool = in_array( $action, array('edit', 'submit') ) &&
|
||||||
|
in_array( $key, array('edit', 'watch', 'unwatch') ) ?
|
||||||
|
$this->skin->tooltip( "ca-$key" ) : $this->skin->tooltipAndAccesskey( "ca-$key" );
|
||||||
|
$text = htmlspecialchars($tab['text']);
|
||||||
|
|
||||||
|
$alink = sprintf($this->_af, $href, $tool, $text);
|
||||||
|
$li .= sprintf($this->_lif, $id, $class, $alink);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf($this->_sideboxf, $title, $li);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*************************************************************************************************/
|
||||||
|
public function languageBox()
|
||||||
|
{
|
||||||
|
if( !$this->data['language_urls'] ) return;
|
||||||
|
|
||||||
|
$links = '';
|
||||||
|
foreach($this->data['language_urls'] as $langlink)
|
||||||
|
{
|
||||||
|
$links .= sprintf( $this->_lif,
|
||||||
|
'lang-'. htmlspecialchars($langlink['text']),
|
||||||
|
' class="'. htmlspecialchars($langlink['class']) .'"',
|
||||||
|
sprintf( $this->_af,
|
||||||
|
htmlspecialchars($langlink['href']),
|
||||||
|
'',
|
||||||
|
htmlspecialchars( $this->translator->translate($langlink['text']) )
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf( $this->_sideboxf, $this->html('userlangattributes'), htmlspecialchars( $this->translator->translate('otherlanguages') ), $links );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Custom Sidebox
|
||||||
|
*
|
||||||
|
* This is used to add a custom sidebox section.
|
||||||
|
*
|
||||||
|
* @param string $bar Unsure
|
||||||
|
* @param array|string $cont The content to add to the Sidebox. It can be
|
||||||
|
* an array of items to itterate over or an already
|
||||||
|
* processed string of data to add directly.
|
||||||
|
* @return string Prints out the formatted Sidebox syntax.
|
||||||
|
* @access public
|
||||||
|
* @todo Try making this method serve the other Sidebox methods in this class
|
||||||
|
* by processing the data for them and minimizing the code in them if possible.
|
||||||
|
*/
|
||||||
|
public function customBox( $bar, $cont )
|
||||||
|
{
|
||||||
|
$links = '';
|
||||||
|
$out = wfMsg( $bar );
|
||||||
|
$title = wfEmptyMsg($bar, $out) ? htmlspecialchars( $this->translator->translate($bar) ) :
|
||||||
|
htmlspecialchars( $this->translator->translate($out) );
|
||||||
|
|
||||||
|
if ( !is_array($cont) )
|
||||||
|
{
|
||||||
|
printf( $this->_sideboxf, $title, $cont );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($cont as $key => $val)
|
||||||
|
{
|
||||||
|
$links .= sprintf( $this->_lif,
|
||||||
|
Sanitizer::escapeId($val['id']),
|
||||||
|
($val['active'] ? ' class="active"':''),
|
||||||
|
sprintf( $this->_af,
|
||||||
|
htmlspecialchars($val['href']),
|
||||||
|
$this->skin->tooltipAndAccesskey($val['id']),
|
||||||
|
htmlspecialchars( $this->translator->translate($val['text']) )
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf($this->_sideboxf, $title, $links);
|
||||||
|
}
|
||||||
|
} // end of class
|
||||||
|
|
||||||
|
|
32
README.textile
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
h1. Mediawiki WordPress.org Codex Skin clone
|
||||||
|
|
||||||
|
p. This is a MediaWiki skin that clones the "WordPress.org Codex":http://wordpress.org/ theme.
|
||||||
|
*ALL* credit is due to the theme authors of the WordPress.org Codex since it's their work
|
||||||
|
and I just made into a public Mediawiki skin.
|
||||||
|
|
||||||
|
p. As far as I can tell, the theme falls under the same "GPL Licensing":http://codex.wordpress.org
|
||||||
|
as the rest of the Codex content.
|
||||||
|
If I am wrong about this, please let me know so I can honor it.
|
||||||
|
|
||||||
|
h2. About The Codex Skin
|
||||||
|
|
||||||
|
p. I ported the skin for a personal project I am working on and needed a localhost MediaWiki.
|
||||||
|
Since I spend a ton of time sifting through and making contributions where I can to the *WordPress.org Codex*,
|
||||||
|
I thought it would be much easier if my localhost wiki looked like the WordPress Codex
|
||||||
|
since it's a format I'm familiar with viewing.
|
||||||
|
|
||||||
|
p. While I was at it and since I had no luck finding a **WordPress Codex Skin Clone**,
|
||||||
|
I figured I'd share what I had come up with with the rest of those out there who just
|
||||||
|
love the familiar look of the Codex.
|
||||||
|
So here you have it, the *Codex Skin clone*.
|
||||||
|
|
||||||
|
h2. Feedback
|
||||||
|
|
||||||
|
p. Issue tracking on GitHub is by far the easiest way to make suggestions and report problems
|
||||||
|
since it allows me to check items off and keep things organized.
|
||||||
|
This is my first MediaWiki Skin, so I heavily-altered the *MonoBook* skin which provided the
|
||||||
|
base example code to work with and then I cleaned the code up while integrating the Codex design.
|
||||||
|
With that being said, there's bound to be issues such as things I missed, things I may have gotten wrong,
|
||||||
|
or perhaps there's better practices that those who are much more savvy at Skinning Mediawiki than I am know of.
|
||||||
|
|
||||||
|
p. This was a quick project and therefore your feedback is important in getting these things ironed out.
|
BIN
codex/arrow.png
Normal file
After Width: | Height: | Size: 140 B |
119
codex/body.php
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
<div id="header">
|
||||||
|
<div class="wrapper">
|
||||||
|
<h1><a href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href']); ?>" title="<?php $this->html('title'); ?>" /><?php $this->html('title'); ?></a></h1>
|
||||||
|
<?php $this->searchBox(); ?>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#" title="">Home</a></li>
|
||||||
|
<li><a href="#" title="">Showcase</a></li>
|
||||||
|
<li><a href="#" title="">Extend</a>
|
||||||
|
<ul class="nav-submenu">
|
||||||
|
<li><a href="#" title="">Plugins</a></li>
|
||||||
|
<li><a href="#" title="">Themes</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#" title="">About</a></li>
|
||||||
|
<li><a class="current" href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href']); ?>" title="Documentation, tutorials, best practices.">Docs</a></li>
|
||||||
|
<li><a href="#" title="">Blog</a></li>
|
||||||
|
|
||||||
|
<li><a href="#" title="">Forums</a></li>
|
||||||
|
<li><a href="#" title="">Hosting</a></li>
|
||||||
|
<li id="download"><a href="#" title="Get it. Got it? Good.">Download</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- #header -->
|
||||||
|
<div id="headline">
|
||||||
|
<div class="wrapper">
|
||||||
|
<h2>Codex</h2>
|
||||||
|
<div class="portlet" id="p-personal">
|
||||||
|
<p class="login">Codex tools:
|
||||||
|
<?php foreach($this->data['personal_urls'] as $key => $item) {
|
||||||
|
$linkf = '<a href="%s" class="%s" %s>%s</a>';
|
||||||
|
$class = $item['class'] .' '. ($item['active'] ? 'active':'');
|
||||||
|
printf( $linkf, htmlspecialchars($item['href']), $class, $skin->tooltipAndAccesskey('pt-'.$key), htmlspecialchars($item['text']) );
|
||||||
|
} ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- #headline -->
|
||||||
|
|
||||||
|
<div id="pagebody" <?php $this->html("specialpageattributes"); ?>>
|
||||||
|
<div class="wrapper">
|
||||||
|
<?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice'); ?></div><?php } ?>
|
||||||
|
<div id="bodyContent" class="col-10">
|
||||||
|
<h2 class="pagetitle"><?php $this->html('title'); ?></h2>
|
||||||
|
<!-- 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><!-- #bodyContent -->
|
||||||
|
<div class="col-2">
|
||||||
|
<?php $this->viewsBox(); ?>
|
||||||
|
<?php $this->toolBox(); ?>
|
||||||
|
<?php $this->languageBox(); ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- #pagebody -->
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
$sidebar = $this->data['sidebar'];
|
||||||
|
if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
|
||||||
|
if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
|
||||||
|
foreach ($sidebar as $boxName => $cont) {
|
||||||
|
if ( $boxName == 'TOOLBOX' ) {
|
||||||
|
$this->toolbox();
|
||||||
|
} elseif ( $boxName == 'LANGUAGES' ) {
|
||||||
|
$this->languageBox();
|
||||||
|
} else {
|
||||||
|
$this->customBox( $boxName, $cont );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div id="footer"<?php $this->html('userlangattributes') ?>>
|
||||||
|
<div class="wrapper">
|
||||||
|
<?php
|
||||||
|
// Generate additional footer links
|
||||||
|
$footerlinks = array(
|
||||||
|
'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
|
||||||
|
'privacy', 'about', 'disclaimer', 'tagline',
|
||||||
|
);
|
||||||
|
$validFooterLinks = array();
|
||||||
|
|
||||||
|
foreach( $footerlinks as $aLink ) {
|
||||||
|
if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
|
||||||
|
$validFooterLinks[] = $aLink;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( count( $validFooterLinks ) > 0 ) { ?>
|
||||||
|
<p>
|
||||||
|
<?php
|
||||||
|
$i = 0;
|
||||||
|
$c = count($validFooterLinks);
|
||||||
|
foreach( $validFooterLinks as $aLink )
|
||||||
|
{
|
||||||
|
if( isset( $this->data[$aLink] ) && $this->data[$aLink] )
|
||||||
|
{
|
||||||
|
$this->html($aLink);
|
||||||
|
echo $i < $c ? ' | ':'';
|
||||||
|
}
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
?> </p>
|
||||||
|
<?php } ?>
|
||||||
|
<h6>Code is Poetry</h6>
|
||||||
|
</div>
|
||||||
|
</div><!-- #footer -->
|
||||||
|
<?php
|
||||||
|
$this->html('bottomscripts'); /* JS call to runBodyOnloadHook */
|
||||||
|
$this->html('reporttime');
|
||||||
|
|
||||||
|
if( $this->data['debug'] ): ?>
|
||||||
|
<!-- Debug output:
|
||||||
|
<?php $this->text( 'debug' ); ?>
|
||||||
|
|
||||||
|
-->
|
||||||
|
<?php endif; ?>
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
codex/button-grad.png
Normal file
After Width: | Height: | Size: 243 B |
BIN
codex/codeispoetry.png
Normal file
After Width: | Height: | Size: 559 B |
BIN
codex/download-tab-bg.png
Normal file
After Width: | Height: | Size: 205 B |
BIN
codex/feedicon.png
Normal file
After Width: | Height: | Size: 724 B |
BIN
codex/feedicon10.png
Normal file
After Width: | Height: | Size: 415 B |
BIN
codex/header-bg.png
Normal file
After Width: | Height: | Size: 1012 B |
3
codex/iphone.css
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
html {-webkit-text-size-adjust: none;}
|
||||||
|
|
||||||
|
#header ul li a.current, #header ul li#download a.current {padding-bottom: 1px;}
|
229
codex/main.css
Executable file
@@ -0,0 +1,229 @@
|
|||||||
|
html * {
|
||||||
|
font-variant: normal !important;
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.printfooter, hr, .urlexpansion {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bodyContent h1, #bodyContent h2 {
|
||||||
|
font-family: Georgia, "Times New Roman", Times, serif;
|
||||||
|
font-size: 22px;
|
||||||
|
margin-bottom: 22px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
#bodyContent h2, #bodyContent h3, #bodyContent h4, #bodyContent h5, #bodyContent h6 {
|
||||||
|
font-family: Georgia, "Times New Roman", Times, serif;
|
||||||
|
border-bottom: 1px solid #dadada;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
#bodyContent h2.pagetitle {
|
||||||
|
font-family: "Lucida Grande", Verdana, Tahoma, Arial, sans-serif;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #666;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
.col-2 h3 {
|
||||||
|
margin-top: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bodyContent h2 {
|
||||||
|
margin-top: 22px;
|
||||||
|
margin-bottom: 11px;
|
||||||
|
}
|
||||||
|
.editsection {
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: normal !important;
|
||||||
|
font-family: "Lucida Grande", Verdana, Tahoma, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
#bodyContent h3 {
|
||||||
|
padding-bottom: 4px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
}
|
||||||
|
#bodyContent h2 {
|
||||||
|
font-size: 190%;
|
||||||
|
}
|
||||||
|
#bodyContent h3 {
|
||||||
|
font-size: 150%;
|
||||||
|
border-color: #eee;
|
||||||
|
}
|
||||||
|
#bodyContent h4 {
|
||||||
|
font-size: 130%;
|
||||||
|
}
|
||||||
|
h4 b {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
#bodyContent h5 {
|
||||||
|
font-size: 100%;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bodyContent {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
#bodyContent p {
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
#pagebody #bodyContent p,
|
||||||
|
#pagebody #bodyContent ul,
|
||||||
|
#pagebody #bodyContent dl,
|
||||||
|
#pagebody #bodyContent ol {
|
||||||
|
margin-bottom: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.login a {
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#editpage-copywarn p {
|
||||||
|
margin-top: 18px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
padding: 11px 22px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bodyContent div {
|
||||||
|
font-size: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bodyContent pre, #bodyContent code {
|
||||||
|
margin-bottom: 22px;
|
||||||
|
font-family: Consolas, Monaco, "Courier New", Courier, monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: inherit;
|
||||||
|
overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */
|
||||||
|
white-space: pre-wrap; /* css-3 */
|
||||||
|
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
|
||||||
|
white-space: -pre-wrap; /* Opera 4-6 */
|
||||||
|
white-space: -o-pre-wrap; /* Opera 7 */
|
||||||
|
/*messes up flow* width: 99%; /* remove horizontal scroll-bar when viewing in IE7 */
|
||||||
|
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl dt {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 110%;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl dd {
|
||||||
|
margin-bottom: 11px;
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toc {
|
||||||
|
background: #f1f1f1;
|
||||||
|
border: 1px solid #dadada;
|
||||||
|
-webkit-border-radius: 3px;
|
||||||
|
float: right;
|
||||||
|
margin-left: 16px;
|
||||||
|
padding: 4px 8px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
font-size: 85%;
|
||||||
|
max-width: 30%;
|
||||||
|
}
|
||||||
|
#pagebody #toc ul {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toctitle h2{
|
||||||
|
font-size: 18px;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 5%;
|
||||||
|
}
|
||||||
|
#toctitle td {
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toctitle td {
|
||||||
|
border-bottom: 1px solid #dadada;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tocinside td {
|
||||||
|
padding-top: 4px;
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tocindent p {
|
||||||
|
padding-left: 12px;
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tocindent .tocindent p {
|
||||||
|
padding-left: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="text"], input[type="password"] {
|
||||||
|
margin-right: 2px;
|
||||||
|
font-size: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
background: #f5f5f5;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
-moz-border-radius: 3px;
|
||||||
|
-khtml-border-radius: 3px;
|
||||||
|
-webkit-border-radius: 3px;
|
||||||
|
border-radius: 3px;
|
||||||
|
height: 14px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="checkbox"] {
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.diff { background:white; }
|
||||||
|
td.diff-otitle { background:#ffffff; }
|
||||||
|
td.diff-ntitle { background:#ffffff; }
|
||||||
|
td.diff-addedline {
|
||||||
|
background:#ccffcc;
|
||||||
|
font-size: smaller;
|
||||||
|
}
|
||||||
|
td.diff-deletedline {
|
||||||
|
background:#ffffaa;
|
||||||
|
font-size: smaller;
|
||||||
|
}
|
||||||
|
td.diff-context {
|
||||||
|
background:#eeeeee;
|
||||||
|
font-size: smaller;
|
||||||
|
}
|
||||||
|
span.diffchange { color: red; font-weight: bold; }
|
||||||
|
|
||||||
|
/* image css */
|
||||||
|
a img.alignright, .tright, .floatright, img.alignright, img.right {float:right; margin:0 0 1em 1em}
|
||||||
|
a img.alignleft, .tleft, .floatleft, img.alignleft, img.left {float:left; margin:0 1em 1em 0}
|
||||||
|
a img.aligncenter, img.aligncenter, img.center {display: block; margin-left: auto; margin-right: auto}
|
||||||
|
|
||||||
|
#bodyContent hr {
|
||||||
|
display: block !important;
|
||||||
|
border: 0;
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bodyContent #Copyedit {
|
||||||
|
border: solid 1px transparent;
|
||||||
|
-moz-border-radius: 3px;
|
||||||
|
-khtml-border-radius: 3px;
|
||||||
|
-webkit-border-radius: 3px;
|
||||||
|
background-color: #eef;
|
||||||
|
text-align: center;
|
||||||
|
padding: 1em 1em 1px 1em;
|
||||||
|
margin: 1em 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.new, .new:link, .new:visited { color: red !important; }
|
||||||
|
.new:hover, .new:active { text-decoration: underline !important; }
|
||||||
|
|
BIN
codex/step1.png
Normal file
After Width: | Height: | Size: 506 B |
BIN
codex/step2.png
Normal file
After Width: | Height: | Size: 544 B |
BIN
codex/step3.png
Normal file
After Width: | Height: | Size: 536 B |
BIN
codex/white-grad.png
Normal file
After Width: | Height: | Size: 261 B |
BIN
codex/wp3-logo.png
Normal file
After Width: | Height: | Size: 5.9 KiB |