summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.typ122
-rw-r--r--title.svg16
2 files changed, 138 insertions, 0 deletions
diff --git a/main.typ b/main.typ
new file mode 100644
index 0000000..55afd6e
--- /dev/null
+++ b/main.typ
@@ -0,0 +1,122 @@
+#set text(
+ font: "Gentium Book",
+ size: 12pt,
+ lang: "en",
+ region: "us",
+ script: "latn",
+)
+#set par(
+ leading: 0.5em,
+ spacing: 1em,
+ linebreaks: "optimized",
+)
+#set page(
+ width: 4.5in,
+ height: 5.5in,
+ margin: (x: 0.5in, y: 0.75in),
+)
+#set document(
+ title: "The Lightened Black",
+ author: "Mica White",
+ description: "A story of a sleepless night alone"
+)
+
+#let black = cmyk(0%, 0%, 0%, 100%)
+#let white = cmyk(0%, 0%, 0%, 0%)
+#let page-white(body) = [
+ #set page(fill: white)
+ #set text(fill: black)
+ #body
+]
+#let page-black(body) = [
+ #set page(fill: black)
+ #set text(fill: white)
+ #body
+]
+#let page-red(body) = [
+ #set page(fill: cmyk(0%, 40%, 40%, 0%))
+ #set text(fill: black)
+ #body
+]
+
+#let eyes(name) = pad(
+ top: 0.25in,
+ bottom: 0.25in,
+ align(center, image("eye-" + name + ".svg", width: 50%))
+)
+
+#let titlepage = {
+ counter(page).update(0)
+ context page(
+ margin: ( top: 25% ),
+ numbering: none,
+ fill: black, //gradient.radial(cmyk(0%, 0%, 0%, 75%), black),
+ align(center)[
+ #show: set text(fill: white, font: "Amita")
+ #align(end, image("title.svg", width: 100%, alt: "The Lightened Black"))
+ #document.author.map(
+ (author) => par(text(size: 1.15em, author))
+ ).join()
+ ]
+ )
+}
+#let copyrightpage(content) = {
+ counter(page).update(0)
+ page(
+ numbering: none,
+ align(center, content)
+ )
+}
+
+#show: page-white
+
+#copyrightpage[
+Copyright #sym.copyright 2026 by Mica White
+
+#linebreak()
+
+Any resemblance to actual persons or events would be very disappointing.
+
+#linebreak()
+
+First edition
+]
+#titlepage
+
+#let left() = {
+ let current = counter(page).get()
+ calc.odd(current.first())
+}
+#set page(
+ header: context {
+ align(center, text(
+ size: 0.9em,
+ if left() {
+ "The Lightened Black"
+ } else {
+ "Mica White"
+ }
+ ))
+ },
+ footer: context {
+ align(
+ if left() {start} else {end},
+ text(
+ size: 0.9em,
+ [#counter(page).get().first()]
+ ),
+ )
+ },
+)
+
+#eyes("open")
+#lorem(50)
+#show: page-black
+#eyes("closed")
+#lorem(50)
+#show: page-white
+#eyes("open-tears")
+#lorem(50)
+#show: page-red
+#align(center, image("eye-bloody.svg"))
+#lorem(50)
diff --git a/title.svg b/title.svg
new file mode 100644
index 0000000..14a02f8
--- /dev/null
+++ b/title.svg
@@ -0,0 +1,16 @@
+<svg version="1.1" width="575" height="100" xmlns="http://www.w3.org/2000/svg">
+ <g style="overflow:hidden; text-anchor: start; font-size:50; font-family: Impact, sans-serif">
+ <defs>
+ <filter id="glow" x="-30%" y="-30%" width="160%" height="160%">
+ <feGaussianBlur stdDeviation="10 10" result="glow"/>
+ <feMerge>
+ <feMergeNode in="glow"/>
+ <feMergeNode in="glow"/>
+ <feMergeNode in="glow"/>
+ </feMerge>
+ </filter>
+ </defs>
+ <text style="filter: url(#glow); fill: #777" x="60" y="55">The Lightened Black</text>
+ <text x="60" y="55" style="fill: white;">The Lightened Black</text>
+ </g>
+</svg>