updated templates and snippets

This commit is contained in:
markseu 2019-02-01 17:36:29 +01:00
parent ce87cb714b
commit c20ef3d9d5
14 changed files with 88 additions and 65 deletions

View file

@ -5,7 +5,7 @@ Datenstrom Yellow 0.7.10
Datenstrom Yellow is for people who make websites. [See demo](https://developers.datenstrom.se/).
1. [Download Datenstrom Yellow and unzip it](https://github.com/datenstrom/yellow/archive/master.zip).
2. Copy all files to your web hosting.
2. Copy all files to your web server.
3. Open your website in a web browser.
We have a developer kit and an API for developers. [Learn more](https://developers.datenstrom.se/help/).

5
content/shared/footer.md Normal file
View file

@ -0,0 +1,5 @@
---
Title: Footer
Status: hidden
---
[Made with Datenstrom Yellow](https://datenstrom.se/fr/yellow/)

View file

@ -45,9 +45,10 @@ ServerUrl:
StartupUpdate: none
Template: default
Navigation: navigation
Header: header
Footer: footer
Sidebar: sidebar
Siteicon: icon
Tagline:
Parser: markdown
MultiLanguageMode: 0
SafeMode: 0

View file

@ -4,7 +4,7 @@
// This file may be used and distributed under the terms of the public license.
class YellowCore {
const VERSION = "0.7.10";
const VERSION = "0.8.1";
public $page; //current page
public $pages; //pages from file system
public $files; //files from file system
@ -70,9 +70,10 @@ class YellowCore {
$this->config->setDefault("startupUpdate", "none");
$this->config->setDefault("template", "default");
$this->config->setDefault("navigation", "navigation");
$this->config->setDefault("header", "header");
$this->config->setDefault("footer", "footer");
$this->config->setDefault("sidebar", "sidebar");
$this->config->setDefault("siteicon", "icon");
$this->config->setDefault("tagline", "");
$this->config->setDefault("parser", "markdown");
$this->config->setDefault("multiLanguageMode", "0");
$this->config->setDefault("safeMode", "0");
@ -444,7 +445,7 @@ class YellowPage {
$this->set("title", $this->yellow->toolbox->createTextTitle($this->location));
$this->set("language", $this->yellow->lookup->findLanguageFromFile($this->fileName, $this->yellow->config->get("language")));
$this->set("modified", date("Y-m-d H:i:s", $this->yellow->toolbox->getFileModified($this->fileName)));
$this->parseMetaRaw(array("theme", "template", "sitename", "siteicon", "tagline", "author", "navigation", "sidebar", "parser"));
$this->parseMetaRaw(array("theme", "template", "sitename", "siteicon", "author", "navigation", "header", "footer", "sidebar", "parser"));
$titleHeader = ($this->location==$this->yellow->pages->getHomeLocation($this->location)) ?
$this->get("sitename") : $this->get("title")." - ".$this->get("sitename");
if (!$this->isExisting("titleContent")) $this->set("titleContent", $this->get("title"));
@ -834,9 +835,10 @@ class YellowPage {
// Return last modification date, Unix time or HTTP format
public function getLastModified($httpFormat = false) {
$modified = max($this->lastModified, $this->getModified(), $this->yellow->config->getModified(),
$this->yellow->text->getModified(), $this->yellow->plugins->getModified());
return $httpFormat ? $this->yellow->toolbox->getHttpDateFormatted($modified) : $modified;
$lastModified = max($this->lastModified, $this->getModified(), $this->pageCollection->getModified(),
$this->yellow->config->getModified(), $this->yellow->text->getModified(), $this->yellow->plugins->getModified());
foreach ($this->pageRelations as $page) $lastModified = max($lastModified, $page->getModified());
return $httpFormat ? $this->yellow->toolbox->getHttpDateFormatted($lastModified) : $lastModified;
}
// Return page status code, number or HTTP format
@ -1247,6 +1249,18 @@ class YellowPages {
return $pages;
}
// Return page with shared content, null if not found
public function shared($location, $absoluteLocation = false, $name = "shared") {
if ($absoluteLocation) $location = substru($location, strlenu($this->yellow->page->base));
$locationShared = $this->yellow->lookup->getDirectoryLocation($location);
$page = $this->find($locationShared.$name);
if ($page==null) {
$locationShared = $this->getHomeLocation($location).$this->yellow->config->get("contentSharedDir");
$page = $this->find($locationShared.$name);
}
return $page;
}
// Return page collection with multiple languages
public function multi($location, $absoluteLocation = false, $showInvisible = false) {
$pages = new YellowPageCollection($this->yellow);

View file

@ -4,7 +4,7 @@
// This file may be used and distributed under the terms of the public license.
class YellowUpdate {
const VERSION = "0.7.26";
const VERSION = "0.8.1";
const PRIORITY = "2";
public $yellow; //access to API
public $updates; //number of updates
@ -29,6 +29,12 @@ class YellowUpdate {
if ($this->yellow->config->get("staticDir")=="cache/") {
$this->yellow->config->save($fileNameConfig, array("staticDir" => "public/"));
}
if ($this->yellow->config->isExisting("tagline")) {
$fileNameHeader = $this->yellow->config->get("contentDir").$this->yellow->config->get("contentSharedDir");
$fileNameHeader .= "header".$this->yellow->config->get("contentExtension");
$fileDataHeader = "---\nTitle: Header\nStatus: hidden\n---\n".$this->yellow->config->get("tagline");
if (!is_file($fileNameHeader)) $this->yellow->toolbox->createFile($fileNameHeader, $fileDataHeader, true);
}
}
if ($update) { //TODO: remove later, converts old robots file
$fileNameRobots = $this->yellow->config->get("configDir")."robots.txt";

View file

@ -1,5 +1,5 @@
/* Flatsite theme, https://github.com/datenstrom/yellow-themes/tree/master/flatsite */
/* Copyright (c) 2013-2018 Datenstrom, https://datenstrom.se */
/* Copyright (c) 2013-2019 Datenstrom, https://datenstrom.se */
/* This file may be used and distributed under the terms of the public license. */
html, body, div, form, pre, span, tr, th, td, img {
@ -210,19 +210,25 @@ a:hover {
.header .sitename {
display: block;
float: left;
margin-top: 0.25em;
margin-bottom: 1em;
}
.header .sitename h1 {
margin: 0;
margin:0;
font-size: 1em;
font-weight: 300;
}
.header .sitename h1 a {
color: #111;
text-decoration: none;
}
.header .sitename h2 {
.header .sitename h1 a:hover {
color: #07d;
text-decoration: underline;
}
.header .sitename p {
margin-top: 0;
color: #717171;
font-size: 1em;
font-weight: 300;
color: #111;
}
/* Navigation */
@ -230,10 +236,7 @@ a:hover {
.navigation {
display: block;
float: right;
}
.navigation {
margin-top: 0.9em;
margin-bottom: 0.9em;
margin-bottom: 1em;
line-height: 2;
}
.navigation a {
@ -250,10 +253,7 @@ a:hover {
.navigation-tree {
display: block;
float: right;
}
.navigation-tree {
margin-top: 0.9em;
margin-bottom: 0.9em;
margin-bottom: 1em;
line-height: 2;
}
.navigation-tree a {
@ -296,7 +296,7 @@ a:hover {
clear: both;
}
.navigation-search {
padding-bottom: 1em;
padding-bottom: 0.75em;
}
.navigation-search .search-form {
position: relative;
@ -337,7 +337,7 @@ a:hover {
/* Footer */
.footer {
margin-top: 2em;
margin-top: 1em;
}
.footer .siteinfo a {
color: #07d;
@ -505,13 +505,10 @@ a:hover {
margin: 0.5em;
font-size: 0.9em;
}
.header .sitename h1,
.content h1,
.content h2 {
font-size: 1.3em;
}
.header .sitename h1,
.header .sitename h2,
.footer,
.page {
margin: 0;
@ -522,8 +519,9 @@ a:hover {
.navigation-tree {
float: none;
}
.navigation {
margin-top: 0.5em;
.header .sitename,
.navigation,
.navigation-tree {
margin-bottom: 0.5em;
}
.navigation-search {

View file

@ -1,8 +1,8 @@
<?php
// Flatsite theme, https://github.com/datenstrom/yellow-themes/tree/master/flatsite
// Copyright (c) 2013-2018 Datenstrom, https://datenstrom.se
// Copyright (c) 2013-2019 Datenstrom, https://datenstrom.se
// This file may be used and distributed under the terms of the public license.
class YellowThemeFlatsite {
const VERSION = "0.7.6";
const VERSION = "0.8.1";
}

View file

@ -1,7 +1,8 @@
<div class="footer" role="contentinfo">
<div class="siteinfo">
<a href="<?php echo $yellow->page->base."/" ?>">&copy; 2019 <?php echo $yellow->page->getHtml("sitename") ?></a>.
<a href="<?php echo $yellow->text->get("yellowUrl") ?>">Made with Datenstrom Yellow</a>.
<?php if ($yellow->page->isPage("footer")) echo $yellow->page->getPage("footer")->getContent() ?>
</div>
<div class="siteinfo-banner"></div>
</div>
</div>
</div>

View file

@ -10,16 +10,17 @@
<?php echo $yellow->page->getExtra("header") ?>
</head>
<body>
<?php $yellow->page->set("pageClass", "page") ?>
<?php $yellow->page->set("pageClass", $yellow->page->get("pageClass")." template-".$yellow->page->get("template")) ?>
<?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") ?>
<?php if ($page = $yellow->pages->shared($yellow->page->location, false, $yellow->page->get("header"))) $yellow->page->setPage("header", $page) ?>
<?php if ($page = $yellow->pages->shared($yellow->page->location, false, $yellow->page->get("footer"))) $yellow->page->setPage("footer", $page) ?>
<?php if ($page = $yellow->pages->shared($yellow->page->location, false, $yellow->page->get("sidebar"))) $yellow->page->setPage("sidebar", $page) ?>
<?php if ($yellow->page->get("navigation")=="navigation-sidebar") $yellow->page->setPage("navigation-sidebar", $yellow->page->getParentTop(true)) ?>
<?php $yellow->page->set("pageClass", "page template-".$yellow->page->get("template")) ?>
<?php if (!$yellow->page->isError() && ($yellow->page->isPage("sidebar") || $yellow->page->isPage("navigation-sidebar"))) $yellow->page->set("pageClass", $yellow->page->get("pageClass")." with-sidebar") ?>
<div class="<?php echo $yellow->page->getHtml("pageClass") ?>">
<div class="header" role="banner">
<div class="sitename">
<h1><a href="<?php echo $yellow->page->base."/" ?>"><i class="sitename-logo"></i><?php echo $yellow->page->getHtml("sitename") ?></a></h1>
<?php if($yellow->page->isExisting("tagline")): ?><h2><?php echo $yellow->page->getHtml("tagline") ?></h2><?php endif ?>
<h1><a href="<?php echo $yellow->page->getBase(true)."/" ?>"><i class="sitename-logo"></i><?php echo $yellow->page->getHtml("sitename") ?></a></h1>
<?php if ($yellow->page->isPage("header")) echo $yellow->page->getPage("header")->getContent() ?>
</div>
<div class="sitename-banner"></div>
<?php $yellow->snippet($yellow->page->get("navigation")) ?>

View file

@ -2,7 +2,7 @@
<?php $yellow->page->setLastModified($pages->getModified()) ?>
<div class="navigation" role="navigation">
<ul>
<?php foreach($pages as $page): ?>
<?php foreach ($pages as $page): ?>
<li><a<?php echo $page->isActive() ? " class=\"active\" aria-current=\"page\"" : "" ?> href="<?php echo $page->getLocation(true) ?>"><?php echo $page->getHtml("titleNavigation") ?></a></li>
<?php endforeach ?>
</ul>

View file

@ -1,16 +1,16 @@
<?php list($name, $pages, $level) = $yellow->getSnippetArgs() ?>
<?php if(!$pages) $pages = $yellow->pages->top() ?>
<?php if (!$pages) $pages = $yellow->pages->top() ?>
<?php $yellow->page->setLastModified($pages->getModified()) ?>
<?php if(!$level): ?>
<?php if (!$level): ?>
<div class="navigation-tree" role="navigation">
<?php endif ?>
<ul>
<?php foreach($pages as $page): ?>
<?php foreach ($pages as $page): ?>
<?php $children = $page->getChildren() ?>
<li><a<?php echo $page->isActive() ? " class=\"active\" aria-current=\"page\"" : "" ?> href="<?php echo $page->getLocation(true) ?>"><?php echo $page->getHtml("titleNavigation") ?></a><?php if($children->count()) { echo "\n"; $yellow->snippet($name, $children, $level+1); } ?></li>
<li><a<?php echo $page->isActive() ? " class=\"active\" aria-current=\"page\"" : "" ?> href="<?php echo $page->getLocation(true) ?>"><?php echo $page->getHtml("titleNavigation") ?></a><?php if ($children->count()) { echo "\n"; $yellow->snippet($name, $children, $level+1); } ?></li>
<?php endforeach ?>
</ul>
<?php if(!$level): ?>
<?php if (!$level): ?>
</div>
<div class="navigation-banner"></div>
<?php endif ?>

View file

@ -2,7 +2,7 @@
<?php $yellow->page->setLastModified($pages->getModified()) ?>
<div class="navigation" role="navigation">
<ul>
<?php foreach($pages as $page): ?>
<?php foreach ($pages as $page): ?>
<li><a<?php echo $page->isActive() ? " class=\"active\" aria-current=\"page\"" : "" ?> href="<?php echo $page->getLocation(true) ?>"><?php echo $page->getHtml("titleNavigation") ?></a></li>
<?php endforeach ?>
</ul>

View file

@ -1,10 +1,10 @@
<?php list($name, $pages) = $yellow->getSnippetArgs() ?>
<?php if($pages->isPagination()): ?>
<?php if ($pages->isPagination()): ?>
<div class="pagination" role="navigation">
<?php if($pages->getPaginationPrevious()): ?>
<?php if ($pages->getPaginationPrevious()): ?>
<a class="previous" href="<?php echo $pages->getPaginationPrevious() ?>"><?php echo $yellow->text->getHtml("paginationPrevious") ?></a>
<?php endif ?>
<?php if($pages->getPaginationNext()): ?>
<?php if ($pages->getPaginationNext()): ?>
<a class="next" href="<?php echo $pages->getPaginationNext() ?>"><?php echo $yellow->text->getHtml("paginationNext") ?></a>
<?php endif ?>
</div>

View file

@ -1,24 +1,21 @@
<?php if($yellow->page->isPage("sidebar")): ?>
<?php if($yellow->page->get("navigation")=="navigation-sidebar" && $yellow->page->getPage("sidebar")==$yellow->page): ?>
<?php $page = $yellow->page->getParentTop(true) ?>
<?php $pages = $page->getChildren(!$page->isVisible()) ?>
<?php $yellow->page->setLastModified($pages->getModified()) ?>
<?php if ($yellow->page->isPage("sidebar")): ?>
<div class="sidebar" role="complementary">
<?php $page = $yellow->page->getPage("sidebar") ?>
<?php $page->setPage("main", $yellow->page) ?>
<?php echo $page->getContent() ?>
</div>
<?php elseif ($yellow->page->isPage("navigation-sidebar")): ?>
<div class="sidebar" role="complementary">
<div class="navigation-sidebar">
<?php $page = $yellow->page->getPage("navigation-sidebar") ?>
<?php $pages = $page->getChildren(!$page->isVisible()) ?>
<?php $yellow->page->setLastModified($pages->getModified()) ?>
<p><?php echo $page->getHtml("titleNavigation") ?></p>
<ul>
<?php foreach($pages as $page): ?>
<?php foreach ($pages as $page): ?>
<li><a<?php echo $page->isActive() ? " class=\"active\"" : "" ?> href="<?php echo $page->getLocation(true) ?>"><?php echo $page->getHtml("titleNavigation") ?></a></li>
<?php endforeach ?>
</ul>
</div>
</div>
<?php else: ?>
<?php $page = $yellow->page->getPage("sidebar") ?>
<?php $page->setPage("main", $yellow->page) ?>
<?php $yellow->page->setLastModified($page->getModified()) ?>
<div class="sidebar" role="complementary">
<?php echo $page->getContent() ?>
</div>
<?php endif ?>
<?php endif ?>