diff --git a/cache/lastCache.txt b/cache/lastCache.txt index 8f7385b..26f1a45 100644 --- a/cache/lastCache.txt +++ b/cache/lastCache.txt @@ -1 +1 @@ -1528043723 \ No newline at end of file +1528058075 \ No newline at end of file diff --git a/system/Controllers/Controller.php b/system/Controllers/Controller.php index a0a6990..975f0f2 100644 --- a/system/Controllers/Controller.php +++ b/system/Controllers/Controller.php @@ -26,12 +26,14 @@ abstract class Controller if($this->c->request->getUri()->getScheme() == 'https') { - $response = $response->withAddedHeader('Strict-Transport-Security', 'max-age=63072000'); + $response = $response->withAddedHeader('Strict-Transport-Security', 'max-age=63072000'); + $response = $response->withAddedHeader('Content-Security-Policy', 'default-src https:'); } $response = $response->withAddedHeader('X-Content-Type-Options', 'nosniff'); $response = $response->withAddedHeader('X-Frame-Options', 'SAMEORIGIN'); $response = $response->withAddedHeader('X-XSS-Protection', '1;mode=block'); + $response = $response->withAddedHeader('Referrer-Policy', 'no-referrer-when-downgrade'); return $this->c->view->render($response, $route, $data); } diff --git a/system/Controllers/PageController.php b/system/Controllers/PageController.php index 4506500..1b67547 100644 --- a/system/Controllers/PageController.php +++ b/system/Controllers/PageController.php @@ -119,7 +119,7 @@ class PageController extends Controller } $contentMD = $this->c->dispatcher->dispatch('onMarkdownLoaded', new OnMarkdownLoaded($contentMD))->getData(); - + /* initialize parsedown */ $parsedown = new ParsedownExtension(); @@ -133,16 +133,18 @@ class PageController extends Controller /* parse markdown-content-array to content-string */ $contentHTML = $parsedown->markup($contentArray); $contentHTML = $this->c->dispatcher->dispatch('onHtmlLoaded', new OnHtmlLoaded($contentHTML))->getData(); + + /* extract the h1 headline*/ + $contentParts = explode("", $contentHTML); + $title = isset($contentParts[0]) ? strip_tags($contentParts[0]) : $settings['title']; + + $contentHTML = isset($contentParts[1]) ? $contentParts[1] : $contentHTML; /* create excerpt from content */ $excerpt = substr($contentHTML,0,500); - $excerpt = explode("", $excerpt); - - /* extract title from excerpt */ - $title = isset($excerpt[0]) ? strip_tags($excerpt[0]) : $settings['title']; /* create description from excerpt */ - $description = isset($excerpt[1]) ? strip_tags($excerpt[1]) : false; + $description = isset($excerpt) ? strip_tags($excerpt) : false; if($description) { $description = trim(preg_replace('/\s+/', ' ', $description)); @@ -162,7 +164,7 @@ class PageController extends Controller $firstImage = array('img_url' => $base_url . $img_url[1], 'img_alt' => $img_alt[1]); } } - + $route = empty($args) && $settings['startpage'] ? '/cover.twig' : '/index.twig'; return $this->render($response, $route, array('navigation' => $structure, 'content' => $contentHTML, 'item' => $item, 'breadcrumb' => $breadcrumb, 'settings' => $settings, 'title' => $title, 'description' => $description, 'base_url' => $base_url, 'image' => $firstImage )); diff --git a/themes/typemill/chapter.twig b/themes/typemill/chapter.twig index 21239e3..a6c0698 100644 --- a/themes/typemill/chapter.twig +++ b/themes/typemill/chapter.twig @@ -8,6 +8,8 @@ {% endif %} +