diff --git a/lib/config.php b/lib/config.php
deleted file mode 100644
index b8626ab..0000000
--- a/lib/config.php
+++ /dev/null
@@ -1,22 +0,0 @@
-/apple-icon-57x57.png">
-
-
-
-
-
-
-
-*/
-/*
- # Standalone Mode
-
- # Replace URL bar with status bar
-
- # Defaults to
but configurable
-
- # Launch/Splash screen
-
-*/
-?>
-
-
diff --git a/lib/ico.legacy.php b/lib/ico.legacy.php
deleted file mode 100644
index ed447cc..0000000
--- a/lib/ico.legacy.php
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/lib/ico.microsoft.php b/lib/ico.microsoft.php
deleted file mode 100644
index 2d97e90..0000000
--- a/lib/ico.microsoft.php
+++ /dev/null
@@ -1,7 +0,0 @@
-
- = _meta_intranet() ?>
-
-
-
diff --git a/meta.inc.php b/meta.inc.php
deleted file mode 100644
index 2fa778a..0000000
--- a/meta.inc.php
+++ /dev/null
@@ -1,130 +0,0 @@
-':'';
-}
-
-/**
- * _meta_viewport
- *
- *
- * Screen Density
- * --------------
- * - `initial-scale`: `1`
- * Controls the zoom level when the page is first loaded.
- * Minimum: `0.1`. Maximum: `10`
- *
- * The default pixel ratio depends on the display density.
- * On a display with density less than 200dpi, the ratio is 1.0. On displays with density between 200 and 300dpi, the ratio is 1.5. For displays with density over 300dpi, the ratio is the integer floor (density/150dpi). Note that the default ratio is true only when the viewport scale equals 1.
- *
- * Screen Size
- * -----------
-`width`
-
-Controls the size of the viewport. It can be set to a specific number of pixels like `width=600` or to the special value `device-width`, which is [100vw](https://developer.mozilla.org/en-US/docs/Web/CSS/length#relative_length_units_based_on_viewport), or 100% of the viewport width. Minimum: `1`. Maximum: `10000`. Negative values: ignored.
-
-`height`
-
-Controls the size of the viewport. It can be set to a specific number of pixels like `height=400` or to the special value `device-height`, which is [100vh](https://developer.mozilla.org/en-US/docs/Web/CSS/length#vh), or 100% of the viewport height. Minimum: `1`. Maximum: `10000`. Negative values: ignored.
-
-`minimum-scale`
-
-Controls how much zoom out is allowed on the page. Minimum: `0.1`. Maximum: `10`. Default: `0.1`. Negative values: ignored.
-
-`maximum-scale`
-
-Controls how much zoom in is allowed on the page. Any value less than 3 fails accessibility. Minimum: `0.1`. Maximum: `10`. Default: `10`. Negative values: ignored.
-
-`user-scalable`
-
-Controls whether zoom in and zoom out actions are allowed on the page. Valid values: `0`, `1`, `yes`, or `no`. Default: `1`, which is the same as `yes`. Setting the value to `0`, which is the same as `no`, is against Web Content Accessibility Guidelines (WCAG).
-
-`interactive-widget`
-
-Specifies the effect that interactive UI widgets, such as a virtual keyboard, have on the page's viewports. Valid values: `resizes-visual`, `resizes-content`, or `overlays-content`. Default: `resizes-visual`.
-
-#
-
-
-
-
-
-
-
-
-
-
-
-
-
-?>
diff --git a/site.webmanifest.php b/site.webmanifest.php
deleted file mode 100644
index ee4cbad..0000000
--- a/site.webmanifest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-$config['APP_NAME']??'App',
- 'short_name' =>$config['APP_SHORT_NAME']??str_replace(' ','',$config['APP_NAME'])??'App',
- 'start_url' =>$config['APP_START_URL']??'/',
-];
-
-
-# "display": browser (default), standalone, minimal-ui, and fullscreen
-# fallback for each given mode: fullscreen → standalone → minimal-ui → browser
-
-$options=[
- 'display',
- 'description',
- 'background_color',
- 'theme_color',
-];
-
-foreach($options as $option) {
- $config_name='APP_'.strtoupper($option);
- isset($config[$config_name]) && $mf[$option] = $config[$config_name];
-}
-
-# Ensure override is set
-if (isset($mf['display']) && !isset($mf['display_override'])) {
- $mf['display_override']= [
- 'window-controls-overlay',
- $mf['display'],
- 'browser',
- ];
-}
-
-$mf['icons'] = [
- ['src' => __ICO__.'/android-icon-36x36.png', 'sizes' => '36x36', 'type' => 'image/png', 'density' => '0.75' ],
- ['src' => __ICO__.'/android-icon-48x48.png', 'sizes' => '48x48', 'type' => 'image/png', 'density' => '1.0' ],
- ['src' => __ICO__.'/android-icon-72x72.png', 'sizes' => '72x72', 'type' => 'image/png', 'density' => '1.5' ],
- ['src' => __ICO__.'/android-icon-96x96.png', 'sizes' => '96x96', 'type' => 'image/png', 'density' => '2.0' ],
- ['src' => __ICO__.'/android-icon-144x144.png', 'sizes' => '144x144', 'type' => 'image/png', 'density' => '3.0' ],
- ['src' => __ICO__.'/android-icon-192x192.png', 'sizes' => '192x192', 'type' => 'image/png', 'density' => '4.0' ]
-];
-
-echo json_encode($mf,JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
diff --git a/sitemap.php b/sitemap.php
index f5e14ad..f14f994 100644
--- a/sitemap.php
+++ b/sitemap.php
@@ -14,13 +14,27 @@
priority: optional, relative to other pages, from 0.0 to 1.0
*/
header('Content-Type: text/xml; charset=utf-8');
+$stylesheet_url = $config['SITEMAP_STYLESHEET'] ?? '/sitemap/sitemap.xsl';
-$fileglob = glob('*.php');
-$base = "{$_SERVER['REQUEST_SCHEME']}://{$_SERVER['SERVER_NAME']}";
+# Server Settings. Will select defaults for CLI usage
+$document_root = $_SERVER['DOCUMENT_ROOT'] ?: realpath(__DIR__.'/..');
+$scheme = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
+$host = $_SERVER['SERVER_NAME'] ?? 'localhost';
+$base_url = $scheme . '://' . $host;
+# Check for stylesheet before emitting xsl record
+if (file_exists($document_root.$stylesheet_url)) {
+ $stylesheet = "\n";
+} else {
+ error_log(__FILE__ . "$name cannot be found in $document_root");
+}
+
+# Find relative folder and scan for docs
+$article_path = str_replace($document_root, '', dirname(__FILE__));
+$fileglob = glob('*.{php,md}',GLOB_BRACE);
?>
-
+= $stylesheet ?>
modified_date;
@@ -37,7 +52,7 @@ foreach($fileglob as $file) {
$update = '2025-05-07';
?>
- = $base ?>/articles/= $file ?>
+ = $base_url . $article_path . '/' . $file ?>= $update ?>