-<?php
-include_once 'head.inc.html';
-
-print "<header>\n";
-
-ob_start();
-include 'menu.html';
-$nav = ob_get_clean();
-$nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
- $request = $_SERVER['REQUEST_URI'];
- $html = $request == $m[1] ? $m[2] : $m[0]; # text or full link
- return $m[1] == substr($request, 0, strlen($m[1])) ? "<b>$html</b>" : $html;
-}, $nav);
-print $nav;
-print "</header>\n\n";
-
-print '<div class="article">'."\n\n";
-
-include_once 'auth.inc.php';
-
-register_shutdown_function(function () {
- print "</div>\n\n";
- include 'foot.inc.php';
- print "</body></html>\n";
-});
-
-include "$Page.html";
-if (file_exists("$Page.php")) include_once("$Page.php");
-
+<!DOCTYPE html>
+<html lang="nl">
+<head>
+ <meta charset="utf-8" />
+<?php if ($Page->title) { ?>
+ <title property="og:name"><?= htmlspecialchars($Page->safetitle) ?></title>
+<?php } ?>
+<?php if ($Page->teaser) { ?>
+ <meta name="description" property="og:description" content="<?= preg_replace('/\s+/', ' ', strip_tags($Page->teaser)) ?>" />
+<?php } ?>
+ <meta name="viewport" content="width=device-width" />
+ <!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script><![endif]-->
+<?php if ($Page->image) { ?>
+ <meta property="og:image" content="https://<?= $_SERVER['HTTP_HOST'] . '/' . htmlspecialchars($Page->thumb('640x')) ?>" />
+<?php } ?>
+ <meta property="og:type" content="<?= $Page->meta['og:type'] ?? 'website' ?>" />
+ <meta property="og:url" content="https://<?= $_SERVER['HTTP_HOST'] . '/' . htmlspecialchars($Page->link) ?>" />
+<?php if (isset($Page->head)) print $Page->head; ?>
+</head>
+<body>