aboutsummaryrefslogtreecommitdiffstats
path: root/gaming/runescape/index.php
diff options
context:
space:
mode:
authorsillylaird <sillyfanboy@gmail.com>2026-09-03 00:33:59 +0000
committersillylaird <sillyfanboy@gmail.com>2026-09-03 00:33:59 +0000
commit898b52edcb47bcb3e9d6106e74ca73e74ea01e70 (patch)
tree85c6ee5ad58b860144551184d4cf86b560c62b91 /gaming/runescape/index.php
downloadwww-898b52edcb47bcb3e9d6106e74ca73e74ea01e70.tar.gz
www-898b52edcb47bcb3e9d6106e74ca73e74ea01e70.zip
import live www.sillylaird.ca webrootHEADmain
Diffstat (limited to 'gaming/runescape/index.php')
-rw-r--r--gaming/runescape/index.php139
1 files changed, 139 insertions, 0 deletions
diff --git a/gaming/runescape/index.php b/gaming/runescape/index.php
new file mode 100644
index 0000000..e8aacfa
--- /dev/null
+++ b/gaming/runescape/index.php
@@ -0,0 +1,139 @@
+<?php
+require_once __DIR__ . '/_lib.php';
+$rsData = runescape_data();
+?>
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
+ <meta name="description" content="RuneScape / OSRS fan page by SillyLaird." />
+ <meta property="og:title" content="RuneScape — SillyLaird" />
+ <meta property="og:description" content="RuneScape / OSRS fan page by SillyLaird." />
+ <meta property="og:image" content="https://www.sillylaird.ca/assets/img/lain.png" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.sillylaird.ca/gaming/runescape/" />
+ <meta property="og:locale" content="en_US" />
+ <meta property="og:locale:alternate" content="ja_JP" />
+ <meta property="og:locale:alternate" content="zh_CN" />
+ <meta name="twitter:card" content="summary_large_image" />
+ <meta name="twitter:title" content="RuneScape — SillyLaird" />
+ <meta property="og:description" content="RuneScape / OSRS fan page by SillyLaird." />
+ <meta name="twitter:image" content="https://www.sillylaird.ca/assets/img/lain.png" />
+ <link rel="canonical" href="https://www.sillylaird.ca/gaming/runescape/" />
+ <link rel="alternate" hreflang="x-default" href="https://www.sillylaird.ca/gaming/runescape/" />
+ <link rel="alternate" hreflang="en" href="https://www.sillylaird.ca/gaming/runescape/" />
+ <link rel="alternate" hreflang="zh" href="https://www.sillylaird.ca/gaming/runescape/index_zh.php" />
+ <link rel="alternate" hreflang="ja" href="https://www.sillylaird.ca/gaming/runescape/index_jp.php" />
+ <title>RuneScape — SillyLaird</title>
+ <link rel="icon" href="https://www.sillylaird.ca/assets/img/lain.png" />
+
+ <link rel="stylesheet" href="/assets/css/fonts.css" />
+ <link rel="stylesheet" href="/assets/css/site.css" />
+ <link rel="stylesheet" href="/assets/css/skeleton.css" />
+ <link rel="stylesheet" href="/assets/css/pages/computers.css" />
+</head>
+
+<body>
+ <a class="skip-link" href="#main">Skip to content</a>
+ <?php include '../../partials/header.php'; ?>
+
+ <main id="main" class="wrap">
+ <section aria-labelledby="rs-title">
+ <h1 id="rs-title">RuneScape (OSRS)</h1>
+
+ <nav class="colon-nav" aria-label="RuneScape page sections">
+ <strong>::Servers::</strong>
+ <?php foreach ($rsData['eras'] as $era): ?>
+ <a href="#era-<?= htmlspecialchars($era['id'], ENT_QUOTES, 'UTF-8') ?>-title"><?= htmlspecialchars($era['title'], ENT_QUOTES, 'UTF-8') ?></a> |
+ <?php endforeach; ?>
+ <a href="#servers-links-title">Links</a>
+ <strong>::Scrapbook::</strong>
+ <a href="#servers-bank-title">Bank Pics</a>
+ <strong>::Official::</strong>
+ <a href="https://oldschool.runescape.wiki/" target="_blank" rel="noopener noreferrer">OSRS Wiki</a>
+ </nav>
+
+ <div class="machine">
+ <div class="machine-row">
+ <img class="machine-thumb" src="/assets/img/runescape.png" alt="RuneScape" loading="lazy" decoding="async">
+ <div class="machine-facts">
+ <div class="machine-info">
+ <strong>Page added:</strong> 2026-07-25<br>
+ <strong>Last revised:</strong> 2026-07-25
+ </div>
+ <?php if ($rsData['welcome']): ?>
+ <?php runescape_render_welcome($rsData['welcome']); ?>
+ <?php else: ?>
+ <div class="machine-title machine-title--sub">Welcome</div>
+ <ul class="contact-list">
+ <li>A small fan page / launch pad &mdash; official OSRS plus private servers, grouped by era.</li>
+ <li>Servers listed below are unofficial preservation projects, not affiliated with Jagex Ltd.</li>
+ <li>Bookmark <a href="/gaming/runescape/">/gaming/runescape/</a> directly &mdash; server hosts change over time.</li>
+ </ul>
+ <?php endif; ?>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <?php foreach ($rsData['eras'] as $era): ?>
+ <section aria-labelledby="era-<?= htmlspecialchars($era['id'], ENT_QUOTES, 'UTF-8') ?>-title">
+ <h2 id="era-<?= htmlspecialchars($era['id'], ENT_QUOTES, 'UTF-8') ?>-title" class="section-accent-title"><?= htmlspecialchars($era['title'], ENT_QUOTES, 'UTF-8') ?></h2>
+ <?php if ($era['subtitle'] !== ''): ?><p class="muted"><?= htmlspecialchars($era['subtitle'], ENT_QUOTES, 'UTF-8') ?></p><?php endif; ?>
+ <?php $eraImgSrc = runescape_image_src($era['image']); ?>
+ <?php if ($eraImgSrc !== ''): ?>
+ <img class="rs-era-banner" src="<?= htmlspecialchars($eraImgSrc, ENT_QUOTES, 'UTF-8') ?>" alt="<?= htmlspecialchars($era['title'], ENT_QUOTES, 'UTF-8') ?>" loading="lazy" decoding="async">
+ <?php endif; ?>
+
+ <?php foreach ($era['servers'] as $srv): ?>
+ <?php runescape_render_server($srv); ?>
+ <?php endforeach; ?>
+ </section>
+ <?php endforeach; ?>
+
+ <!-- Screenshots are managed at /admin.php?section=runescape — placeholder-box slots
+ show until real ones are uploaded there; no manual editing needed. -->
+ <section aria-labelledby="servers-bank-title">
+ <h2 id="servers-bank-title" class="section-accent-title">My Bank / Screenshots</h2>
+ <?php if ($rsData['screenshots']): ?>
+ <div class="placeholder-grid">
+ <?php foreach ($rsData['screenshots'] as $shot): ?>
+ <figure class="rs-shot">
+ <img src="<?= htmlspecialchars(runescape_screenshot_src($shot['filename']), ENT_QUOTES, 'UTF-8') ?>"
+ alt="<?= htmlspecialchars($shot['caption'] !== '' ? $shot['caption'] : 'RuneScape screenshot', ENT_QUOTES, 'UTF-8') ?>"
+ loading="lazy" decoding="async">
+ <?php if ($shot['caption'] !== ''): ?>
+ <figcaption class="muted"><?= htmlspecialchars($shot['caption'], ENT_QUOTES, 'UTF-8') ?></figcaption>
+ <?php endif; ?>
+ </figure>
+ <?php endforeach; ?>
+ </div>
+ <?php else: ?>
+ <p class="muted">Placeholder &mdash; swap these for real bank/inventory screenshots later.</p>
+ <div class="placeholder-grid">
+ <div class="placeholder-box">Add screenshot 1</div>
+ <div class="placeholder-box">Add screenshot 2</div>
+ <div class="placeholder-box">Add screenshot 3</div>
+ </div>
+ <?php endif; ?>
+ </section>
+
+ <section aria-labelledby="servers-links-title">
+ <h2 id="servers-links-title" class="section-accent-title"><?= htmlspecialchars($rsData['links_section']['title'], ENT_QUOTES, 'UTF-8') ?></h2>
+ <?php if ($rsData['links_section']['items']): ?>
+ <ul class="contact-list">
+ <?php foreach ($rsData['links_section']['items'] as $item): ?>
+ <li><a href="<?= htmlspecialchars($item['url'], ENT_QUOTES, 'UTF-8') ?>" target="_blank" rel="noopener noreferrer"><?= htmlspecialchars($item['label'], ENT_QUOTES, 'UTF-8') ?></a><?= $item['desc'] !== '' ? ' &mdash; ' . htmlspecialchars($item['desc'], ENT_QUOTES, 'UTF-8') : '' ?></li>
+ <?php endforeach; ?>
+ </ul>
+ <?php endif; ?>
+ <?php if ($rsData['links_section']['disclaimer'] !== ''): ?>
+ <p class="muted"><?= htmlspecialchars($rsData['links_section']['disclaimer'], ENT_QUOTES, 'UTF-8') ?></p>
+ <?php endif; ?>
+ </section>
+ </main>
+
+ <?php include '../../partials/footer.php'; ?>
+</body>
+</html>