From 72036afe3e57c058e8016c29896335ee41c22969 Mon Sep 17 00:00:00 2001 From: Rory Hinnen Date: Wed, 6 May 2026 15:32:36 -0500 Subject: [PATCH] Library shaping up --- .../Sources/Elements/LibraryBurroughs.swift | 53 +++++++++++++++++++ hinnen/Sources/Elements/LibraryChandler.swift | 14 +++++ hinnen/Sources/Elements/LibraryGraham.swift | 14 +++++ hinnen/Sources/Elements/LibraryGray.swift | 14 +++++ .../Sources/Elements/LibraryLovecraft.swift | 33 ++++++++++++ hinnen/Sources/Elements/LibrarySmith.swift | 13 +++++ hinnen/Sources/Elements/LibraryWells.swift | 14 +++++ hinnen/Sources/Pages/Library.swift | 45 +++------------- hinnen/Sources/Themes/Themes.swift | 2 +- 9 files changed, 163 insertions(+), 39 deletions(-) create mode 100644 hinnen/Sources/Elements/LibraryBurroughs.swift create mode 100644 hinnen/Sources/Elements/LibraryChandler.swift create mode 100644 hinnen/Sources/Elements/LibraryGraham.swift create mode 100644 hinnen/Sources/Elements/LibraryGray.swift create mode 100644 hinnen/Sources/Elements/LibraryLovecraft.swift create mode 100644 hinnen/Sources/Elements/LibrarySmith.swift create mode 100644 hinnen/Sources/Elements/LibraryWells.swift diff --git a/hinnen/Sources/Elements/LibraryBurroughs.swift b/hinnen/Sources/Elements/LibraryBurroughs.swift new file mode 100644 index 0000000..66dd998 --- /dev/null +++ b/hinnen/Sources/Elements/LibraryBurroughs.swift @@ -0,0 +1,53 @@ +// +// LibraryBurroughs.swift +// IgniteStarter +// +// Created by Rory on 5/6/26. +// +import Ignite + +struct LibraryBurroughs: HTML { + var body: some HTML { + Group { + Text("Edgar Rice Burrough: Barsoom and Amtor") + .font(.title2) + .horizontalAlignment(.center) + Text(""" +Burroughs wrote these in the early part of the last century, and a they can be challenging to modern readers, both for the writing style and the content. They’re straightforward action, mostly focused and beating the bad guys and getting the girl, who seems to spend a lot of time not understanding our poor hero’s intentions. +""") + HStack(alignment: .top ) { + VStack { + Text("The Barsoom Series") + .font(.title3) + List { + Link("A Princess of Mars", target: "/epubs/PrincessOfMars.epub") + Link("The Gods of Mars", target: "/epubs/GodsOfMars.epub") + Link("Warlord of Mars", target: "/epubs/WarlordOfMars.epub") + Link("Thuvia, Maid of Mars", target: "/epubs/ThuviaMaidOfMars.epub") + Link("Chessmen of Mars", target: "/epubs/ChessmenOfMars.epub") + Link("Fighting Man of Mars", target: "/epubs/FightingManOfMars.epub") + Link("Swords of Mars", target: "/epubs/SwordsOfMars.epub") + Link("Synthetic Men of Mars", target: "/epubs/SyntheticMenOfMars.epub") + Link("Llana of Gathol", target: "/epubs/LlanaOfGathol.epub") + Link("The Mastermind Of Mars", target: "/epubs/MastermindOfMars.epub") + Link("John Carter of Mars", target: "/epubs/JohnCarterOfMars.epub") + } + .horizontalAlignment(.leading) + } + VStack { + Text("The Amtor Series") + .font(.title3) + List { + Link("Pirates of Venus", target: "/epubs/PiratesOfVenus.epub") + Link("Lost on Venus", target: "/epubs/LostOnVenus.epub") + Link("Carson of Venus", target: "/epubs/CarsonOfVenus.epub") + Link("Escape on Venus", target: "/epubs/EscapeOnVenus.epub") + Link("The Wizard of Venus", target: "/epubs/WizardOfVenus.epub") + } + .horizontalAlignment(.leading) + } + } + .horizontalAlignment(.center) + } + } +} diff --git a/hinnen/Sources/Elements/LibraryChandler.swift b/hinnen/Sources/Elements/LibraryChandler.swift new file mode 100644 index 0000000..35baac1 --- /dev/null +++ b/hinnen/Sources/Elements/LibraryChandler.swift @@ -0,0 +1,14 @@ +// +// LibraryBurroughs.swift +// IgniteStarter +// +// Created by Rory on 5/6/26. +// + + +import Ignite + +struct LibraryChandler: HTML { + var body: some HTML { + } +} diff --git a/hinnen/Sources/Elements/LibraryGraham.swift b/hinnen/Sources/Elements/LibraryGraham.swift new file mode 100644 index 0000000..fac2118 --- /dev/null +++ b/hinnen/Sources/Elements/LibraryGraham.swift @@ -0,0 +1,14 @@ +// +// LibraryBurroughs.swift +// IgniteStarter +// +// Created by Rory on 5/6/26. +// + + +import Ignite + +struct LibraryGraham: HTML { + var body: some HTML { + } +} diff --git a/hinnen/Sources/Elements/LibraryGray.swift b/hinnen/Sources/Elements/LibraryGray.swift new file mode 100644 index 0000000..a0ac093 --- /dev/null +++ b/hinnen/Sources/Elements/LibraryGray.swift @@ -0,0 +1,14 @@ +// +// LibraryBurroughs.swift +// IgniteStarter +// +// Created by Rory on 5/6/26. +// + + +import Ignite + +struct LibraryGray: HTML { + var body: some HTML { + } +} diff --git a/hinnen/Sources/Elements/LibraryLovecraft.swift b/hinnen/Sources/Elements/LibraryLovecraft.swift new file mode 100644 index 0000000..495ada2 --- /dev/null +++ b/hinnen/Sources/Elements/LibraryLovecraft.swift @@ -0,0 +1,33 @@ +// +// LibraryBurroughs.swift +// IgniteStarter +// +// Created by Rory on 5/6/26. +// + +import Ignite + +struct LibraryLovecraft: HTML { + var body: some HTML { + Group { + Text("Howard Phillips Lovecraft") + .font(.title2) + .horizontalAlignment(.center) + Text(""" +Lovecraft has a cult following, which is funny because he always wrote about cults. He takes a view of a universe in which humanity is not only insignificant, but stands on the edge of doom once beings greater than we take notice. +""") + VStack{ + List { + Link("At the Mountains of Madness", target: "/epubs/AtTheMountainsOfMadnes.epub") + Link("Dagon", target: "/epubs/dagon.epub") + Link("The Shadow Over Innsmouth", target: "/epubs/TheShadowOverInnsmouth.epub") + Link("Call of Cthulhu", target: "/epubs/CallOfCthulhu.epub") + Link("The Innsmouth Look", target: "/epubs/TheInnsmouthLook.epub") + } + .horizontalAlignment(.leading) + Emphasis("(All three in one!)") + } + .horizontalAlignment(.center) + } + } +} diff --git a/hinnen/Sources/Elements/LibrarySmith.swift b/hinnen/Sources/Elements/LibrarySmith.swift new file mode 100644 index 0000000..685dcbd --- /dev/null +++ b/hinnen/Sources/Elements/LibrarySmith.swift @@ -0,0 +1,13 @@ +// +// LibraryBurroughs.swift +// IgniteStarter +// +// Created by Rory on 5/6/26. +// + +import Ignite + +struct LibrarySmith: HTML { + var body: some HTML { + } +} diff --git a/hinnen/Sources/Elements/LibraryWells.swift b/hinnen/Sources/Elements/LibraryWells.swift new file mode 100644 index 0000000..473cebf --- /dev/null +++ b/hinnen/Sources/Elements/LibraryWells.swift @@ -0,0 +1,14 @@ +// +// LibraryBurroughs.swift +// IgniteStarter +// +// Created by Rory on 5/6/26. +// + + +import Ignite + +struct LibraryWells: HTML { + var body: some HTML { + } +} diff --git a/hinnen/Sources/Pages/Library.swift b/hinnen/Sources/Pages/Library.swift index 5687532..60b4746 100644 --- a/hinnen/Sources/Pages/Library.swift +++ b/hinnen/Sources/Pages/Library.swift @@ -15,44 +15,13 @@ struct Library: StaticPage { Text(""" I love reading, but I really don’t get enough time to do that anymore. I've become enamoured of the the process of creating e-books. There's something about it that I very much enjoy. """) - Group { - Text("Edgar Rice Burrough’s Barsoom Series") - .font(.title2) - Text(""" -Burroughs wrote these in the early part of the last century, and a they can be challenging to modern readers, both for the writing style and the content. They’re straightforward action, mostly focused and beating the bad guys and getting the girl, who seems to spend a lot of time not understanding our poor hero’s intentions. -""") - HStack(alignment: .top ) { - VStack { - Text("The Barsoom Series") - .font(.title3) - List { - Link("A Princess of Mars", target: "/epubs/PrincessOfMars.epub") - Link("The Gods of Mars", target: "/epubs/GodsOfMars.epub") - Link("Warlord of Mars", target: "/epubs/WarlordOfMars.epub") - Link("Thuvia, Maid of Mars", target: "/epubs/ThuviaMaidOfMars.epub") - Link("Chessmen of Mars", target: "/epubs/ChessmenOfMars.epub") - Link("Fighting Man of Mars", target: "/epubs/FightingManOfMars.epub") - Link("Swords of Mars", target: "/epubs/SwordsOfMars.epub") - Link("Synthetic Men of Mars", target: "/epubs/SyntheticMenOfMars.epub") - Link("Llana of Gathol", target: "/epubs/LlanaOfGathol.epub") - Link("The Mastermind Of Mars", target: "/epubs/MastermindOfMars.epub") - Link("John Carter of Mars", target: "/epubs/JohnCarterOfMars.epub") - } - } - VStack { - Text("The Amtor Series") - .font(.title3) - List { - Link("Pirates of Venus", target: "/epubs/PiratesOfVenus.epub") - Link("Lost on Venus", target: "/epubs/LostOnVenus.epub") - Link("Carson of Venus", target: "/epubs/CarsonOfVenus.epub") - Link("Escape on Venus", target: "/epubs/EscapeOnVenus.epub") - Link("The Wizard of Venus", target: "/epubs/WizardOfVenus.epub") - - } - } - } - } + LibraryBurroughs() + LibraryLovecraft() + LibrarySmith() + LibraryGraham() + LibraryWells() + LibraryChandler() + LibraryGray() } } } diff --git a/hinnen/Sources/Themes/Themes.swift b/hinnen/Sources/Themes/Themes.swift index 840a198..c4a7c3d 100644 --- a/hinnen/Sources/Themes/Themes.swift +++ b/hinnen/Sources/Themes/Themes.swift @@ -14,7 +14,7 @@ extension BaseTheme { var siteWidth: ResponsiveValues { .init(small: .px(770)) } // Prefer Avenir Next for the core font - var font: Font { .init(name: "Avenir Next, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif", weight: .regular) } + var font: Font { .init(name: "Futura, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif", weight: .regular) } // Prefer Menlo for monospaced font (code blocks) var monospaceFont: Font { .init(name: "Menlo, SFMono-Regular, Monaco, Consolas, Liberation Mono, Courier New, monospace", weight: .regular) }