first commit
39
templates/protostar/component.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage Templates.protostar
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
$app = JFactory::getApplication();
|
||||
$doc = JFactory::getDocument();
|
||||
$this->language = $doc->language;
|
||||
$this->direction = $doc->direction;
|
||||
|
||||
// Add JavaScript Frameworks
|
||||
JHtml::_('bootstrap.framework');
|
||||
|
||||
// Add Stylesheets
|
||||
$doc->addStyleSheet('templates/'.$this->template.'/css/template.css');
|
||||
|
||||
// Load optional rtl Bootstrap css and Bootstrap bugfixes
|
||||
JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction);
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
|
||||
<head>
|
||||
<jdoc:include type="head" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="<?php echo $this->baseurl ?>/media/jui/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="contentpane modal">
|
||||
<jdoc:include type="message" />
|
||||
<jdoc:include type="component" />
|
||||
</body>
|
||||
</html>
|
1
templates/protostar/css/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
7054
templates/protostar/css/template.css
Normal file
207
templates/protostar/error.php
Normal file
@ -0,0 +1,207 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage Templates.protostar
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
// Getting params from template
|
||||
$params = JFactory::getApplication()->getTemplate(true)->params;
|
||||
|
||||
$app = JFactory::getApplication();
|
||||
$doc = JFactory::getDocument();
|
||||
$this->language = $doc->language;
|
||||
$this->direction = $doc->direction;
|
||||
|
||||
// Detecting Active Variables
|
||||
$option = $app->input->getCmd('option', '');
|
||||
$view = $app->input->getCmd('view', '');
|
||||
$layout = $app->input->getCmd('layout', '');
|
||||
$task = $app->input->getCmd('task', '');
|
||||
$itemid = $app->input->getCmd('Itemid', '');
|
||||
$sitename = $app->getCfg('sitename');
|
||||
|
||||
if($task == "edit" || $layout == "form" )
|
||||
{
|
||||
$fullWidth = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$fullWidth = 0;
|
||||
}
|
||||
|
||||
// Add JavaScript Frameworks
|
||||
JHtml::_('bootstrap.framework');
|
||||
|
||||
// Add current user information
|
||||
$user = JFactory::getUser();
|
||||
|
||||
|
||||
// Logo file
|
||||
if ($params->get('logoFile'))
|
||||
{
|
||||
$logo = JUri::root() . $params->get('logoFile');
|
||||
}
|
||||
else
|
||||
{
|
||||
$logo = $this->baseurl . "/templates/" . $this->template . "/images/logo.png";
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
|
||||
<head>
|
||||
<title><?php echo $this->title; ?> <?php echo $this->error->getMessage();?></title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<meta name="language" content="<?php echo $this->language; ?>" />
|
||||
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" />
|
||||
|
||||
<?php
|
||||
$debug = JFactory::getConfig()->get('debug_lang');
|
||||
if ((defined('JDEBUG') && JDEBUG) || $debug)
|
||||
{
|
||||
?>
|
||||
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/media/cms/css/debug.css" type="text/css" />
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
// If Right-to-Left
|
||||
if ($this->direction == 'rtl')
|
||||
{
|
||||
?>
|
||||
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/media/jui/css/bootstrap-rtl.css" type="text/css" />
|
||||
<?php
|
||||
}
|
||||
// Use of Google Font
|
||||
if ($params->get('googleFont'))
|
||||
{
|
||||
?>
|
||||
<link href='http://fonts.googleapis.com/css?family=<?php echo $params->get('googleFontName');?>' rel='stylesheet' type='text/css'>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<link href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
|
||||
<?php
|
||||
// Template color
|
||||
if ($params->get('templateColor'))
|
||||
{
|
||||
?>
|
||||
<style type="text/css">
|
||||
body.site
|
||||
{
|
||||
border-top: 3px solid <?php echo $params->get('templateColor');?>;
|
||||
background-color: <?php echo $params->get('templateBackgroundColor');?>
|
||||
}
|
||||
a
|
||||
{
|
||||
color: <?php echo $params->get('templateColor');?>;
|
||||
}
|
||||
.navbar-inner, .nav-list > .active > a, .nav-list > .active > a:hover, .dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover, .nav-pills > .active > a, .nav-pills > .active > a:hover
|
||||
{
|
||||
background: <?php echo $params->get('templateColor');?>;
|
||||
}
|
||||
.navbar-inner
|
||||
{
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
|
||||
}
|
||||
</style>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="<?php echo $this->baseurl ?>/media/jui/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body class="site <?php echo $option
|
||||
. ' view-' . $view
|
||||
. ($layout ? ' layout-' . $layout : ' no-layout')
|
||||
. ($task ? ' task-' . $task : ' no-task')
|
||||
. ($itemid ? ' itemid-' . $itemid : '')
|
||||
. ($params->get('fluidContainer') ? ' fluid' : '');
|
||||
?>">
|
||||
|
||||
<!-- Body -->
|
||||
<div class="body">
|
||||
<div class="container<?php echo ($params->get('fluidContainer') ? '-fluid' : '');?>">
|
||||
<!-- Header -->
|
||||
<div class="header">
|
||||
<div class="header-inner clearfix">
|
||||
<a class="brand pull-left" href="<?php echo $this->baseurl; ?>">
|
||||
<img src="<?php echo $logo;?>" alt="<?php echo $sitename; ?>" />
|
||||
</a>
|
||||
<div class="header-search pull-right">
|
||||
<?php
|
||||
// Display position-0 modules
|
||||
echo $doc->getBuffer('modules', 'position-0', array('style' => 'none'));
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="navigation">
|
||||
<?php
|
||||
// Display position-1 modules
|
||||
echo $doc->getBuffer('modules', 'position-1', array('style' => 'none'));
|
||||
?>
|
||||
</div>
|
||||
<!-- Banner -->
|
||||
<div class="banner">
|
||||
<?php echo $doc->getBuffer('modules', 'banner', array('style' => 'xhtml')); ?>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div id="content" class="span12">
|
||||
<!-- Begin Content -->
|
||||
<h1 class="page-header"><?php echo JText::_('JERROR_LAYOUT_PAGE_NOT_FOUND'); ?></h1>
|
||||
<div class="well">
|
||||
<div class="row-fluid">
|
||||
<div class="span6">
|
||||
<p><strong><?php echo JText::_('JERROR_LAYOUT_ERROR_HAS_OCCURRED_WHILE_PROCESSING_YOUR_REQUEST'); ?></strong></p>
|
||||
<p><?php echo JText::_('JERROR_LAYOUT_NOT_ABLE_TO_VISIT'); ?></p>
|
||||
<ul>
|
||||
<li><?php echo JText::_('JERROR_LAYOUT_AN_OUT_OF_DATE_BOOKMARK_FAVOURITE'); ?></li>
|
||||
<li><?php echo JText::_('JERROR_LAYOUT_MIS_TYPED_ADDRESS'); ?></li>
|
||||
<li><?php echo JText::_('JERROR_LAYOUT_SEARCH_ENGINE_OUT_OF_DATE_LISTING'); ?></li>
|
||||
<li><?php echo JText::_('JERROR_LAYOUT_YOU_HAVE_NO_ACCESS_TO_THIS_PAGE'); ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="span6">
|
||||
<?php if (JModuleHelper::getModule('search')) : ?>
|
||||
<p><strong><?php echo JText::_('JERROR_LAYOUT_SEARCH'); ?></strong></p>
|
||||
<p><?php echo JText::_('JERROR_LAYOUT_SEARCH_PAGE'); ?></p>
|
||||
<?php echo $doc->getBuffer('module', 'search'); ?>
|
||||
<?php endif; ?>
|
||||
<p><?php echo JText::_('JERROR_LAYOUT_GO_TO_THE_HOME_PAGE'); ?></p>
|
||||
<p><a href="<?php echo $this->baseurl; ?>/index.php" class="btn"><i class="icon-home"></i> <?php echo JText::_('JERROR_LAYOUT_HOME_PAGE'); ?></a></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<p><?php echo JText::_('JERROR_LAYOUT_PLEASE_CONTACT_THE_SYSTEM_ADMINISTRATOR'); ?></p>
|
||||
<blockquote>
|
||||
<span class="label label-inverse"><?php echo $this->error->getCode(); ?></span> <?php echo $this->error->getMessage();?>
|
||||
</blockquote>
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Footer -->
|
||||
<div class="footer">
|
||||
<div class="container<?php echo ($params->get('fluidContainer') ? '-fluid' : '');?>">
|
||||
<hr />
|
||||
<?php echo $doc->getBuffer('modules', 'footer', array('style' => 'none')); ?>
|
||||
|
||||
<p class="pull-right"><a href="#top" id="back-top"><?php echo JText::_('TPL_PROTOSTAR_BACKTOTOP'); ?></a></p>
|
||||
<p>© <?php echo $sitename; ?> <?php echo date('Y');?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $doc->getBuffer('modules', 'debug', array('style' => 'none')); ?>
|
||||
</body>
|
||||
</html>
|
BIN
templates/protostar/favicon.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
1
templates/protostar/html/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
50
templates/protostar/html/modules.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage Templates.protostar
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
/**
|
||||
* This is a file to add template specific chrome to module rendering. To use it you would
|
||||
* set the style attribute for the given module(s) include in your template to use the style
|
||||
* for each given modChrome function.
|
||||
*
|
||||
* eg. To render a module mod_test in the submenu style, you would use the following include:
|
||||
* <jdoc:include type="module" name="test" style="submenu" />
|
||||
*
|
||||
* This gives template designers ultimate control over how modules are rendered.
|
||||
*
|
||||
* NOTICE: All chrome wrapping methods should be named: modChrome_{STYLE} and take the same
|
||||
* two arguments.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Module chrome for rendering the module in a submenu
|
||||
*/
|
||||
function modChrome_no($module, &$params, &$attribs)
|
||||
{
|
||||
if ($module->content)
|
||||
{
|
||||
echo $module->content;
|
||||
}
|
||||
}
|
||||
|
||||
function modChrome_well($module, &$params, &$attribs)
|
||||
{
|
||||
if ($module->content)
|
||||
{
|
||||
echo "<div class=\"well " . htmlspecialchars($params->get('moduleclass_sfx')) . "\">";
|
||||
if ($module->showtitle)
|
||||
{
|
||||
echo "<h3 class=\"page-header\">" . $module->title . "</h3>";
|
||||
}
|
||||
echo $module->content;
|
||||
echo "</div>";
|
||||
}
|
||||
}
|
||||
?>
|
226
templates/protostar/html/pagination.php
Normal file
@ -0,0 +1,226 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage Templates.protostar
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
/**
|
||||
* This is a file to add template specific chrome to pagination rendering.
|
||||
*
|
||||
* pagination_list_footer
|
||||
* Input variable $list is an array with offsets:
|
||||
* $list[limit] : int
|
||||
* $list[limitstart] : int
|
||||
* $list[total] : int
|
||||
* $list[limitfield] : string
|
||||
* $list[pagescounter] : string
|
||||
* $list[pageslinks] : string
|
||||
*
|
||||
* pagination_list_render
|
||||
* Input variable $list is an array with offsets:
|
||||
* $list[all]
|
||||
* [data] : string
|
||||
* [active] : boolean
|
||||
* $list[start]
|
||||
* [data] : string
|
||||
* [active] : boolean
|
||||
* $list[previous]
|
||||
* [data] : string
|
||||
* [active] : boolean
|
||||
* $list[next]
|
||||
* [data] : string
|
||||
* [active] : boolean
|
||||
* $list[end]
|
||||
* [data] : string
|
||||
* [active] : boolean
|
||||
* $list[pages]
|
||||
* [{PAGE}][data] : string
|
||||
* [{PAGE}][active] : boolean
|
||||
*
|
||||
* pagination_item_active
|
||||
* Input variable $item is an object with fields:
|
||||
* $item->base : integer
|
||||
* $item->link : string
|
||||
* $item->text : string
|
||||
*
|
||||
* pagination_item_inactive
|
||||
* Input variable $item is an object with fields:
|
||||
* $item->base : integer
|
||||
* $item->link : string
|
||||
* $item->text : string
|
||||
*
|
||||
* This gives template designers ultimate control over how pagination is rendered.
|
||||
*
|
||||
* NOTE: If you override pagination_item_active OR pagination_item_inactive you MUST override them both
|
||||
*/
|
||||
|
||||
/**
|
||||
* Renders the pagination footer
|
||||
*
|
||||
* @param array $list Array containing pagination footer
|
||||
*
|
||||
* @return string HTML markup for the full pagination footer
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
function pagination_list_footer($list)
|
||||
{
|
||||
$html = "<div class=\"pagination\">\n";
|
||||
$html .= $list['pageslinks'];
|
||||
$html .= "\n<input type=\"hidden\" name=\"" . $list['prefix'] . "limitstart\" value=\"" . $list['limitstart'] . "\" />";
|
||||
$html .= "\n</div>";
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders the pagination list
|
||||
*
|
||||
* @param array $list Array containing pagination information
|
||||
*
|
||||
* @return string HTML markup for the full pagination object
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
function pagination_list_render($list)
|
||||
{
|
||||
// Calculate to display range of pages
|
||||
$currentPage = 1;
|
||||
$range = 1;
|
||||
$step = 5;
|
||||
foreach ($list['pages'] as $k => $page)
|
||||
{
|
||||
if (!$page['active'])
|
||||
{
|
||||
$currentPage = $k;
|
||||
}
|
||||
}
|
||||
if ($currentPage >= $step)
|
||||
{
|
||||
if ($currentPage % $step == 0)
|
||||
{
|
||||
$range = ceil($currentPage / $step) + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$range = ceil($currentPage / $step);
|
||||
}
|
||||
}
|
||||
|
||||
$html = '<ul class="pagination-list">';
|
||||
$html .= $list['start']['data'];
|
||||
$html .= $list['previous']['data'];
|
||||
|
||||
foreach ($list['pages'] as $k => $page)
|
||||
{
|
||||
if (in_array($k, range($range * $step - ($step + 1), $range * $step)))
|
||||
{
|
||||
if (($k % $step == 0 || $k == $range * $step - ($step + 1)) && $k != $currentPage && $k != $range * $step - $step)
|
||||
{
|
||||
$page['data'] = preg_replace('#(<a.*?>).*?(</a>)#', '$1...$2', $page['data']);
|
||||
}
|
||||
}
|
||||
|
||||
$html .= $page['data'];
|
||||
}
|
||||
|
||||
$html .= $list['next']['data'];
|
||||
$html .= $list['end']['data'];
|
||||
|
||||
$html .= '</ul>';
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders an active item in the pagination block
|
||||
*
|
||||
* @param JPaginationObject $item The current pagination object
|
||||
*
|
||||
* @return string HTML markup for active item
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
function pagination_item_active(&$item)
|
||||
{
|
||||
// Check for "Start" item
|
||||
if ($item->text == JText::_('JLIB_HTML_START'))
|
||||
{
|
||||
$display = '<i class="icon-first"></i>';
|
||||
}
|
||||
|
||||
// Check for "Prev" item
|
||||
if ($item->text == JText::_('JPREV'))
|
||||
{
|
||||
$display = '<i class="icon-previous"></i>';
|
||||
}
|
||||
|
||||
// Check for "Next" item
|
||||
if ($item->text == JText::_('JNEXT'))
|
||||
{
|
||||
$display = '<i class="icon-next"></i>';
|
||||
}
|
||||
|
||||
// Check for "End" item
|
||||
if ($item->text == JText::_('JLIB_HTML_END'))
|
||||
{
|
||||
$display = '<i class="icon-last"></i>';
|
||||
}
|
||||
|
||||
// If the display object isn't set already, just render the item with its text
|
||||
if (!isset($display))
|
||||
{
|
||||
$display = $item->text;
|
||||
}
|
||||
|
||||
return "<li><a title=\"" . $item->text . "\" href=\"" . $item->link . "\" class=\"pagenav\">" . $display . "</a></li>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders an inactive item in the pagination block
|
||||
*
|
||||
* @param JPaginationObject $item The current pagination object
|
||||
*
|
||||
* @return string HTML markup for inactive item
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
function pagination_item_inactive(&$item)
|
||||
{
|
||||
// Check for "Start" item
|
||||
if ($item->text == JText::_('JLIB_HTML_START'))
|
||||
{
|
||||
return '<li class="disabled"><a><i class="icon-first"></i></a></li>';
|
||||
}
|
||||
|
||||
// Check for "Prev" item
|
||||
if ($item->text == JText::_('JPREV'))
|
||||
{
|
||||
return '<li class="disabled"><a><i class="icon-previous"></i></a></li>';
|
||||
}
|
||||
|
||||
// Check for "Next" item
|
||||
if ($item->text == JText::_('JNEXT'))
|
||||
{
|
||||
return '<li class="disabled"><a><i class="icon-next"></i></a></li>';
|
||||
}
|
||||
|
||||
// Check for "End" item
|
||||
if ($item->text == JText::_('JLIB_HTML_END'))
|
||||
{
|
||||
return '<li class="disabled"><a><i class="icon-last"></i></a></li>';
|
||||
}
|
||||
|
||||
// Check if the item is the active page
|
||||
if (isset($item->active) && ($item->active))
|
||||
{
|
||||
return '<li class="active"><a>' . $item->text . '</a></li>';
|
||||
}
|
||||
|
||||
// Doesn't match any other condition, render a normal item
|
||||
return '<li class="disabled"><a>' . $item->text . '</a></li>';
|
||||
}
|
1
templates/protostar/images/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
BIN
templates/protostar/images/logo.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
1
templates/protostar/images/system/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
BIN
templates/protostar/images/system/rating_star.png
Normal file
After Width: | Height: | Size: 363 B |
BIN
templates/protostar/images/system/rating_star_blank.png
Normal file
After Width: | Height: | Size: 358 B |
BIN
templates/protostar/images/system/sort_asc.png
Normal file
After Width: | Height: | Size: 305 B |
BIN
templates/protostar/images/system/sort_desc.png
Normal file
After Width: | Height: | Size: 319 B |
BIN
templates/protostar/img/glyphicons-halflings-white.png
Normal file
After Width: | Height: | Size: 8.6 KiB |
BIN
templates/protostar/img/glyphicons-halflings.png
Normal file
After Width: | Height: | Size: 12 KiB |
1
templates/protostar/img/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
203
templates/protostar/index.php
Normal file
@ -0,0 +1,203 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage Templates.protostar
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
// Getting params from template
|
||||
$params = JFactory::getApplication()->getTemplate(true)->params;
|
||||
|
||||
$app = JFactory::getApplication();
|
||||
$doc = JFactory::getDocument();
|
||||
$this->language = $doc->language;
|
||||
$this->direction = $doc->direction;
|
||||
|
||||
// Detecting Active Variables
|
||||
$option = $app->input->getCmd('option', '');
|
||||
$view = $app->input->getCmd('view', '');
|
||||
$layout = $app->input->getCmd('layout', '');
|
||||
$task = $app->input->getCmd('task', '');
|
||||
$itemid = $app->input->getCmd('Itemid', '');
|
||||
$sitename = $app->getCfg('sitename');
|
||||
|
||||
if($task == "edit" || $layout == "form" )
|
||||
{
|
||||
$fullWidth = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$fullWidth = 0;
|
||||
}
|
||||
|
||||
// Add JavaScript Frameworks
|
||||
JHtml::_('bootstrap.framework');
|
||||
$doc->addScript('templates/' .$this->template. '/js/template.js');
|
||||
|
||||
// Add Stylesheets
|
||||
$doc->addStyleSheet('templates/'.$this->template.'/css/template.css');
|
||||
|
||||
// Load optional RTL Bootstrap CSS
|
||||
JHtml::_('bootstrap.loadCss', false, $this->direction);
|
||||
|
||||
// Add current user information
|
||||
$user = JFactory::getUser();
|
||||
|
||||
// Adjusting content width
|
||||
if ($this->countModules('position-7') && $this->countModules('position-8'))
|
||||
{
|
||||
$span = "span6";
|
||||
}
|
||||
elseif ($this->countModules('position-7') && !$this->countModules('position-8'))
|
||||
{
|
||||
$span = "span9";
|
||||
}
|
||||
elseif (!$this->countModules('position-7') && $this->countModules('position-8'))
|
||||
{
|
||||
$span = "span9";
|
||||
}
|
||||
else
|
||||
{
|
||||
$span = "span12";
|
||||
}
|
||||
|
||||
// Logo file or site title param
|
||||
if ($this->params->get('logoFile'))
|
||||
{
|
||||
$logo = '<img src="'. JUri::root() . $this->params->get('logoFile') .'" alt="'. $sitename .'" />';
|
||||
}
|
||||
elseif ($this->params->get('sitetitle'))
|
||||
{
|
||||
$logo = '<span class="site-title" title="'. $sitename .'">'. htmlspecialchars($this->params->get('sitetitle')) .'</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$logo = '<span class="site-title" title="'. $sitename .'">'. $sitename .'</span>';
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<jdoc:include type="head" />
|
||||
<?php
|
||||
// Use of Google Font
|
||||
if ($this->params->get('googleFont'))
|
||||
{
|
||||
?>
|
||||
<link href='http://fonts.googleapis.com/css?family=<?php echo $this->params->get('googleFontName');?>' rel='stylesheet' type='text/css' />
|
||||
<style type="text/css">
|
||||
h1,h2,h3,h4,h5,h6,.site-title{
|
||||
font-family: '<?php echo str_replace('+', ' ', $this->params->get('googleFontName'));?>', sans-serif;
|
||||
}
|
||||
</style>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
// Template color
|
||||
if ($this->params->get('templateColor'))
|
||||
{
|
||||
?>
|
||||
<style type="text/css">
|
||||
body.site
|
||||
{
|
||||
border-top: 3px solid <?php echo $this->params->get('templateColor');?>;
|
||||
background-color: <?php echo $this->params->get('templateBackgroundColor');?>
|
||||
}
|
||||
a
|
||||
{
|
||||
color: <?php echo $this->params->get('templateColor');?>;
|
||||
}
|
||||
.navbar-inner, .nav-list > .active > a, .nav-list > .active > a:hover, .dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover, .nav-pills > .active > a, .nav-pills > .active > a:hover,
|
||||
.btn-primary
|
||||
{
|
||||
background: <?php echo $this->params->get('templateColor');?>;
|
||||
}
|
||||
.navbar-inner
|
||||
{
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
|
||||
}
|
||||
</style>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="<?php echo $this->baseurl ?>/media/jui/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body class="site <?php echo $option
|
||||
. ' view-' . $view
|
||||
. ($layout ? ' layout-' . $layout : ' no-layout')
|
||||
. ($task ? ' task-' . $task : ' no-task')
|
||||
. ($itemid ? ' itemid-' . $itemid : '')
|
||||
. ($params->get('fluidContainer') ? ' fluid' : '');
|
||||
?>">
|
||||
|
||||
<!-- Body -->
|
||||
<div class="body">
|
||||
<div class="container<?php echo ($params->get('fluidContainer') ? '-fluid' : '');?>">
|
||||
<!-- Header -->
|
||||
<header class="header" role="banner">
|
||||
<div class="header-inner clearfix">
|
||||
<a class="brand pull-left" href="<?php echo $this->baseurl; ?>">
|
||||
<?php echo $logo;?> <?php if ($this->params->get('sitedescription')) { echo '<div class="site-description">'. htmlspecialchars($this->params->get('sitedescription')) .'</div>'; } ?>
|
||||
</a>
|
||||
<div class="header-search pull-right">
|
||||
<jdoc:include type="modules" name="position-0" style="none" />
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<?php if ($this->countModules('position-1')) : ?>
|
||||
<nav class="navigation" role="navigation">
|
||||
<jdoc:include type="modules" name="position-1" style="none" />
|
||||
</nav>
|
||||
<?php endif; ?>
|
||||
<jdoc:include type="modules" name="banner" style="xhtml" />
|
||||
<div class="row-fluid">
|
||||
<?php if ($this->countModules('position-8')) : ?>
|
||||
<!-- Begin Sidebar -->
|
||||
<div id="sidebar" class="span3">
|
||||
<div class="sidebar-nav">
|
||||
<jdoc:include type="modules" name="position-8" style="xhtml" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Sidebar -->
|
||||
<?php endif; ?>
|
||||
<main id="content" role="main" class="<?php echo $span;?>">
|
||||
<!-- Begin Content -->
|
||||
<jdoc:include type="modules" name="position-3" style="xhtml" />
|
||||
<jdoc:include type="message" />
|
||||
<jdoc:include type="component" />
|
||||
<jdoc:include type="modules" name="position-2" style="none" />
|
||||
<!-- End Content -->
|
||||
</main>
|
||||
<?php if ($this->countModules('position-7')) : ?>
|
||||
<div id="aside" class="span3">
|
||||
<!-- Begin Right Sidebar -->
|
||||
<jdoc:include type="modules" name="position-7" style="well" />
|
||||
<!-- End Right Sidebar -->
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Footer -->
|
||||
<footer class="footer" role="contentinfo">
|
||||
<div class="container<?php echo ($params->get('fluidContainer') ? '-fluid' : '');?>">
|
||||
<hr />
|
||||
<jdoc:include type="modules" name="footer" style="none" />
|
||||
<p class="pull-right"><a href="#top" id="back-top"><?php echo JText::_('TPL_PROTOSTAR_BACKTOTOP'); ?></a></p>
|
||||
<p>© <?php echo $sitename; ?> <?php echo date('Y');?></p>
|
||||
</div>
|
||||
</footer>
|
||||
<jdoc:include type="modules" name="debug" style="none" />
|
||||
</body>
|
||||
</html>
|
7
templates/protostar/js/application.js
Normal file
@ -0,0 +1,7 @@
|
||||
$('.dropdown-toggle').dropdown()
|
||||
$('.collapse').collapse('show')
|
||||
$('#myModal').modal('hide')
|
||||
$('.typeahead').typeahead()
|
||||
$('.tabs').button()
|
||||
$('.tip').tooltip()
|
||||
$(".alert-message").alert()
|
45
templates/protostar/js/classes.js
Normal file
@ -0,0 +1,45 @@
|
||||
// Add classes
|
||||
|
||||
window.onload=function() {
|
||||
var input = document.getElementsByTagName("input");
|
||||
for (var i = 0; i < input.length; i++) {
|
||||
if (input[i].className == 'button') {
|
||||
input[i].className = 'btn btn-primary';
|
||||
}
|
||||
}
|
||||
|
||||
var button = document.getElementsByTagName("button");
|
||||
for (var i = 0; i < input.length; i++) {
|
||||
if (button[i].className == 'button') {
|
||||
button[i].className = 'btn btn-primary';
|
||||
}
|
||||
}
|
||||
|
||||
var p = document.getElementsByTagName("p");
|
||||
for (var i = 0; i < p.length; i++) {
|
||||
if (p[i].className == 'readmore') {
|
||||
p[i].className = 'btn';
|
||||
}
|
||||
}
|
||||
|
||||
var table = document.getElementsByTagName("table");
|
||||
for (var i = 0; i < table.length; i++) {
|
||||
if (table[i].className == 'category') {
|
||||
table[i].className = 'table table-striped';
|
||||
}
|
||||
}
|
||||
|
||||
var ul = document.getElementsByTagName("ul");
|
||||
for (var i = 0; i < ul.length; i++) {
|
||||
if (ul[i].className == 'actions') {
|
||||
ul[i].className = 'nav nav-pills';
|
||||
}
|
||||
}
|
||||
|
||||
var ul = document.getElementsByTagName("ul");
|
||||
for (var i = 0; i < ul.length; i++) {
|
||||
if (ul[i].className == 'pagenav') {
|
||||
ul[i].className = 'pagination';
|
||||
}
|
||||
}
|
||||
}
|
1
templates/protostar/js/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
45
templates/protostar/js/template.js
Normal file
@ -0,0 +1,45 @@
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage Templates.protostar
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
* @since 3.2
|
||||
*/
|
||||
|
||||
(function($)
|
||||
{
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('*[rel=tooltip]').tooltip()
|
||||
|
||||
// Turn radios into btn-group
|
||||
$('.radio.btn-group label').addClass('btn');
|
||||
$(".btn-group label:not(.active)").click(function()
|
||||
{
|
||||
var label = $(this);
|
||||
var input = $('#' + label.attr('for'));
|
||||
|
||||
if (!input.prop('checked')) {
|
||||
label.closest('.btn-group').find("label").removeClass('active btn-success btn-danger btn-primary');
|
||||
if (input.val() == '') {
|
||||
label.addClass('active btn-primary');
|
||||
} else if (input.val() == 0) {
|
||||
label.addClass('active btn-danger');
|
||||
} else {
|
||||
label.addClass('active btn-success');
|
||||
}
|
||||
input.prop('checked', true);
|
||||
}
|
||||
});
|
||||
$(".btn-group input[checked=checked]").each(function()
|
||||
{
|
||||
if ($(this).val() == '') {
|
||||
$("label[for=" + $(this).attr('id') + "]").addClass('active btn-primary');
|
||||
} else if ($(this).val() == 0) {
|
||||
$("label[for=" + $(this).attr('id') + "]").addClass('active btn-danger');
|
||||
} else {
|
||||
$("label[for=" + $(this).attr('id') + "]").addClass('active btn-success');
|
||||
}
|
||||
});
|
||||
})
|
||||
})(jQuery);
|
23
templates/protostar/language/en-GB/en-GB.tpl_protostar.ini
Normal file
@ -0,0 +1,23 @@
|
||||
; Joomla! Project
|
||||
; Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
TPL_PROTOSTAR_XML_DESCRIPTION="Continuing the space theme (Solarflare from 1.0 and Milkyway from 1.5), Protostar is the Joomla 3 site template based on Bootstrap from Twitter and the launch of the Joomla User Interface library (JUI)."
|
||||
|
||||
TPL_PROTOSTAR_BACKGROUND_COLOR_DESC="Choose a background colour for static layouts. Default is #F4F6F7"
|
||||
TPL_PROTOSTAR_BACKGROUND_COLOR_LABEL="Background Colour"
|
||||
TPL_PROTOSTAR_BACKTOTOP="Back to Top"
|
||||
TPL_PROTOSTAR_COLOR_LABEL="Template Colour"
|
||||
TPL_PROTOSTAR_COLOR_DESC="Choose an overall colour for the site template. Default is #08C"
|
||||
TPL_PROTOSTAR_FLUID="Fluid"
|
||||
TPL_PROTOSTAR_FLUID_LABEL="Fluid Layout"
|
||||
TPL_PROTOSTAR_FLUID_DESC="Use Bootstrap's Fluid or Static Container (both are Responsive)"
|
||||
TPL_PROTOSTAR_FONT_LABEL="Google Font for Headings"
|
||||
TPL_PROTOSTAR_FONT_DESC="Load a Google font for the headings (H1, H2, H3, etc.)"
|
||||
TPL_PROTOSTAR_FONT_NAME_LABEL="Google Font Name"
|
||||
TPL_PROTOSTAR_FONT_NAME_DESC="Example: Open+Sans or Source+Sans+Pro"
|
||||
TPL_PROTOSTAR_LOGO_LABEL="Logo"
|
||||
TPL_PROTOSTAR_LOGO_DESC="Upload a custom logo for the site template."
|
||||
TPL_PROTOSTAR_STATIC="Static"
|
||||
|
@ -0,0 +1,25 @@
|
||||
; Joomla! Project
|
||||
; Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
TPL_PROTOSTAR_POSITION_BANNER="Banner"
|
||||
TPL_PROTOSTAR_POSITION_DEBUG="Debug"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-0="Search"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-10="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-11="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-12="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-13="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-14="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-15="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-1="Navigation"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-2="Breadcrumbs"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-3="Top center"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-4="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-5="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-6="Unused"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-7="Right"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-8="Left"
|
||||
TPL_PROTOSTAR_POSITION_POSITION-9="Unused"
|
||||
TPL_PROTOSTAR_POSITION_FOOTER="Footer"
|
||||
TPL_PROTOSTAR_XML_DESCRIPTION="Continuing the space theme (Solarflare from 1.0 and Milkyway from 1.5), Protostar is the Joomla 3 site template based on Bootstrap from Twitter and the launch of the Joomla User Interface library (JUI)."
|
1
templates/protostar/language/en-GB/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
1
templates/protostar/language/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
466
templates/protostar/less/icomoon.less
Normal file
@ -0,0 +1,466 @@
|
||||
@font-face {
|
||||
font-family: 'IcoMoon';
|
||||
src: url('../../../media/jui/fonts/IcoMoon.eot');
|
||||
src: url('../../../media/jui/fonts/IcoMoon.eot?#iefix') format('embedded-opentype'),
|
||||
url('../../../media/jui/fonts/IcoMoon.woff') format('woff'),
|
||||
url('../../../media/jui/fonts/IcoMoon.ttf') format('truetype'),
|
||||
url('../../../media/jui/fonts/IcoMoon.svg#IcoMoon') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Use the following CSS code if you want to use data attributes for inserting your icons */
|
||||
[data-icon]:before {
|
||||
font-family: 'IcoMoon';
|
||||
content: attr(data-icon);
|
||||
speak: none;
|
||||
}
|
||||
|
||||
/* From Bootstrap */
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
display: inline-block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
.ie7-restore-right-whitespace();
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
/* Use the following CSS code if you want to have a class per icon */
|
||||
[class^="icon-"]:before, [class*=" icon-"]:before {
|
||||
font-family: 'IcoMoon';
|
||||
font-style: normal;
|
||||
speak: none;
|
||||
}
|
||||
.icon-home:before {
|
||||
content: "\21";
|
||||
}
|
||||
.icon-user:before {
|
||||
content: "\22";
|
||||
}
|
||||
.icon-checkedout:before,
|
||||
.icon-lock:before,
|
||||
.icon-locked:before {
|
||||
content: "\23";
|
||||
}
|
||||
.icon-comment:before,
|
||||
.icon-comments:before {
|
||||
content: "\24";
|
||||
}
|
||||
.icon-comments-2:before {
|
||||
content: "\25";
|
||||
}
|
||||
.icon-share-alt:before,
|
||||
.icon-out:before {
|
||||
content: "\26";
|
||||
}
|
||||
.icon-share:before,
|
||||
.icon-redo:before {
|
||||
content: "\27";
|
||||
}
|
||||
.icon-undo:before {
|
||||
content: "\28";
|
||||
}
|
||||
.icon-file-add:before {
|
||||
content: "\29";
|
||||
}
|
||||
.icon-new:before,
|
||||
.icon-plus:before {
|
||||
content: "\2a";
|
||||
}
|
||||
.icon-apply:before,
|
||||
.icon-edit:before,
|
||||
.icon-pencil:before {
|
||||
content: "\2b";
|
||||
}
|
||||
.icon-pencil-2:before {
|
||||
content: "\2c";
|
||||
}
|
||||
.icon-folder-open:before,
|
||||
.icon-folder:before {
|
||||
content: "\2d";
|
||||
}
|
||||
.icon-folder-close:before,
|
||||
.icon-folder-2:before {
|
||||
content: "\2e";
|
||||
}
|
||||
.icon-picture:before {
|
||||
content: "\2f";
|
||||
}
|
||||
.icon-pictures:before {
|
||||
content: "\30";
|
||||
}
|
||||
.icon-list:before,
|
||||
.icon-list-view:before {
|
||||
content: "\31";
|
||||
}
|
||||
.icon-power-cord:before {
|
||||
content: "\32";
|
||||
}
|
||||
.icon-cube:before {
|
||||
content: "\33";
|
||||
}
|
||||
.icon-puzzle:before {
|
||||
content: "\34";
|
||||
}
|
||||
.icon-flag:before {
|
||||
content: "\35";
|
||||
}
|
||||
.icon-tools:before {
|
||||
content: "\36";
|
||||
}
|
||||
.icon-cogs:before {
|
||||
content: "\37";
|
||||
}
|
||||
.icon-options:before,
|
||||
.icon-cog:before {
|
||||
content: "\38";
|
||||
}
|
||||
.icon-equalizer:before {
|
||||
content: "\39";
|
||||
}
|
||||
.icon-wrench:before {
|
||||
content: "\3a";
|
||||
}
|
||||
.icon-brush:before {
|
||||
content: "\3b";
|
||||
}
|
||||
.icon-eye-open:before,
|
||||
.icon-eye:before {
|
||||
content: "\3c";
|
||||
}
|
||||
.icon-checkbox-unchecked:before {
|
||||
content: "\3d";
|
||||
}
|
||||
.icon-checkin:before,
|
||||
.icon-checkbox:before {
|
||||
content: "\3e";
|
||||
}
|
||||
.icon-checkbox-partial:before {
|
||||
content: "\3f";
|
||||
}
|
||||
.icon-asterisk:before,
|
||||
.icon-star-empty:before {
|
||||
content: "\40";
|
||||
}
|
||||
.icon-star-2:before {
|
||||
content: "\41";
|
||||
}
|
||||
.icon-featured:before,
|
||||
.icon-star:before {
|
||||
content: "\42";
|
||||
}
|
||||
.icon-calendar:before {
|
||||
content: "\43";
|
||||
}
|
||||
.icon-calendar-2:before {
|
||||
content: "\44";
|
||||
}
|
||||
.icon-question-sign:before,
|
||||
.icon-help:before {
|
||||
content: "\45";
|
||||
}
|
||||
.icon-support:before {
|
||||
content: "\46";
|
||||
}
|
||||
.icon-pending:before,
|
||||
.icon-warning:before {
|
||||
content: "\48";
|
||||
}
|
||||
.icon-publish:before,
|
||||
.icon-save:before,
|
||||
.icon-ok:before,
|
||||
.icon-checkmark:before {
|
||||
content: "\47";
|
||||
}
|
||||
.icon-unpublish:before,
|
||||
.icon-cancel:before {
|
||||
content: "\4a";
|
||||
}
|
||||
.icon-eye-close:before,
|
||||
.icon-minus:before {
|
||||
content: "\4b";
|
||||
}
|
||||
.icon-purge:before,
|
||||
.icon-trash:before {
|
||||
content: "\4c";
|
||||
}
|
||||
.icon-envelope:before,
|
||||
.icon-mail:before {
|
||||
content: "\4d";
|
||||
}
|
||||
.icon-mail-2:before {
|
||||
content: "\4e";
|
||||
}
|
||||
.icon-unarchive:before,
|
||||
.icon-drawer:before {
|
||||
content: "\4f";
|
||||
}
|
||||
.icon-archive:before,
|
||||
.icon-drawer-2:before {
|
||||
content: "\50";
|
||||
}
|
||||
.icon-box-add:before {
|
||||
content: "\51";
|
||||
}
|
||||
.icon-box-remove:before {
|
||||
content: "\52";
|
||||
}
|
||||
.icon-search:before {
|
||||
content: "\53";
|
||||
}
|
||||
.icon-filter:before {
|
||||
content: "\54";
|
||||
}
|
||||
.icon-camera:before {
|
||||
content: "\55";
|
||||
}
|
||||
.icon-play:before {
|
||||
content: "\56";
|
||||
}
|
||||
.icon-music:before {
|
||||
content: "\57";
|
||||
}
|
||||
.icon-grid-view:before {
|
||||
content: "\58";
|
||||
}
|
||||
.icon-grid-view-2:before {
|
||||
content: "\59";
|
||||
}
|
||||
.icon-menu:before {
|
||||
content: "\5a";
|
||||
}
|
||||
.icon-thumbs-up:before {
|
||||
content: "\5b";
|
||||
}
|
||||
.icon-thumbs-down:before {
|
||||
content: "\5c";
|
||||
}
|
||||
.icon-delete:before,
|
||||
.icon-remove:before,
|
||||
.icon-cancel-2:before {
|
||||
content: "\49";
|
||||
}
|
||||
.icon-save-new:before,
|
||||
.icon-plus-2:before {
|
||||
content: "\5d";
|
||||
}
|
||||
.icon-ban-circle:before,
|
||||
.icon-minus-sign:before,
|
||||
.icon-minus-2:before {
|
||||
content: "\5e";
|
||||
}
|
||||
.icon-key:before {
|
||||
content: "\5f";
|
||||
}
|
||||
.icon-quote:before {
|
||||
content: "\60";
|
||||
}
|
||||
.icon-quote-2:before {
|
||||
content: "\61";
|
||||
}
|
||||
.icon-database:before {
|
||||
content: "\62";
|
||||
}
|
||||
.icon-location:before {
|
||||
content: "\63";
|
||||
}
|
||||
.icon-zoom-in:before {
|
||||
content: "\64";
|
||||
}
|
||||
.icon-zoom-out:before {
|
||||
content: "\65";
|
||||
}
|
||||
.icon-expand:before {
|
||||
content: "\66";
|
||||
}
|
||||
.icon-contract:before {
|
||||
content: "\67";
|
||||
}
|
||||
.icon-expand-2:before {
|
||||
content: "\68";
|
||||
}
|
||||
.icon-contract-2:before {
|
||||
content: "\69";
|
||||
}
|
||||
.icon-health:before {
|
||||
content: "\6a";
|
||||
}
|
||||
.icon-wand:before {
|
||||
content: "\6b";
|
||||
}
|
||||
.icon-unblock:before,
|
||||
.icon-refresh:before {
|
||||
content: "\6c";
|
||||
}
|
||||
.icon-vcard:before {
|
||||
content: "\6d";
|
||||
}
|
||||
.icon-clock:before {
|
||||
content: "\6e";
|
||||
}
|
||||
.icon-compass:before {
|
||||
content: "\6f";
|
||||
}
|
||||
.icon-address:before {
|
||||
content: "\70";
|
||||
}
|
||||
.icon-feed:before {
|
||||
content: "\71";
|
||||
}
|
||||
.icon-flag-2:before {
|
||||
content: "\72";
|
||||
}
|
||||
.icon-pin:before {
|
||||
content: "\73";
|
||||
}
|
||||
.icon-lamp:before {
|
||||
content: "\74";
|
||||
}
|
||||
.icon-chart:before {
|
||||
content: "\75";
|
||||
}
|
||||
.icon-bars:before {
|
||||
content: "\76";
|
||||
}
|
||||
.icon-pie:before {
|
||||
content: "\77";
|
||||
}
|
||||
.icon-dashboard:before {
|
||||
content: "\78";
|
||||
}
|
||||
.icon-lightning:before {
|
||||
content: "\79";
|
||||
}
|
||||
.icon-move:before {
|
||||
content: "\7a";
|
||||
}
|
||||
.icon-next:before {
|
||||
content: "\7b";
|
||||
}
|
||||
.icon-previous:before {
|
||||
content: "\7c";
|
||||
}
|
||||
.icon-first:before {
|
||||
content: "\7d";
|
||||
}
|
||||
.icon-last:before {
|
||||
content: "\e000";
|
||||
}
|
||||
.icon-loop:before {
|
||||
content: "\e001";
|
||||
}
|
||||
.icon-shuffle:before {
|
||||
content: "\e002";
|
||||
}
|
||||
.icon-arrow-first:before {
|
||||
content: "\e003";
|
||||
}
|
||||
.icon-arrow-last:before {
|
||||
content: "\e004";
|
||||
}
|
||||
.icon-chevron-up:before,
|
||||
.icon-uparrow:before,
|
||||
.icon-arrow-up:before {
|
||||
content: "\e005";
|
||||
}
|
||||
.icon-chevron-right:before,
|
||||
.icon-arrow-right:before {
|
||||
content: "\e006";
|
||||
}
|
||||
.icon-chevron-down:before,
|
||||
.icon-downarrow:before,
|
||||
.icon-arrow-down:before {
|
||||
content: "\e007";
|
||||
}
|
||||
.icon-chevron-left:before,
|
||||
.icon-arrow-left:before {
|
||||
content: "\e008";
|
||||
}
|
||||
.icon-arrow-up-2:before {
|
||||
content: "\e009";
|
||||
}
|
||||
.icon-arrow-right-2:before {
|
||||
content: "\e00a";
|
||||
}
|
||||
.icon-download:before,
|
||||
.icon-arrow-down-2:before {
|
||||
content: "\e00b";
|
||||
}
|
||||
.icon-arrow-left-2:before {
|
||||
content: "\e00c";
|
||||
}
|
||||
.icon-play-2:before {
|
||||
content: "\e00d";
|
||||
}
|
||||
.icon-menu-2:before {
|
||||
content: "\e00e";
|
||||
}
|
||||
.icon-arrow-up-3:before {
|
||||
content: "\e00f";
|
||||
}
|
||||
.icon-arrow-right-3:before {
|
||||
content: "\e010";
|
||||
}
|
||||
.icon-arrow-down-3:before {
|
||||
content: "\e011";
|
||||
}
|
||||
.icon-arrow-left-3:before {
|
||||
content: "\e012";
|
||||
}
|
||||
.icon-print:before,
|
||||
.icon-printer:before {
|
||||
content: "\e013";
|
||||
}
|
||||
.icon-color-palette:before {
|
||||
content: "\e014";
|
||||
}
|
||||
.icon-camera-2:before {
|
||||
content: "\e015";
|
||||
}
|
||||
.icon-file:before {
|
||||
content: "\e016";
|
||||
}
|
||||
.icon-file-remove:before {
|
||||
content: "\e017";
|
||||
}
|
||||
.icon-save-copy:before,
|
||||
.icon-copy:before {
|
||||
content: "\e018";
|
||||
}
|
||||
.icon-cart:before {
|
||||
content: "\e019";
|
||||
}
|
||||
.icon-basket:before {
|
||||
content: "\e01a";
|
||||
}
|
||||
.icon-broadcast:before {
|
||||
content: "\e01b";
|
||||
}
|
||||
.icon-screen:before {
|
||||
content: "\e01c";
|
||||
}
|
||||
.icon-tablet:before {
|
||||
content: "\e01d";
|
||||
}
|
||||
.icon-mobile:before {
|
||||
content: "\e01e";
|
||||
}
|
||||
.icon-users:before {
|
||||
content: "\e01f";
|
||||
}
|
||||
.icon-briefcase:before {
|
||||
content: "\e020";
|
||||
}
|
||||
.icon-download:before {
|
||||
content: "\e021";
|
||||
}
|
||||
.icon-upload:before {
|
||||
content: "\e022";
|
||||
}
|
||||
.icon-bookmark:before {
|
||||
content: "\e023";
|
||||
}
|
||||
.icon-out-2:before {
|
||||
content: "\e024";
|
||||
}
|
1
templates/protostar/less/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
522
templates/protostar/less/template.less
Normal file
@ -0,0 +1,522 @@
|
||||
// CSS Reset
|
||||
@import "../../../media/jui/less/reset.less";
|
||||
|
||||
// Core variables and mixins
|
||||
@import "variables.less"; // Custom for this template
|
||||
@import "../../../media/jui/less/mixins.less";
|
||||
|
||||
// Grid system and page structure
|
||||
@import "../../../media/jui/less/scaffolding.less";
|
||||
@import "../../../media/jui/less/grid.less";
|
||||
@import "../../../media/jui/less/layouts.less";
|
||||
|
||||
// Base CSS
|
||||
@import "../../../media/jui/less/type.less";
|
||||
@import "../../../media/jui/less/code.less";
|
||||
@import "../../../media/jui/less/forms.less";
|
||||
@import "../../../media/jui/less/tables.less";
|
||||
|
||||
// Components: common
|
||||
// @import "../../../media/jui/less/sprites.less";
|
||||
@import "../../../media/jui/less/dropdowns.less";
|
||||
@import "../../../media/jui/less/wells.less";
|
||||
@import "../../../media/jui/less/component-animations.less";
|
||||
@import "../../../media/jui/less/close.less";
|
||||
|
||||
// Components: Buttons & Alerts
|
||||
@import "../../../media/jui/less/buttons.less";
|
||||
@import "../../../media/jui/less/button-groups.less";
|
||||
@import "../../../media/jui/less/alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
|
||||
|
||||
// Components: Nav
|
||||
@import "../../../media/jui/less/navs.less";
|
||||
@import "../../../media/jui/less/navbar.less";
|
||||
@import "../../../media/jui/less/breadcrumbs.less";
|
||||
@import "../../../media/jui/less/pagination.less";
|
||||
@import "../../../media/jui/less/pager.less";
|
||||
|
||||
// Components: Popovers
|
||||
@import "../../../media/jui/less/modals.less";
|
||||
@import "../../../media/jui/less/tooltip.less";
|
||||
@import "../../../media/jui/less/popovers.less";
|
||||
|
||||
// Components: Misc
|
||||
@import "../../../media/jui/less/thumbnails.less";
|
||||
@import "../../../media/jui/less/labels-badges.less";
|
||||
@import "../../../media/jui/less/progress-bars.less";
|
||||
@import "../../../media/jui/less/accordion.less";
|
||||
@import "../../../media/jui/less/carousel.less";
|
||||
@import "../../../media/jui/less/hero-unit.less";
|
||||
|
||||
// Utility classes
|
||||
@import "../../../media/jui/less/utilities.less";
|
||||
|
||||
// RESPONSIVE CLASSES
|
||||
// ------------------
|
||||
|
||||
@import "../../../media/jui/less/responsive-utilities.less";
|
||||
|
||||
|
||||
// MEDIA QUERIES
|
||||
// ------------------
|
||||
|
||||
// Phones to portrait tablets and narrow desktops
|
||||
@import "../../../media/jui/less/responsive-767px-max.less";
|
||||
|
||||
// Tablets to regular desktops
|
||||
@import "../../../media/jui/less/responsive-768px-979px.less";
|
||||
|
||||
// Large desktops
|
||||
@import "../../../media/jui/less/responsive-1200px-min.less";
|
||||
|
||||
|
||||
// RESPONSIVE NAVBAR
|
||||
// ------------------
|
||||
|
||||
// From 979px and below, show a button to toggle navbar contents
|
||||
@import "../../../media/jui/less/responsive-navbar.less";
|
||||
|
||||
// Extended for JUI
|
||||
@import "../../../media/jui/less/bootstrap-extended.less"; // Has to be last to override when necessary
|
||||
// div.modal (instead of .modal)
|
||||
@import "../../../media/jui/less/modals.joomla.less";
|
||||
@import "../../../media/jui/less/responsive-767px-max.joomla.less";
|
||||
|
||||
// Icon Font
|
||||
@import "icomoon.less";
|
||||
|
||||
/* Site Body Styles */
|
||||
body.site{
|
||||
border-top:3px solid #0088cc;
|
||||
padding: 20px;
|
||||
background-color: #f4f6f7;
|
||||
}
|
||||
body.site.fluid{
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.thumbnail {
|
||||
margin-bottom:9px;
|
||||
}
|
||||
.accordion-group {
|
||||
background:#fff;
|
||||
}
|
||||
/* Site Title (if no logo) */
|
||||
.site-title {
|
||||
font-size: 40px;
|
||||
line-height: 48px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.brand {
|
||||
color: darken(@linkColor, 20%);
|
||||
.transition(color .5s linear);
|
||||
}
|
||||
.brand:hover {
|
||||
color: @linkColor;
|
||||
text-decoration: none;
|
||||
}
|
||||
/* Header */
|
||||
.header{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.header .finder {
|
||||
margin-top: 14px;
|
||||
}
|
||||
.header .finder .btn{
|
||||
margin-top: 0px;
|
||||
}
|
||||
/* Nav */
|
||||
.navigation{
|
||||
padding: 5px 0;
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.075);
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.075);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.navigation .nav-pills{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* Hero Banner Unit */
|
||||
.hero-unit{
|
||||
background-color: #08C;
|
||||
}
|
||||
.hero-unit > *{
|
||||
color: white;
|
||||
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
/* Container */
|
||||
.container{
|
||||
max-width: 960px;
|
||||
}
|
||||
.body .container{
|
||||
background-color: #fff;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
padding: 20px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.05);
|
||||
-webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
/* Wells */
|
||||
.well .page-header{
|
||||
margin: 0px 0px 5px 0px;
|
||||
}
|
||||
/* Headings */
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: (@baseLineHeight / 1.5) 0;
|
||||
}
|
||||
h1 { font-size: 26px; line-height: 28px; }
|
||||
h2 { font-size: 22px; line-height: 24px; }
|
||||
h3 { font-size: 18px; line-height: 20px; }
|
||||
h4 { font-size: 14px; line-height: 16px; }
|
||||
h5 { font-size: 13px; line-height: 15px; }
|
||||
h6 { font-size: 12px; line-height: 14px; }
|
||||
/* Module */
|
||||
.module-header {
|
||||
padding-bottom: 17px;
|
||||
margin: 20px 0 18px 0;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
/* Single Item */
|
||||
.item-title {
|
||||
margin-bottom:9px;
|
||||
}
|
||||
.item-content {
|
||||
margin:18px 0;
|
||||
}
|
||||
.item-subtitle {
|
||||
margin-bottom:9px;
|
||||
}
|
||||
.pull-right.item-image {
|
||||
margin:0 0 18px 20px;
|
||||
}
|
||||
.pull-left.item-image {
|
||||
margin:0 20px 18px 0;
|
||||
}
|
||||
.header .nav > li:last-child > .dropdown-menu,
|
||||
.item-actions .dropdown-menu,
|
||||
.item-comment .dropdown-menu {
|
||||
left:initial;
|
||||
right:0;
|
||||
}
|
||||
.article-index {
|
||||
margin:0 0 10px 10px;
|
||||
}
|
||||
/* List */
|
||||
.list-item-title {
|
||||
margin-bottom:9px;
|
||||
}
|
||||
.list-item-content {
|
||||
margin:18px 0;
|
||||
}
|
||||
.list-item-subtitle {
|
||||
margin-bottom:9px;
|
||||
}
|
||||
/* More Items */
|
||||
.items-more,
|
||||
.content-links {
|
||||
padding: 15px 0;
|
||||
}
|
||||
/* Breadcrumbs */
|
||||
.breadcrumb {
|
||||
margin: 10px 0;
|
||||
}
|
||||
/* Caption fixes */
|
||||
.img_caption .left {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.img_caption .right {
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.img_caption .left p {
|
||||
clear: left;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.img_caption .right p {
|
||||
clear: right;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.img_caption {
|
||||
text-align: center!important;
|
||||
}
|
||||
|
||||
.img_caption.none {
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
}
|
||||
/* Aside Subnavs */
|
||||
#aside .nav .nav-child {
|
||||
border-left: 2px solid @tableBorder;
|
||||
padding-left: 5px;
|
||||
}
|
||||
/* Navigation Submenus */
|
||||
// The dropdown menu (ul)
|
||||
// ----------------------
|
||||
.navigation {
|
||||
.nav-child {
|
||||
position: absolute;
|
||||
top: 95%;
|
||||
left: 0;
|
||||
z-index: @zindexDropdown;
|
||||
display: none; // none by default, but block on "open" of the menu
|
||||
float: left;
|
||||
min-width: 160px;
|
||||
padding: 5px 0;
|
||||
margin: 2px 0 0; // override default ul
|
||||
list-style: none;
|
||||
background-color: @dropdownBackground;
|
||||
border: 1px solid #ccc; // Fallback for IE7-8
|
||||
border: 1px solid @dropdownBorder;
|
||||
*border-right-width: 2px;
|
||||
*border-bottom-width: 2px;
|
||||
.border-radius(6px);
|
||||
.box-shadow(0 5px 10px rgba(0,0,0,.2));
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
|
||||
// Aligns the dropdown menu to right
|
||||
&.pull-right {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
// Dividers (basically an hr) within the dropdown
|
||||
.divider {
|
||||
.nav-divider(@dropdownDividerTop, @dropdownDividerBottom);
|
||||
}
|
||||
|
||||
// Links within the dropdown menu
|
||||
a {
|
||||
display: block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-size: @baseFontSize;
|
||||
font-weight: normal;
|
||||
line-height: @baseLineHeight;
|
||||
color: @dropdownLinkColor;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
.nav > li {
|
||||
position: relative;
|
||||
}
|
||||
.nav > li:hover > .nav-child,
|
||||
.nav > li > a:focus + .nav-child, {
|
||||
display: block;
|
||||
}
|
||||
.nav-child:before {
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
left: 9px;
|
||||
display: inline-block;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-left: 7px solid transparent;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
content: '';
|
||||
}
|
||||
.nav-child:after {
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: 10px;
|
||||
display: inline-block;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #ffffff;
|
||||
border-left: 6px solid transparent;
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
|
||||
// Hover state
|
||||
// -----------
|
||||
.navigation .nav-child li > a:hover,
|
||||
.navigation .nav-child li > a:focus,
|
||||
.navigation .nav-child:hover > a {
|
||||
text-decoration: none;
|
||||
color: @dropdownLinkColorHover;
|
||||
background-color: @dropdownLinkBackgroundHover;
|
||||
#gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.item-info > span {
|
||||
display:block;
|
||||
}
|
||||
.blog-item .pull-right.item-image {
|
||||
margin:0 0 18px 0;
|
||||
}
|
||||
.blog-item .pull-left.item-image {
|
||||
margin:0 0 18px 0;
|
||||
float:none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
body {
|
||||
padding-top: 0;
|
||||
}
|
||||
.header {
|
||||
background:transparent;
|
||||
}
|
||||
.header .brand {
|
||||
float:none;
|
||||
display:block;
|
||||
text-align:center;
|
||||
}
|
||||
.header .nav.pull-right,
|
||||
.header-search {
|
||||
float:none;
|
||||
display:block;
|
||||
}
|
||||
.header-search form {
|
||||
margin: 0;
|
||||
}
|
||||
.header-search .search-query {
|
||||
width: 90%;
|
||||
}
|
||||
.header .nav-pills > li > a {
|
||||
border: 1px solid @tableBorder;
|
||||
border-bottom:0;
|
||||
margin:0;
|
||||
-webkit-border-radius: 0;
|
||||
-moz-border-radius: 0;
|
||||
border-radius: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
.header .nav-pills > li:first-child > a {
|
||||
-webkit-border-radius: 4px 4px 0 0;
|
||||
-moz-border-radius: 4px 4px 0 0;
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
.header .nav-pills > li:last-child > a {
|
||||
-webkit-border-radius: 0 0 4px 4px;
|
||||
-moz-border-radius: 0 0 4px 4px;
|
||||
border-radius: 0 0 4px 4px;
|
||||
border-bottom:1px solid @tableBorder;
|
||||
}
|
||||
.modal.fade {
|
||||
top:-100%;
|
||||
}
|
||||
.nav-tabs {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.nav-tabs > li {
|
||||
float: none;
|
||||
}
|
||||
.nav-tabs > li > a {
|
||||
border: 1px solid @tableBorder;
|
||||
-webkit-border-radius: 0;
|
||||
-moz-border-radius: 0;
|
||||
border-radius: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
.nav-tabs > li:first-child > a {
|
||||
-webkit-border-radius: 4px 4px 0 0;
|
||||
-moz-border-radius: 4px 4px 0 0;
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
.nav-tabs > li:last-child > a, .nav-tabs > .active:last-child > a {
|
||||
-webkit-border-radius: 0 0 4px 4px;
|
||||
-moz-border-radius: 0 0 4px 4px;
|
||||
border-radius: 0 0 4px 4px;
|
||||
border-bottom:1px solid @tableBorder;
|
||||
}
|
||||
.nav-tabs > li > a:hover {
|
||||
border-color: @tableBorder;
|
||||
z-index: 2;
|
||||
}
|
||||
.nav-tabs.nav-dark > li > a {
|
||||
border: 1px solid @grayDark;
|
||||
}
|
||||
.nav-tabs > li:last-child > a, .nav-tabs > .active:last-child > a {
|
||||
border-bottom:1px solid @grayDark;
|
||||
}
|
||||
.nav-tabs.nav-dark > li > a:hover {
|
||||
border-color: @grayDark;
|
||||
}
|
||||
.nav-pills > li {
|
||||
float: none;
|
||||
}
|
||||
.nav-pills > li > a {
|
||||
margin-right: 0;
|
||||
}
|
||||
.nav-pills > li > a {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
.nav-pills > li:last-child > a {
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.form-search > .pull-left,
|
||||
.form-search > .pull-right {
|
||||
float:none;
|
||||
display:block;
|
||||
margin-bottom:9px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 980px) {
|
||||
.navbar-fixed-top {
|
||||
margin-bottom:0!important;
|
||||
}
|
||||
.item-comment .item-image{
|
||||
display:none;
|
||||
}
|
||||
.well {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 768px) and (max-width: 979px) {
|
||||
#login-form .input-small {
|
||||
width: 62px;
|
||||
}
|
||||
}
|
||||
// Page break
|
||||
dl.tabs {
|
||||
float: left;
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
dl.tabs dt.tabs {
|
||||
float: left;
|
||||
margin-left: 3px;
|
||||
padding: 4px 10px;
|
||||
background-color: #F0F0F0;
|
||||
border-top: 1px solid #CCC;
|
||||
border-left: 1px solid #CCC;
|
||||
border-right: 1px solid #CCC;
|
||||
}
|
||||
dl.tabs dt:hover {
|
||||
background-color: #F9F9F9;
|
||||
}
|
||||
dl.tabs dt.open {
|
||||
background-color: #FFF;
|
||||
border-bottom: 1px solid #FFF;
|
||||
}
|
||||
dl.tabs dt.tabs h3 {
|
||||
margin: 0;
|
||||
font-size: 1.1em;
|
||||
font-weight: normal;
|
||||
}
|
||||
dl.tabs dt.tabs h3 a {
|
||||
color: #0088CC;
|
||||
}
|
||||
dl.tabs dt.tabs h3 a:hover {
|
||||
color: #005580;
|
||||
text-decoration: none;
|
||||
}
|
||||
dl.tabs dt.open h3 a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
div.current dd.tabs {
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
clear: both;
|
||||
border: 1px solid #CCC;
|
||||
background-color: #FFF;
|
||||
}
|
308
templates/protostar/less/variables.less
Normal file
@ -0,0 +1,308 @@
|
||||
//
|
||||
// Variables
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// Global values
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// Grays
|
||||
// -------------------------
|
||||
@black: #000;
|
||||
@grayDarker: #222;
|
||||
@grayDark: #333;
|
||||
@gray: #555;
|
||||
@grayLight: #999;
|
||||
@grayLighter: #eee;
|
||||
@white: #fff;
|
||||
|
||||
|
||||
// Accent colors
|
||||
// -------------------------
|
||||
@blue: #049cdb;
|
||||
@blueDark: #0064cd;
|
||||
@green: #46a546;
|
||||
@red: #9d261d;
|
||||
@yellow: #ffc40d;
|
||||
@orange: #f89406;
|
||||
@pink: #c3325f;
|
||||
@purple: #7a43b6;
|
||||
|
||||
|
||||
// Scaffolding
|
||||
// -------------------------
|
||||
@bodyBackground: @white;
|
||||
@textColor: @grayDark;
|
||||
|
||||
|
||||
// Links
|
||||
// -------------------------
|
||||
@linkColor: #08c;
|
||||
@linkColorHover: darken(@linkColor, 15%);
|
||||
|
||||
|
||||
// Typography
|
||||
// -------------------------
|
||||
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
|
||||
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
|
||||
|
||||
/* >>> JUI >>> */
|
||||
@baseFontSize: 13px;
|
||||
/* <<< JUI <<< */
|
||||
@baseFontFamily: @sansFontFamily;
|
||||
/* >>> JUI >>> */
|
||||
@baseLineHeight: 18px;
|
||||
/* <<< JUI <<< */
|
||||
@altFontFamily: @serifFontFamily;
|
||||
|
||||
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
|
||||
@headingsFontWeight: bold; // instead of browser default, bold
|
||||
@headingsColor: inherit; // empty to use BS default, @textColor
|
||||
|
||||
|
||||
// Component sizing
|
||||
// -------------------------
|
||||
// Based on 14px font-size and 20px line-height
|
||||
|
||||
@fontSizeLarge: @baseFontSize * 1.25; // ~18px
|
||||
/* >>> JUI >>> */
|
||||
@fontSizeSmall: ceil(@baseFontSize * 0.90); // ~12px
|
||||
/* <<< JUI <<< */
|
||||
@fontSizeMini: @baseFontSize * 0.75; // ~11px
|
||||
|
||||
@paddingLarge: 11px 19px; // 44px
|
||||
@paddingSmall: 2px 10px; // 26px
|
||||
@paddingMini: 0 6px; // 22px
|
||||
|
||||
@baseBorderRadius: 4px;
|
||||
@borderRadiusLarge: 6px;
|
||||
@borderRadiusSmall: 3px;
|
||||
|
||||
|
||||
// Tables
|
||||
// -------------------------
|
||||
@tableBackground: transparent; // overall background-color
|
||||
@tableBackgroundAccent: #f9f9f9; // for striping
|
||||
@tableBackgroundHover: #f5f5f5; // for hover
|
||||
@tableBorder: #ddd; // table and cell border
|
||||
|
||||
// Buttons
|
||||
// -------------------------
|
||||
@btnBackground: @white;
|
||||
@btnBackgroundHighlight: darken(@white, 10%);
|
||||
@btnBorder: #bbb;
|
||||
|
||||
@btnPrimaryBackground: @linkColor;
|
||||
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 20%);
|
||||
|
||||
@btnInfoBackground: #5bc0de;
|
||||
@btnInfoBackgroundHighlight: #2f96b4;
|
||||
|
||||
@btnSuccessBackground: #62c462;
|
||||
@btnSuccessBackgroundHighlight: #51a351;
|
||||
|
||||
@btnWarningBackground: lighten(@orange, 15%);
|
||||
@btnWarningBackgroundHighlight: @orange;
|
||||
|
||||
@btnDangerBackground: #ee5f5b;
|
||||
@btnDangerBackgroundHighlight: #bd362f;
|
||||
|
||||
@btnInverseBackground: #444;
|
||||
@btnInverseBackgroundHighlight: @grayDarker;
|
||||
|
||||
|
||||
// Forms
|
||||
// -------------------------
|
||||
@inputBackground: @white;
|
||||
@inputBorder: #ccc;
|
||||
@inputBorderRadius: 3px;
|
||||
@inputDisabledBackground: @grayLighter;
|
||||
@formActionsBackground: #f5f5f5;
|
||||
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
|
||||
|
||||
|
||||
// Dropdowns
|
||||
// -------------------------
|
||||
@dropdownBackground: @white;
|
||||
@dropdownBorder: rgba(0,0,0,.2);
|
||||
@dropdownDividerTop: #e5e5e5;
|
||||
@dropdownDividerBottom: @white;
|
||||
|
||||
@dropdownLinkColor: @grayDark;
|
||||
@dropdownLinkColorHover: @white;
|
||||
@dropdownLinkColorActive: @dropdownLinkColor;
|
||||
|
||||
@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
|
||||
@dropdownLinkBackgroundActive: @linkColor;
|
||||
|
||||
|
||||
|
||||
// COMPONENT VARIABLES
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// Z-index master list
|
||||
// -------------------------
|
||||
// Used for a bird's eye view of components dependent on the z-axis
|
||||
// Try to avoid customizing these :)
|
||||
@zindexDropdown: 1000;
|
||||
@zindexPopover: 1010;
|
||||
@zindexTooltip: 1030;
|
||||
@zindexFixedNavbar: 1030;
|
||||
@zindexModalBackdrop: 1040;
|
||||
@zindexModal: 1050;
|
||||
|
||||
|
||||
// Sprite icons path
|
||||
// -------------------------
|
||||
@iconSpritePath: "../img/glyphicons-halflings.png";
|
||||
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
|
||||
|
||||
|
||||
// Input placeholder text color
|
||||
// -------------------------
|
||||
@placeholderText: @grayLight;
|
||||
|
||||
|
||||
// Hr border color
|
||||
// -------------------------
|
||||
@hrBorder: @grayLighter;
|
||||
|
||||
|
||||
// Horizontal forms & lists
|
||||
// -------------------------
|
||||
@horizontalComponentOffset: 180px;
|
||||
|
||||
|
||||
// Wells
|
||||
// -------------------------
|
||||
@wellBackground: #f5f5f5;
|
||||
|
||||
|
||||
// Navbar
|
||||
// -------------------------
|
||||
@navbarCollapseWidth: 979px;
|
||||
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
|
||||
|
||||
@navbarHeight: 40px;
|
||||
@navbarBackgroundHighlight: #ffffff;
|
||||
@navbarBackground: darken(@navbarBackgroundHighlight, 5%);
|
||||
@navbarBorder: darken(@navbarBackground, 12%);
|
||||
|
||||
@navbarText: @gray;
|
||||
@navbarLinkColor: @gray;
|
||||
@navbarLinkColorHover: @grayDark;
|
||||
@navbarLinkColorActive: @gray;
|
||||
@navbarLinkBackgroundHover: transparent;
|
||||
@navbarLinkBackgroundActive: darken(@navbarBackground, 5%);
|
||||
|
||||
@navbarBrandColor: @navbarLinkColor;
|
||||
|
||||
// Inverted navbar
|
||||
@navbarInverseBackground: #111111;
|
||||
@navbarInverseBackgroundHighlight: #222222;
|
||||
@navbarInverseBorder: #252525;
|
||||
|
||||
@navbarInverseText: @grayLight;
|
||||
@navbarInverseLinkColor: @grayLight;
|
||||
@navbarInverseLinkColorHover: @white;
|
||||
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
|
||||
@navbarInverseLinkBackgroundHover: transparent;
|
||||
@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
|
||||
|
||||
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
|
||||
@navbarInverseSearchBackgroundFocus: @white;
|
||||
@navbarInverseSearchBorder: @navbarInverseBackground;
|
||||
@navbarInverseSearchPlaceholderColor: #ccc;
|
||||
|
||||
@navbarInverseBrandColor: @navbarInverseLinkColor;
|
||||
|
||||
|
||||
// Pagination
|
||||
// -------------------------
|
||||
@paginationBackground: #fff;
|
||||
@paginationBorder: #ddd;
|
||||
@paginationActiveBackground: #f5f5f5;
|
||||
|
||||
|
||||
// Hero unit
|
||||
// -------------------------
|
||||
@heroUnitBackground: @grayLighter;
|
||||
@heroUnitHeadingColor: inherit;
|
||||
@heroUnitLeadColor: inherit;
|
||||
|
||||
|
||||
// Form states and alerts
|
||||
// -------------------------
|
||||
@warningText: #c09853;
|
||||
@warningBackground: #fcf8e3;
|
||||
@warningBorder: darken(spin(@warningBackground, -10), 3%);
|
||||
|
||||
@errorText: #b94a48;
|
||||
@errorBackground: #f2dede;
|
||||
@errorBorder: darken(spin(@errorBackground, -10), 3%);
|
||||
|
||||
@successText: #468847;
|
||||
@successBackground: #dff0d8;
|
||||
@successBorder: darken(spin(@successBackground, -10), 5%);
|
||||
|
||||
@infoText: #3a87ad;
|
||||
@infoBackground: #d9edf7;
|
||||
@infoBorder: darken(spin(@infoBackground, -10), 7%);
|
||||
|
||||
|
||||
// Tooltips and popovers
|
||||
// -------------------------
|
||||
@tooltipColor: #fff;
|
||||
@tooltipBackground: #000;
|
||||
@tooltipArrowWidth: 5px;
|
||||
@tooltipArrowColor: @tooltipBackground;
|
||||
|
||||
@popoverBackground: #fff;
|
||||
@popoverArrowWidth: 10px;
|
||||
@popoverArrowColor: #fff;
|
||||
@popoverTitleBackground: darken(@popoverBackground, 3%);
|
||||
|
||||
// Special enhancement for popovers
|
||||
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
|
||||
@popoverArrowOuterColor: rgba(0,0,0,.25);
|
||||
|
||||
|
||||
|
||||
// GRID
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// Default 940px grid
|
||||
// -------------------------
|
||||
@gridColumns: 12;
|
||||
@gridColumnWidth: 60px;
|
||||
@gridGutterWidth: 20px;
|
||||
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
|
||||
/* >>> JUI >>> */
|
||||
// 1200px min
|
||||
@gridColumnWidth1200: 60px;
|
||||
@gridGutterWidth1200: 20px;
|
||||
@gridRowWidth1200: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
|
||||
|
||||
// 768px-979px
|
||||
@gridColumnWidth768: 42px;
|
||||
@gridGutterWidth768: 20px;
|
||||
@gridRowWidth768: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
|
||||
|
||||
|
||||
// Fluid grid
|
||||
// -------------------------
|
||||
@fluidGridColumnWidth: 6.382978723%;
|
||||
@fluidGridGutterWidth: 2.127659574%;
|
||||
|
||||
// 1200px min
|
||||
@fluidGridColumnWidth1200: 6.382978723%;
|
||||
@fluidGridGutterWidth1200: 2.127659574%;
|
||||
|
||||
// 768px-979px
|
||||
@fluidGridColumnWidth768: 6.382978723%;
|
||||
@fluidGridGutterWidth768: 2.127659574%;
|
||||
/* <<< JUI <<< */
|
104
templates/protostar/templateDetails.xml
Normal file
@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE install PUBLIC "-//Joomla! 2.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/2.5/template-install.dtd">
|
||||
<extension version="3.1" type="template" client="site">
|
||||
<name>protostar</name>
|
||||
<version>1.0</version>
|
||||
<creationDate>4/30/2012</creationDate>
|
||||
<author>Kyle Ledbetter</author>
|
||||
<authorEmail>admin@joomla.org</authorEmail>
|
||||
<copyright>Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.</copyright>
|
||||
<description>TPL_PROTOSTAR_XML_DESCRIPTION</description>
|
||||
<files>
|
||||
<filename>component.php</filename>
|
||||
<filename>error.php</filename>
|
||||
<filename>favicon.ico</filename>
|
||||
<filename>index.php</filename>
|
||||
<filename>templateDetails.xml</filename>
|
||||
<filename>template_preview.png</filename>
|
||||
<filename>template_thumbnail.png</filename>
|
||||
<folder>css</folder>
|
||||
<folder>html</folder>
|
||||
<folder>images</folder>
|
||||
<folder>img</folder>
|
||||
<folder>js</folder>
|
||||
<folder>language</folder>
|
||||
<folder>less</folder>
|
||||
</files>
|
||||
<positions>
|
||||
<position>banner</position>
|
||||
<position>debug</position>
|
||||
<position>position-0</position>
|
||||
<position>position-1</position>
|
||||
<position>position-2</position>
|
||||
<position>position-3</position>
|
||||
<position>position-4</position>
|
||||
<position>position-5</position>
|
||||
<position>position-6</position>
|
||||
<position>position-7</position>
|
||||
<position>position-8</position>
|
||||
<position>position-9</position>
|
||||
<position>position-10</position>
|
||||
<position>position-11</position>
|
||||
<position>position-12</position>
|
||||
<position>position-13</position>
|
||||
<position>position-14</position>
|
||||
<position>footer</position>
|
||||
</positions>
|
||||
<languages folder="language">
|
||||
<language tag="en-GB">en-GB/en-GB.tpl_protostar.ini</language>
|
||||
<language tag="en-GB">en-GB/en-GB.tpl_protostar.sys.ini</language>
|
||||
</languages>
|
||||
<config>
|
||||
<fields name="params">
|
||||
<fieldset name="advanced">
|
||||
<field name="templateColor" class="" type="color" default="#08C"
|
||||
label="TPL_PROTOSTAR_COLOR_LABEL"
|
||||
description="TPL_PROTOSTAR_COLOR_DESC" />
|
||||
|
||||
<field name="templateBackgroundColor" class="" type="color" default="#F4F6F7"
|
||||
label="TPL_PROTOSTAR_BACKGROUND_COLOR_LABEL"
|
||||
description="TPL_PROTOSTAR_BACKGROUND_COLOR_DESC" />
|
||||
|
||||
<field name="logoFile" class="" type="media" default=""
|
||||
label="TPL_PROTOSTAR_LOGO_LABEL"
|
||||
description="TPL_PROTOSTAR_LOGO_DESC" />
|
||||
|
||||
<field name="sitetitle" type="text" default=""
|
||||
label="JGLOBAL_TITLE"
|
||||
description="JFIELD_ALT_PAGE_TITLE_LABEL"
|
||||
filter="string" />
|
||||
|
||||
<field name="sitedescription" type="text" default=""
|
||||
label="JGLOBAL_DESCRIPTION"
|
||||
description="JGLOBAL_SUBHEADING_DESC"
|
||||
filter="string" />
|
||||
|
||||
<field name="googleFont"
|
||||
type="radio"
|
||||
class="btn-group"
|
||||
default="1"
|
||||
label="TPL_PROTOSTAR_FONT_LABEL"
|
||||
description="TPL_PROTOSTAR_FONT_DESC"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
|
||||
<field name="googleFontName" class="" type="text" default="Open+Sans"
|
||||
label="TPL_PROTOSTAR_FONT_NAME_LABEL"
|
||||
description="TPL_PROTOSTAR_FONT_NAME_DESC" />
|
||||
|
||||
<field name="fluidContainer"
|
||||
type="radio"
|
||||
class="btn-group"
|
||||
default="0"
|
||||
label="TPL_PROTOSTAR_FLUID_LABEL"
|
||||
description="TPL_PROTOSTAR_FLUID_DESC"
|
||||
>
|
||||
<option value="0">TPL_PROTOSTAR_STATIC</option>
|
||||
<option value="1">TPL_PROTOSTAR_FLUID</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</config>
|
||||
</extension>
|
BIN
templates/protostar/template_preview.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
templates/protostar/template_thumbnail.png
Normal file
After Width: | Height: | Size: 8.1 KiB |