View Source
The actual code behind this page. No minification. No transpilation. What you see is what runs.
|
| require_once __DIR__ . '/includes/config.php'; |
| $pageTitle = 'About — dispelled.ca'; |
| $currentPage = 'about'; |
| require_once __DIR__ . '/includes/header.php'; |
| ?> |
| <h1 class="page-title">About</h1> |
| <div class="prose-block"> |
| <p> |
| <strong>dispelled.ca</strong> is a personal homepage and news aggregator for a small Canadian household. |
| It pulls RSS feeds from across the open source, security, and tech world and presents them in a single clean stream. |
| </p> |
| <p> |
| The site is a retro PHP edition with zero JavaScript. |
| Pure HTML, pure CSS, rendered server-side — fast, accessible, and works on anything. |
| </p> |
| <p> |
| Everything is built and iterated on in the open using Replit and Claude. |
| Every feature, bug fix, and feed addition happens in real time. |
| </p> |
| </div> |
| <h2 class="section-subtitle">Stack</h2> |
| <div class="info-grid"> |
| <?php |
| $stack = [ |
| 'Frontend' => 'PHP + vanilla CSS (zero JS)', |
| 'API server' => 'Node.js + Express 5', |
| 'Weather' => 'Open-Meteo (free, no key)', |
| 'News feeds' => 'RSS via rss-parser', |
| 'Community' => 'Reddit public RSS feeds', |
| 'GitHub data' => 'GitHub public search API', |
| 'Stocks' => 'TradingView embedded widget', |
| 'Hosting' => 'Replit', |
| 'Built with' => 'Claude (Anthropic)', |
| ]; |
| foreach ($stack as $label => $value): ?> |
| <div class="info-card"> |
| <p class="info-label"><?= htmlspecialchars($label) ?></p> |
| <p class="info-value"><?= htmlspecialchars($value) ?></p> |
| </div> |
| <?php endforeach ?> |
| </div> |
| <h2 class="section-subtitle">News Sources</h2> |
| <ul class="source-list"> |
| <?php foreach (['Slashdot','Ars Technica','Hacker News','The Register','Phoronix','LWN.net','EFF','Krebs on Security'] as $s): ?> |
| <li><span class="source-arrow">›</span> <?= htmlspecialchars($s) ?></li> |
| <?php endforeach ?> |
| </ul> |
| <?php require_once __DIR__ . '/includes/footer.php'; ?> |
dispelled