diff options
-rw-r--r-- | common.php | 22 | ||||
-rw-r--r-- | src/pages/about.php | 3 | ||||
-rw-r--r-- | src/pages/index.php | 3 | ||||
-rw-r--r-- | src/pages/not_found.php | 2 | ||||
-rw-r--r-- | src/static/nava.gif | bin | 0 -> 1778 bytes | |||
-rw-r--r-- | src/static/style.css | 8 | ||||
-rw-r--r-- | src/template.php | 13 |
7 files changed, 33 insertions, 18 deletions
@@ -2,19 +2,19 @@ define("SRCDIR", realpath(__DIR__ . "/src/")); -function hzcom_expand(string $__page): string { - $title = ""; - $__page = preg_replace_callback( - ';<title>(.*?)</title>;i', - function(array $matches) use(&$title): string { - $title = $matches[1]; +function hzcom_expand(string $pageContents): string { + $params = []; + $page = SRCDIR . "/pages/" . bin2hex(random_bytes(8)) . ".tmp"; + file_put_contents($page, preg_replace_callback( + "/<param:(?'paramName'[a-z][a-z0-9_-]*?)\s*>" . + "(?'paramValue'.*?)<\/param:\\1\s*>/s", + function(array $matches) use (&$params) { + $params[$matches['paramName']] = $matches['paramValue']; return ""; }, - $__page - ); - $page = SRCDIR . "/pages/" . bin2hex(random_bytes(8)) . ".tmp"; - file_put_contents($page, $__page); - unset($__page); + $pageContents + )); + unset($pageContents); ob_start(); include SRCDIR . "/template.php"; diff --git a/src/pages/about.php b/src/pages/about.php index 99d8e25..9e7b31b 100644 --- a/src/pages/about.php +++ b/src/pages/about.php @@ -9,7 +9,8 @@ $age = date_diff( ?> -<title>About me</title> +<param:title>About me</param:title> +<param:active-link>about</param:active-link> <h1>About me</h1> diff --git a/src/pages/index.php b/src/pages/index.php index 3b15088..cb9b417 100644 --- a/src/pages/index.php +++ b/src/pages/index.php @@ -1,3 +1,4 @@ -<title>hozyro's site</title> +<param:title>hozyro's site</param:title> +<param:active-link>home</param:active-link> <?php include SRCDIR . "/includes/under-construction.php"; ?> diff --git a/src/pages/not_found.php b/src/pages/not_found.php index b71d6c3..abe4c3f 100644 --- a/src/pages/not_found.php +++ b/src/pages/not_found.php @@ -1,2 +1,2 @@ -<title>Not found</title> +<param:title>Not found</param:title> <p>The requested page could not be found.</p> diff --git a/src/static/nava.gif b/src/static/nava.gif Binary files differnew file mode 100644 index 0000000..005f34b --- /dev/null +++ b/src/static/nava.gif diff --git a/src/static/style.css b/src/static/style.css index 0b94ca4..1c1cd5e 100644 --- a/src/static/style.css +++ b/src/static/style.css @@ -53,6 +53,14 @@ a { color: #05456a; background: url("navh.gif"); } +.navCell.active { + border-left-color: #000; + border-right-color: #7d9cb0; +} +.navCell.active a { + color: #fffca2; + background: url("nava.gif"); +} #mainCell { border: 1px solid #000; border-top: none; diff --git a/src/template.php b/src/template.php index 6e2ad0c..ca781b9 100644 --- a/src/template.php +++ b/src/template.php @@ -1,9 +1,14 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" +<?php + +$nav = fn(string $ln) => + (($params["active-link"] ?? null) === $ln) ? ' active' : ''; + +?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> - <title><?= htmlentities($title) ?></title> + <title><?= htmlentities($params["title"] ?? "") ?></title> <link rel="stylesheet" href="/static/style.css" type="text/css" /> </head> <body> @@ -27,7 +32,7 @@ <table id="navLayout" cellspacing="0"> <tbody> <tr> - <td class="navCell" style="border-left:0"> + <td class="navCell<?= $nav("home") ?>" style="border-left:0"> <a href="/"><img class="navIcon" alt="" @@ -36,7 +41,7 @@ src="/static/icons/home.gif" /> Home page</a> </td> - <td class="navCell"> + <td class="navCell<?= $nav("about") ?>"> <a href="/about"><img class="navIcon" alt="" |