1
0
Fork 0

Compare commits

...

2 commits

5 changed files with 51 additions and 6 deletions

View file

@ -26,6 +26,8 @@ if( $page->isHomePage() ) {
<meta name="robots" content="<?php echo $page->meta_robots()->html() ?>"> <meta name="robots" content="<?php echo $page->meta_robots()->html() ?>">
<?php endif; ?> <?php endif; ?>
<link rel="alternate" type="application/rss+xml" title="Janniks Blog" href="<?= site()->url() ?>?rss"/>
<?php echo css('assets/css/foundation.css?v1.1') ?> <?php echo css('assets/css/foundation.css?v1.1') ?>
<?php echo css('assets/css/main.css?v1.1') ?> <?php echo css('assets/css/main.css?v1.1') ?>

View file

@ -17,6 +17,6 @@ $a = $article;
</p> </p>
<div class="meta"> <div class="meta">
<time datetime="<?php echo $a->date()->toDate('Y-m-d') ?>"><?php echo $a->date()->toDate('d. M. Y') ?></time> <time datetime="<?php echo $a->date()->toDate('Y-m-d') ?>"><?php echo $a->date()->toDate('d. M. Y') ?></time>
<?php echo tags($base_url, $a); ?> <?php echo tags_html($base_url, $a); ?>
</div> </div>
</article> </article>

View file

@ -0,0 +1,33 @@
<?php
// -------------------------------------------
// kirby snipper FOR generic
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// Usage: snippet('blogfeed',["articles"=>$articles, "link"=>$baseurl, "feedurl"=>$feedurl])
// -------------------------------------------
header("Content-Type: application/rss+xml");
?>
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Janniks Blog</title>
<description>Persönliches Blog von Jannik Beyerstedt</description>
<link><?php echo $link ?></link>
<atom:link href="<?= \Kirby\Toolkit\Xml::encode($feedurl) ?>" rel="self" type="application/rss+xml" />
<pubDate><?php echo date("d M Y H:i:s O") ?></pubDate>
<?php foreach($articles as $a):?>
<item>
<title><?php echo \Kirby\Toolkit\Xml::encode($a->title()) ?></title>
<link><?php echo \Kirby\Toolkit\Xml::encode($a->url()) ?></link>
<guid isPermaLink="false">jbeyerstedt/<?php echo \Kirby\Toolkit\Xml::encode($a->slug()) ?></guid>
<pubDate><?php echo $a->date()->toDate("d M Y H:i:s O") ?></pubDate>
<description><![CDATA[<?php echo $a->text()->kirbytext() ?>]]></description>
</item>
<?php endforeach; ?>
</channel>
</rss>

View file

@ -6,8 +6,8 @@
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License // license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// ------------------------------------------- // -------------------------------------------
$base_url = $site->find('blog')->url(); // Function needed by blogexcerpt
function tags($base_url, $article) { function tags_html($base_url, $article) {
$tags = explode(',',(string)$article->tags()); $tags = explode(',',(string)$article->tags());
if (!empty($tags[0])) { if (!empty($tags[0])) {
@ -23,10 +23,20 @@ function tags($base_url, $article) {
} }
} }
$articles = $page->children()->listed()->flip();
$base_url = $site->find('blog')->url();
$feed_url = $base_url.'?rss';
$articles = $page->children()->listed()->flip();
$title = $page->title()->html(); $title = $page->title()->html();
// Deliver RSS feed on ?rss GET parameter
$is_rss = get('rss');
if ($is_rss !== null) {
snippet('blogfeed', ["articles"=>$articles,"link"=>$base_url,"feedurl"=>$feed_url]);
exit;
}
// Filter by requested tag
if($tag = param('tag')) { if($tag = param('tag')) {
$articles = $articles->filterBy('tags', $tag, ','); $articles = $articles->filterBy('tags', $tag, ',');
$title .= ' - '.$tag; $title .= ' - '.$tag;

View file

@ -7,7 +7,7 @@
// ------------------------------------------- // -------------------------------------------
$base_url = $site->find('blog')->url(); $base_url = $site->find('blog')->url();
function tags($base_url, $article) { function tags_html($base_url, $article) {
$tags = explode(',',(string)$article->tags()); $tags = explode(',',(string)$article->tags());
if (!empty($tags[0])) { if (!empty($tags[0])) {
@ -43,7 +43,7 @@ snippet('base/cont-header');
<div class="meta bottom"> <div class="meta bottom">
<time datetime="<?php echo $page->date()->toDate('Y-m-d') ?>"><?php echo $page->date()->toDate('d. M. Y') ?></time> <time datetime="<?php echo $page->date()->toDate('Y-m-d') ?>"><?php echo $page->date()->toDate('d. M. Y') ?></time>
<?php echo tags($base_url, $page); ?> <?php echo tags_html($base_url, $page); ?>
</div> </div>
</article> </article>