- Public site (Home/Artists/Exhibitions/News/About/Contact) with EN/KO/JA i18n - Admin panel with login, CRUD, image upload, multilingual editing - Exhibition slider/lightbox view - FastAPI + MongoDB backend, JWT auth - Docker Compose deployment, behind nginx at jimi.yakenator.io
45 lines
1.5 KiB
HTML
45 lines
1.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>About — Jimi Gallery</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@300;400;500&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
<link rel="stylesheet" href="assets/styles.css" />
|
|
</head>
|
|
<body>
|
|
<div id="nav-slot"></div>
|
|
<main>
|
|
<section class="page-title">
|
|
<div class="eyebrow" id="eyebrow"></div>
|
|
<h1 id="about-title"></h1>
|
|
</section>
|
|
<section class="section-tight">
|
|
<div id="about-body" class="about-body"></div>
|
|
</section>
|
|
</main>
|
|
<div id="footer-slot"></div>
|
|
<script src="assets/i18n.js"></script>
|
|
<script src="assets/data.js"></script>
|
|
<script src="assets/app.js"></script>
|
|
<script>
|
|
(async () => {
|
|
try { await Store.load(); } catch (e) { return showBootError(e); }
|
|
renderChrome("about");
|
|
document.getElementById("eyebrow").textContent = t("eyebrow.about_gallery");
|
|
const s = Store.settings();
|
|
document.getElementById("about-title").textContent = s.galleryName;
|
|
document.getElementById("about-body").innerHTML = L(s.about)
|
|
.split("\n")
|
|
.map((p) => `<p>${p}</p>`)
|
|
.join("");
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html>
|