7 languages, 3 pages (What/How/Start), 80-line router, 98KB total.
Features:
- No database, no Composer, no build step — just files on disk
- nginx PHP isolation: only index.php executes
- Bot detection with browser heuristic bypass
- Rate limiting, structured weekly logs, geo-location, Telegram alerts
- Multi-language: Accept-Language auto-detect, nav dropdown
- Article sub-page routing via /start/{slug}
- Apache + Caddy config alternatives documented in Start page
- Sample config — no real keys or secrets
27 lines
1.2 KiB
PHTML
27 lines
1.2 KiB
PHTML
<?php
|
|
include(__ROOT__.'/app/model/menu.php');
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="<?php echo $_SESSION['SITE']['language'] ?? 'en'; ?>">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="description" content="<?php echo SITE_DESCRIPTION; ?>">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="robots" content="index, nofollow" />
|
|
<title><?php echo SITE_NAME; ?></title>
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
|
|
<link rel="stylesheet" type="text/css" href="<?php echo __URL__; ?>cdn/css/default.css" >
|
|
<link rel="stylesheet" type="text/css" href="<?php echo __URL__; ?>cdn/css/mobile.css" >
|
|
</head>
|
|
<body>
|
|
<nav class="navbar">
|
|
<div class="nav-container">
|
|
<div class="nav-logo">
|
|
<span class="nav-logo-text">◆</span>
|
|
</div>
|
|
<div class="nav-title"><?php echo SITE_NAME ?></div>
|
|
<div class="nav-menu"><?php echo $menue ?></div>
|
|
<div class="hamburger"><span class="bar"></span><span class="bar"></span><span class="bar"></span></div>
|
|
</div>
|
|
</nav>
|
|
<div class="content-wrapper">
|