summaryrefslogtreecommitdiff
path: root/SovereignDemesneAzure/SovereignDemesneRazor
diff options
context:
space:
mode:
Diffstat (limited to 'SovereignDemesneAzure/SovereignDemesneRazor')
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml57
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml.cs44
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/Pages/Reference.cshtml (renamed from SovereignDemesneAzure/SovereignDemesneRazor/Pages/Privacy.cshtml)2
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/Pages/Reference.cshtml.cs (renamed from SovereignDemesneAzure/SovereignDemesneRazor/Pages/Privacy.cshtml.cs)6
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/Pages/Shared/_Layout.cshtml16
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/css/site.css18
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/HPR.pngbin0 -> 17321 bytes
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/harvest.pngbin0 -> 4314962 bytes
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/landscape.pngbin0 -> 4077405 bytes
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/logo.pngbin0 -> 6671 bytes
-rw-r--r--SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/mainstreet.pngbin0 -> 4250696 bytes
11 files changed, 127 insertions, 16 deletions
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml
index f9ff8d4..7c36f96 100644
--- a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml
@@ -1,10 +1,59 @@
@page
@model IndexModel
@{
- ViewData["Title"] = "Home page";
+ ViewData["Title"] = "Home";
}
-<div class="text-center">
- <h1 class="display-4">Welcome</h1>
- <p>Learn about <a href="https://learn.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
+<div class="container">
+ <div class="row align-items-start mb-4">
+ <aside class="col-12 col-md-6 mb-3 text-center">
+ <img src="~/img/mainstreet.png" class="img-fluid rounded shadow-sm" style="max-height:130px;" alt="Site banner" loading="lazy" />
+ <img src="~/img/harvest.png" class="img-fluid rounded shadow-sm" style="max-height:130px;" alt="Site banner" loading="lazy" />
+ <img src="~/img/landscape.png" class="img-fluid rounded shadow-sm" style="max-height:130px;" alt="Site banner" loading="lazy" />
+ </aside>
+ <section class="col-12 col-md-6 mb-3">
+ <h4 class="h4">York County, Pennsylvania</h4>
+ <p>The source for this website can be found at <a href="https://git.dwalker.xyz/sovereign-demesne-azure.git">git.dwalker.xyz</a>. Licensed under <a href="https://git.dwalker.xyz/sovereign-demesne.git/tree/LICENSE">GPLv3</a>.</p>
+ <p><b>Council Members:</b> A mumble server is up in case of emergency meetings. We also have <a href="https://rss.dwalker.xyz">RSS management</a> and an <a href="https://bridge.dwalker.xyz">RSS bridge</a> to populate it.</p>
+ </section>
+ </div>
+
+ <div class="row g-4">
+ @foreach (IndexModel.LinkSection section in Model.Sections)
+ {
+ <section class="col-12 col-md-6">
+ <h2 class="h5 text-center">@(section.Title)</h2>
+ <hr/>
+ <ul class="list-unstyled link-columns">
+ @foreach (IndexModel.LinkItem link in section.Links)
+ {
+ <li class="mb-2">
+ <a class="link-light" href="@link.Url">@link.Text</a>
+ @if (!string.IsNullOrWhiteSpace(link.Description))
+ {
+ <div class="text-body-secondary small">@link.Description</div>
+ }
+ </li>
+ }
+ </ul>
+ </section>
+ }
+ </div>
+ <br/>
+ <div class="row g-4">
+ <h2 class="h5 text-center">@Model.LargeSection.Title</h2>
+ <hr/>
+ <ul class="list-unstyled link-columns-big">
+ @foreach (IndexModel.LinkItem link in Model.LargeSection.Links)
+ {
+ <li class="mb-2">
+ <a class="link-light" href="@link.Url">@link.Text</a>
+ @if (!string.IsNullOrWhiteSpace(link.Description))
+ {
+ <div class="text-body-secondary small">@link.Description</div>
+ }
+ </li>
+ }
+ </ul>
+ </div>
</div>
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml.cs b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml.cs
index 1dc7a2e..150a657 100644
--- a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml.cs
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Index.cshtml.cs
@@ -6,6 +6,12 @@ public sealed class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
+ public record LinkItem(string Text, string Url, string? Description = null);
+ public record LinkSection(string Title, IReadOnlyList<LinkItem> Links);
+
+ public IReadOnlyList<LinkSection> Sections { get; private set; } = default!;
+ public LinkSection LargeSection { get; private set; } = default!;
+
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
@@ -13,6 +19,42 @@ public sealed class IndexModel : PageModel
public void OnGet()
{
-
+ Sections =
+ [
+ new LinkSection("Content",
+ [
+ new LinkItem("Code", "https://git.dwalker.xyz"),
+ new LinkItem("Web Feed", "https://rss.dwalker.xyz"),
+ new LinkItem("RSS Bridge", "https://bridge.dwalker.xyz"),
+ new LinkItem("Budget", "https://budget.dwalker.xyz"),
+ new LinkItem("FoundryVTT", "https://foundry.dwalker.xyz"),
+ ]),
+ new LinkSection("Links",
+ [
+ new LinkItem("Build your own Website", "https://landchad.net"),
+ new LinkItem("Grand Sumo", "https://www.sumo.or.jp/En/"),
+ new LinkItem("Suckless Software", "https://suckless.org"),
+ new LinkItem("Weather", "https://wttr.in"),
+ new LinkItem("1MB Club", "https://1mb.club"),
+ new LinkItem("Translations", "https://simplytranslate.org"),
+ new LinkItem("Homesteader's Chronicle", "https://thehomesteaderschronicle.com/"),
+ new LinkItem("Luke Smith", "https://lukesmith.xyz"),
+ ]),
+ ];
+ LargeSection = new LinkSection("Local Goods & Services",
+ [
+ new LinkItem("Brown's Orchard", "https://brownsorchards.com"),
+ new LinkItem("Godfrey Brothers Meats", "https://godfreymeats.com"),
+ new LinkItem("Hiwwe wie Driwwe", "https://hiwwe-wie-driwwe.com/"),
+ new LinkItem("Maple Lawn Farms", "https://maplelawnfarms.com/"),
+ new LinkItem("Miller Plant Farm", "https://millerplantfarm.com"),
+ new LinkItem("Christmastime in Loganville", "https://christmastimeinloganville.com"),
+ new LinkItem("Perrydell Dairy Farm", "https://perrydellfarm.com"),
+ new LinkItem("Roburritos", "https://roburritos.com"),
+ new LinkItem("Shaw Orchards", "http://shaworchards.com"),
+ new LinkItem("Sonnewald Natural Goods", "https://sonnewald.org"),
+ new LinkItem("Jeff's Subs", "https://jeffssubs.com"),
+ new LinkItem("Flinchbaugh's Farm Market", "https://flinchbaughsorchard.com"),
+ ]);
}
}
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Privacy.cshtml b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Reference.cshtml
index 46ba966..ed745c3 100644
--- a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Privacy.cshtml
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Reference.cshtml
@@ -1,5 +1,5 @@
@page
-@model PrivacyModel
+@model ReferenceModel
@{
ViewData["Title"] = "Privacy Policy";
}
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Privacy.cshtml.cs b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Reference.cshtml.cs
index e979f14..6a11cff 100644
--- a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Privacy.cshtml.cs
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Reference.cshtml.cs
@@ -2,11 +2,11 @@
namespace SovereignDemesneRazor.Pages;
-public sealed class PrivacyModel : PageModel
+public sealed class ReferenceModel : PageModel
{
- private readonly ILogger<PrivacyModel> _logger;
+ private readonly ILogger<ReferenceModel> _logger;
- public PrivacyModel(ILogger<PrivacyModel> logger)
+ public ReferenceModel(ILogger<ReferenceModel> logger)
{
_logger = logger;
}
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Shared/_Layout.cshtml b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Shared/_Layout.cshtml
index 048c327..5bff736 100644
--- a/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Shared/_Layout.cshtml
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/Pages/Shared/_Layout.cshtml
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>@ViewData["Title"] - SovereignDemesneRazor</title>
+ <title>Dustin Walker's Webpage - @ViewData["Title"]</title>
<script type="importmap"></script>
<link rel="stylesheet" href="~/lib/bootswatch-darkly/dist/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
@@ -11,9 +11,10 @@
</head>
<body>
<header>
- <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
+ <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-dark bg-dark border-bottom box-shadow mb-3">
<div class="container">
- <a class="navbar-brand" asp-area="" asp-page="/Index">SovereignDemesneRazor</a>
+ <img src="~/img/HPR.png" class="img-fluid" style="max-height:50px; margin-right:30px;" alt="Logo"/>
+ <a class="navbar-brand" asp-area="" asp-page="/Index">Dustin Walker's Webpage</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
@@ -21,10 +22,10 @@
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
- <a class="nav-link text-dark" asp-area="" asp-page="/Index">Home</a>
+ <a class="nav-link text-light" asp-area="" asp-page="/Index">Home</a>
</li>
<li class="nav-item">
- <a class="nav-link text-dark" asp-area="" asp-page="/Privacy">Privacy</a>
+ <a class="nav-link text-light" asp-area="" asp-page="/Reference">Reference</a>
</li>
</ul>
</div>
@@ -37,9 +38,10 @@
</main>
</div>
- <footer class="border-top footer text-muted">
+ <footer class="border-top footer text-muted text-center">
<div class="container">
- <a asp-page="/Index">razor.dwalker.xyz</a> &copy; 2025 - Anno Domini
+ <img src="~/img/logo.png" class="img-fluid" style="max-height:30px; margin-right:15px;" alt="Logo"/>
+ <a href="https://dwalker.xyz">dwalker.xyz</a> &copy; 2025 Anno Domini
</div>
</footer>
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/css/site.css b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/css/site.css
index 819f612..7364cd0 100644
--- a/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/css/site.css
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/css/site.css
@@ -8,6 +8,24 @@ html {
}
}
+/* Two-column split for large lists on md+ screens; falls back to one column on mobile */
+@media (min-width: 768px) {
+ .link-columns {
+ column-count: 3;
+ column-gap: 1.25rem;
+ }
+ .link-columns > li {
+ break-inside: avoid;
+ }
+ .link-columns-big {
+ column-count: 5;
+ column-gap: 1.25rem;
+ }
+ .link-columns-big > li {
+ break-inside: avoid;
+ }
+}
+
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/HPR.png b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/HPR.png
new file mode 100644
index 0000000..a3ca05c
--- /dev/null
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/HPR.png
Binary files differ
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/harvest.png b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/harvest.png
new file mode 100644
index 0000000..19b0b3b
--- /dev/null
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/harvest.png
Binary files differ
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/landscape.png b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/landscape.png
new file mode 100644
index 0000000..d1ec2c0
--- /dev/null
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/landscape.png
Binary files differ
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/logo.png b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/logo.png
new file mode 100644
index 0000000..e680ebf
--- /dev/null
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/logo.png
Binary files differ
diff --git a/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/mainstreet.png b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/mainstreet.png
new file mode 100644
index 0000000..185b224
--- /dev/null
+++ b/SovereignDemesneAzure/SovereignDemesneRazor/wwwroot/img/mainstreet.png
Binary files differ