diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..578ca29 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +hinnen/Package.resolved diff --git a/hinnen/Sources/Elements/Logo.swift b/hinnen/Sources/Elements/Logo.swift index 23fd966..46d2a3e 100644 --- a/hinnen/Sources/Elements/Logo.swift +++ b/hinnen/Sources/Elements/Logo.swift @@ -1,11 +1,46 @@ import Foundation import Ignite -struct logo: StaticPage { - var title = "Battlefleet: Scarus" - +struct Logo: HTML { var body: some HTML { - Text(title) - .font(.title1) + // ── Logo ────────────────────────────────────────────────────────────── + // Simplified Underground logo using ZStack and SwiftUI-like modifiers + VStack { + ZStack { + // Red circle + Text("") + .frame(width: 190, height: 190) + .background(.red) + .cornerRadius(95) + .border(.black, width: 1) + + // White circle + Text("") + .frame(width: 110, height: 110) + .background(.white) + .cornerRadius(55) + .border(.black, width: 1) + + // Blue bar with "Hinnen" + VStack { + Spacer() + Text("Hinnen".uppercased()) + .foregroundStyle(.white) + .font(.custom("Futura", size: 33)) + Spacer() + } + .frame(width: 214, height: 40, alignment: .center) + .background(.blue) + .border(.black, width: 1) + .horizontalAlignment(.center) + } + // "Underground" label beneath + Text("Underground".uppercased()) + .font(.custom("Futura", size: 25)) + .frame(width: 214, alignment: .top) + .horizontalAlignment(.center) + } + .frame(width: 214) } } + diff --git a/hinnen/Sources/Elements/Mastodon.swift b/hinnen/Sources/Elements/Mastodon.swift index e69de29..87f13f2 100644 --- a/hinnen/Sources/Elements/Mastodon.swift +++ b/hinnen/Sources/Elements/Mastodon.swift @@ -0,0 +1,25 @@ +// +// Mastodon.swift +// IgniteStarter +// +// Created by Rory on 5/5/26. +// + +import Foundation +import Ignite + +struct Mastodon: HTML { + var body: some HTML { + + // ── Mastodon / rel=me links (hidden, for verification) ──────────────── + Link("", target: "https://twit.social/@roryh") + .relationship(.me) + + Link("", target: "https://mograph.social/@Roryhinnen") + .relationship(.me) + + Link("", target: "https://cinematheque.social/@Rory") + .relationship(.me) + } + +} diff --git a/hinnen/Sources/Pages/Battlefleet.swift b/hinnen/Sources/Pages/Battlefleet.swift index 1e46848..ecec573 100644 --- a/hinnen/Sources/Pages/Battlefleet.swift +++ b/hinnen/Sources/Pages/Battlefleet.swift @@ -1,18 +1,14 @@ -// -// SwiftUIView.swift -// IgniteStarter -// -// Created by Rory on 5/3/26. -// +import Foundation +import Ignite -import SwiftUI - -struct SwiftUIView: View { - var body: some View { - Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) +struct Battlefleet: StaticPage { + var title = "Battlefleet: Scarus" + + var body: some HTML { + Text(title) + .font(.title1) } } -#Preview { - SwiftUIView() -} + + diff --git a/hinnen/Sources/Pages/Home.swift b/hinnen/Sources/Pages/Home.swift index 18ff6ba..ae194f4 100644 --- a/hinnen/Sources/Pages/Home.swift +++ b/hinnen/Sources/Pages/Home.swift @@ -5,19 +5,50 @@ struct Home: StaticPage { var title = "Hinnen Underground" var body: some HTML { - Text("Hinnen Underground") - .font(.title1) - Link("Rory", target: "https://rory.hinnen.us") - Link("Robin", target: "https://robin.hinnen.us") - Link("Robin's Cancer Blog", target: "https://bab.hinnen.us") - Link("MGA", target: "mga/") - Link("Drive In", target: "drive-in/") - Link("Minecraft", target: "minecraft/") - Link("Legends of Dying Mars", target: "lods-dying-mars/") - Link("X-Wing Rules", target: "xwing/") - Link("Adventures in Modern Coding", target: "modern-coding/") - Link("The Library", target: "library/") - Link("Archeological remains", target: "archeological-remains/") - Link("Battlefleet: Sector Scarus", target: "battlefleet/") + Group{ + Logo() + .horizontalAlignment(.center) + Grid(alignment: .center) { + Link("Rory", target: "https://rory.hinnen.us") + .linkStyle(.button) + .width(4) + Link("Robin", target: "https://robin.hinnen.us") + .linkStyle(.button) + .width(4) + Link("Robin's Cancer Blog", target: "https://bab.hinnen.us") + .linkStyle(.button) + .width(4) + Link("MGA", target: "mga/") + .linkStyle(.button) + .width(4) + Link("Drive In", target: "drive-in/") + .linkStyle(.button) + .width(4) + Link("Minecraft", target: "minecraft/") + .linkStyle(.button) + .width(4) + Link("Legends of Dying Mars", target: "lods-dying-mars/") + .linkStyle(.button) + .width(4) + Link("X-Wing Rules", target: "xwing/") + .linkStyle(.button) + .width(4) + Link("Adventures in Modern Coding", target: "modern-coding/") + .linkStyle(.button) + .width(4) + Link("The Library", target: "library/") + .linkStyle(.button) + .width(4) + Link("Archeological remains", target: "archeological-remains/") + .linkStyle(.button) + .width(4) + Link("Battlefleet: Sector Scarus", target: Battlefleet()) + .linkStyle(.button) + .width(4) + } + } + .frame(maxWidth: .percent(80%)) + .horizontalAlignment(.center) + Mastodon() } }