Core update (better sidebar)
This commit is contained in:
parent
1e45a4975f
commit
d3c6b1d1ba
6 changed files with 40 additions and 17 deletions
|
@ -1,4 +1,4 @@
|
|||
Yellow 0.5.31
|
||||
Yellow 0.5.32
|
||||
=============
|
||||
[](http://datenstrom.se/yellow)
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@ robotsFile = robots.txt
|
|||
iconFile = icon.png
|
||||
template = default
|
||||
navigation = navigation
|
||||
sidebar = sidebar
|
||||
parser = markdown
|
||||
parserSafeMode = 0
|
||||
multiLanguageMode = 0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// Yellow main class
|
||||
class Yellow
|
||||
{
|
||||
const Version = "0.5.31";
|
||||
const Version = "0.5.32";
|
||||
var $page; //current page
|
||||
var $pages; //pages from file system
|
||||
var $files; //files from file system
|
||||
|
@ -62,6 +62,7 @@ class Yellow
|
|||
$this->config->setDefault("iconFile", "icon.png");
|
||||
$this->config->setDefault("template", "default");
|
||||
$this->config->setDefault("navigation", "navigation");
|
||||
$this->config->setDefault("sidebar", "sidebar");
|
||||
$this->config->setDefault("parser", "markdown");
|
||||
$this->config->setDefault("parserSafeMode", "0");
|
||||
$this->config->setDefault("multiLanguageMode", "0");
|
||||
|
@ -370,7 +371,7 @@ class YellowPage
|
|||
var $headerData; //response header
|
||||
var $outputData; //response output
|
||||
var $pages; //page collection
|
||||
var $relations; //page relations
|
||||
var $pageRelations; //page relations
|
||||
var $parser; //content parser
|
||||
var $parserData; //content data of page
|
||||
var $parserSafeMode; //page is parsed in safe mode? (boolean)
|
||||
|
@ -386,7 +387,7 @@ class YellowPage
|
|||
$this->metaData = array();
|
||||
$this->headerData = array();
|
||||
$this->pages = new YellowPageCollection($yellow);
|
||||
$this->relations = array();
|
||||
$this->pageRelations = array();
|
||||
}
|
||||
|
||||
// Set request information
|
||||
|
@ -448,6 +449,7 @@ class YellowPage
|
|||
$this->yellow->config->get("templateDir"), $this->yellow->config->get("template"), ".html"));
|
||||
$this->set("modified", date("Y-m-d H:i:s", $this->yellow->toolbox->getFileModified($this->fileName)));
|
||||
$this->set("navigation", $this->yellow->config->get("navigation"));
|
||||
$this->set("sidebar", $this->yellow->config->get("sidebar"));
|
||||
$this->set("parser", $this->yellow->config->get("parser"));
|
||||
|
||||
if(preg_match("/^(\xEF\xBB\xBF)?\-\-\-[\r\n]+(.+?)[\r\n]+\-\-\-[\r\n]+/s", $this->rawData, $parts))
|
||||
|
@ -715,16 +717,16 @@ class YellowPage
|
|||
return $this->pages;
|
||||
}
|
||||
|
||||
// Set page relation
|
||||
// Set related page
|
||||
function setPage($key, $page)
|
||||
{
|
||||
$page->relations[$key] = $this;
|
||||
$this->pageRelations[$key] = $page;
|
||||
}
|
||||
|
||||
// Return related page
|
||||
function getPage($key)
|
||||
{
|
||||
return !is_null($this->relations[$key]) ? $this->relations[$key] : $this;
|
||||
return !is_null($this->pageRelations[$key]) ? $this->pageRelations[$key] : $this;
|
||||
}
|
||||
|
||||
// Return absolute page location
|
||||
|
@ -915,6 +917,12 @@ class YellowPage
|
|||
{
|
||||
return !is_null($this->metaData[$key]);
|
||||
}
|
||||
|
||||
// Check if related page exists
|
||||
function isPage($key)
|
||||
{
|
||||
return !is_null($this->pageRelations[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
// Yellow page collection as array
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
<?php if($yellow->page->isExisting("sidebar")): ?>
|
||||
<?php if($yellow->page->isPage("sidebar")): ?>
|
||||
<div class="content sidebar">
|
||||
<?php $location = $yellow->lookup->getDirectoryLocation($yellow->page->location).$yellow->page->get("sidebar"); ?>
|
||||
<?php if($page = $yellow->pages->find($location)): ?>
|
||||
<?php $yellow->page->setPage("main", $page) ?>
|
||||
<?php if($yellow->page->get("navigation") == "navigation-sidebar"): ?>
|
||||
<?php $page = $yellow->page->getParentTop(false) ?>
|
||||
<?php $pages = $page ? $page->getChildren(!$page->isVisible()): $yellow->pages->clean() ?>
|
||||
<?php $yellow->snippet("navigation-sidebar", $pages, true) ?>
|
||||
<?php else: ?>
|
||||
<?php $page = $yellow->page->getPage("sidebar") ?>
|
||||
<?php $page->setPage("main", $yellow->page) ?>
|
||||
<?php $yellow->page->setLastModified($page->getModified()) ?>
|
||||
<?php echo $page->getContent() ?>
|
||||
<?php else: ?>
|
||||
<?php $yellow->snippet("navigation-sidebar") ?>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
|
|
@ -14,8 +14,9 @@
|
|||
<body>
|
||||
<?php $yellow->page->set("pageClass", "page") ?>
|
||||
<?php $yellow->page->set("pageClass", $yellow->page->get("pageClass")." ".$yellow->page->get("template")) ?>
|
||||
<?php if($yellow->page->get("navigation") == "navigation-sidebar") { $yellow->page->set("navigation", "navigation"); $yellow->page->set("sidebar", "navigation-sidebar"); } ?>
|
||||
<?php if($yellow->page->isExisting("sidebar")) $yellow->page->set("pageClass", $yellow->page->get("pageClass")." with-sidebar") ?>
|
||||
<?php if($yellow->page->get("navigation") == "navigation-sidebar") $yellow->page->setPage("sidebar", $yellow->page); ?>
|
||||
<?php if($page = $yellow->pages->find($yellow->lookup->getDirectoryLocation($yellow->page->location).$yellow->page->get("sidebar"))) $yellow->page->setPage("sidebar", $page) ?>
|
||||
<?php if($yellow->page->isPage("sidebar")) $yellow->page->set("pageClass", $yellow->page->get("pageClass")." with-sidebar") ?>
|
||||
<div class="<?php echo $yellow->page->getHtml("pageClass") ?>">
|
||||
<div class="header">
|
||||
<div class="sitename"><h1><a href="<?php echo $yellow->page->base."/" ?>"><i class="sitename-logo"></i><?php echo $yellow->page->getHtml("sitename") ?></a></h1></div>
|
||||
|
|
|
@ -1,6 +1,16 @@
|
|||
<?php $page = $yellow->page->getParentTop(false) ?>
|
||||
<?php $pages = $page ? $page->getChildren(!$page->isVisible()): $yellow->pages->clean() ?>
|
||||
<?php list($name, $pages, $sidebar) = $yellow->getSnippetArgs() ?>
|
||||
<?php if(!$pages) $pages = $yellow->pages->top() ?>
|
||||
<?php $yellow->page->setLastModified($pages->getModified()) ?>
|
||||
<?php if(!$sidebar): ?>
|
||||
<div class="navigation">
|
||||
<ul>
|
||||
<?php foreach($pages as $page): ?>
|
||||
<li><a<?php echo $page->isActive() ? " class=\"active\"" : "" ?> href="<?php echo $page->getLocation() ?>"><?php echo $page->getHtml("titleNavigation") ?></a></li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navigation-banner"></div>
|
||||
<?php else: ?>
|
||||
<div class="navigation-sidebar">
|
||||
<ul>
|
||||
<?php foreach($pages as $page): ?>
|
||||
|
@ -8,3 +18,4 @@
|
|||
<?php endforeach ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif ?>
|
Loading…
Add table
Reference in a new issue