summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-06-22 17:56:20 -0400
committerbd <bdunahu@operationnull.com>2025-06-22 17:56:20 -0400
commitf4665ca551af11e743fc6ba9cf0a14c1d24f976e (patch)
treea44499144663e87071cfff4352d9c2b3704000ce
parent2dc334e3cb8932be07c9c7a03d10c93d0a5d9a6c (diff)
Make header, footer, stick to top and bottom and take up full width
-rw-r--r--content/assets/site.css107
-rw-r--r--src/operationnull/pages.scm66
-rw-r--r--src/operationnull/theme.scm79
3 files changed, 136 insertions, 116 deletions
diff --git a/content/assets/site.css b/content/assets/site.css
index b5632ed..5c68537 100644
--- a/content/assets/site.css
+++ b/content/assets/site.css
@@ -7,36 +7,36 @@ html {
}
.container {
- display: flex;
- flex-direction: column;
align-items: center;
height: 100%;
- width: 100%;
+ width: 90%;
margin: 40px auto;
}
body {
- margin: 0;
+ display: grid;
+ grid-template-rows: auto 1fr auto;
font-family: 'Open Sans', Helvetica, sans-serif;
line-height: 1.5;
font-size: 18px;
color: #aaaabb;
+ margin: 0px;
+ padding: 0px;
+ min-height: 100vh;
}
-body intro,
-body article,
-body footer {
+body article {
background: rgba(0, 0, 0, 0.6);
- margin: 2px 0;
+ margin: 0px;
width: 100%;
padding: 20px;
border-radius: 8px;
box-sizing: border-box;
}
-@media (min-width: 800px) {
+@media (min-width: 1200px) {
.container {
- width: calc(100% - 480px); /* 240px each side */
+ width: 55%
}
}
@@ -64,34 +64,45 @@ body h4 img {
vertical-align: middle;
border: 0 none;
}
-body h1 {
- font-size: 42px;
- margin-top: 40px;
-}
body h1 {
+ font-weight: bold;
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
+ padding: 0px;
+ margin: 0px 0px 20px 0px;
font-size: 42px;
- margin-top: 40px;
}
+
.gray {
font-weight: lighter;
color: gray;
}
+
.black {
font-weight: lighter;
color: black;
}
+
body h2 {
- margin-top: 60px;
+ font-weight: bold;
+ text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
+ padding: 0px;
+ margin: 0px;
position: relative;
font-size: 32px;
}
+
body h3 {
- font-size: 22px;
- margin-top: 40px;
font-weight: bold;
+ text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
+ padding: 0px;
+ margin: 0px 0px 20px 0px;
+ font-size: 22px;
}
+
body p {
+ padding: 0px;
+ margin: 0;
text-align: justify;
}
@@ -99,13 +110,20 @@ body a {
text-decoration: none;
color: #7776ff;
}
+
body a:hover {
color: #841076;
text-decoration: underline;
}
a:visited {
- color: #404040;
+ color: #606060;
+}
+
+.c {
+ padding: 20px;
+ background: rgba(0, 0, 0, 0.2);
+ border-radius: 8px;
}
body pre {
@@ -121,7 +139,7 @@ body pre.src {
body code {
background: #111;
padding: 0px 4px;
- color: #ccc;
+ color: #eee;
overflow-x: auto;
font-size: .9em;
}
@@ -159,11 +177,20 @@ blockquote {
/* Header */
+.grid-container, .grid-item {
+ margin: 0;
+ padding: 0;
+ border: none;
+}
+
intro {
+ background: rgba(0, 0, 0, 0.8);
display: grid;
- grid-template-columns: 1fr 2fr;
- color: #BBB;
- gap: 10px;
+ grid-template-columns: 1fr 1fr;
+ color: #ccc;
+ gap: 150px;
+ margin: 0;
+ padding: 8px;
}
intro h1 {
@@ -174,7 +201,7 @@ intro h1 {
}
intro p {
- color: #aaa;
+ color: #ccc;
font-size: 14px !important;
margin: 0;
}
@@ -185,16 +212,9 @@ intro img {
border-radius: 100%;
}
-/* text is like this: */
-/* display: flex; flex-direction: column; margin-left: 10px; text-align: left; */
-
-/* img wrapper like this: */
-/* contain: size; justify-self: end; */
-
nav {
flex: 0 0 auto;
- text-align: left;
- font-size: 12px;
+ font-size: 14px;
}
nav ul {
@@ -203,7 +223,7 @@ nav ul {
}
nav li {
- color: #999;
+ color: #ccc;
display: inline-block;
margin: 0;
}
@@ -214,34 +234,35 @@ nav li:first-child {
nav a {
display: inline-block;
- padding-right: 6px;
+ padding-right: 12px;
border-radius: 0;
font-weight: normal;
- color: #6a6a6a;
+ color: #aeaeae;
}
nav a:hover {
- color: #6a6a6a;
+ color: #aeaeae;
}
nav a:visited {
- color: #6a6a6a;
+ color: #aeaeae;
}
/* Footer */
footer {
- flex: 0 0 auto;
+ width: 100%;
+ padding: 20px;
+ background: rgba(0, 0, 0, 0.8);
font-size: 0.8em;
line-height: 1.8em;
- margin-top: 50px;
text-align: center;
- color: #aaa;
+ color: #ccc;
padding: 15px 0;
}
.fade-text {
- color: #ddd;
+ color: #eee;
}
/* Summaries */
@@ -263,13 +284,13 @@ footer {
.date {
margin-top: -0.3rem;
- color: #6a6a6a;
+ color: #aeaeae;
font-size: 90%;
}
.tags {
margin-top: -1.4rem;
- color: #6a6a6a;
+ color: #aeaeae;
font-size: 70%;
}
diff --git a/src/operationnull/pages.scm b/src/operationnull/pages.scm
index a1f78ee..6993cdb 100644
--- a/src/operationnull/pages.scm
+++ b/src/operationnull/pages.scm
@@ -7,47 +7,47 @@
(define index-content
'(article (h2 "Welcome.")
- (p "My name is Benjamin. operationnull is my personal site.")
- (p "My interests often revolve around processing and manipulating text--code generation, interpreters, Norse mythology, sword and sorcery, and GNU Emacs, the ultimate text-based operating system. I graduated from CSU with a B.S. in computer science Spring 2024.")
- (ul (@ (type "bullet"))
- (li "I sometimes practice poetry/fiction writing ("
- (a (@ (href "/gold.html"))
- "gold")
- ").")
- (li "I am working on a short sword and sorcery story about a frankensteinish werewolf, and possibly, blood.")
- (li "I am currently learning (guile) scheme, and using it to design a C compiler.")
- (li "A few of my personal projects can be found on my "
- (a (@ (href "https://git.operationnull.com/"))
- "git server")
- ".")
- (li "I host a small gemlog on the link titled 'porphyrion'."))))
+ (div (@ (class "c"))
+ (p "My name is Benjamin. operationnull is my personal site.")
+ (p "My interests often revolve around processing and manipulating text--code generation, interpreters, Norse mythology, sword and sorcery, and GNU Emacs, the ultimate text-based operating system. I graduated from CSU with a B.S. in computer science Spring 2024.")
+ (ul (@ (type "bullet"))
+ (li "I sometimes practice poetry/fiction writing ("
+ (a (@ (href "/gold.html"))
+ "gold")
+ ").")
+ (li "I am working on a short sword and sorcery story about a frankensteinish werewolf, and possibly, blood.")
+ (li "I am currently learning (guile) scheme, and using it to design a C compiler.")
+ (li "A few of my personal projects can be found on my "
+ (a (@ (href "https://git.operationnull.com/"))
+ "git server")
+ ".")
+ (li "I host a small gemlog on the link titled 'porphyrion'.")))))
(define contact-content
- '(article (h2 "Contact")
- (p "I am on Matrix and IRC:")
- (ul (@ (type "bullet"))
- (li (b "IRC: ") "@ bdunahu @ libera.chat or @ Gondul @ libera.chat")
- (li (b "matrix: ") "@bdunahu:tchncs.de"))
- (p "If you don't use those:")
- (ul (@ (type "bullet"))
- (li (b "email: ") "bdunahu @ this domain"))
- (ul (@ (style "font-size: 80%;"))
- (p "If you know how/want to send encrypted email:")
- (ul (code "curl -sL https://operationnull.com/assets/bdunahu.pub | gpg --import")
- (br)
- "Fingerprint: "
- (code "5550 5CA6 9DE5 D342 7F31 F9AE 5F86 6C65 2A34 C996")))
- (br)
- (p "I do not have any accounts open with any big-tech services. Reluctantly, I do have a discord account.")))
+ '(article (h2 "Matrix and IRC")
+ (div (@ (class "c"))
+ (b "IRC: ") "@ bdunahu @ libera.chat or @ Gondul @ libera.chat"
+ (br)
+ (b "matrix: ") "@bdunahu:tchncs.de")
+ (h2 "Email")
+ (div (@ (class "c"))
+ "bdunahu @ this domain"
+ (ul (@ (style "font-size: 80%;"))
+ (p "If you know how/want to send encrypted email:")
+ (ul (code "curl -sL https://operationnull.com/assets/bdunahu.pub | gpg --import")
+ (br)
+ "Fingerprint: "
+ (code "5550 5CA6 9DE5 D342 7F31 F9AE 5F86 6C65 2A34 C996"))))))
(define e404
'(article (h2 "403/404 Error")
- (p "The requested page does not exist, or you do not have access.")))
+ (div (@ (class "c"))
+ (p "The requested page does not exist, or you do not have access."))))
(define gold-content
'(article (h2 "More Worthless than Gold")
(div (@ (class "date"))
- "Written on Feb 12, 2024 by bdunahu")
+ "Written on Feb 12, 2024 by bdunahu")
(br)
(div (p (@ (class "verse"))
"Wilt beneath branches bent on ill-bound hope"
@@ -83,6 +83,6 @@
(br)
"and thus conclude the "
(a (@ (href "https://norse-mythology.org/tales/odins-discovery-of-the-runes/"))
- "coward's futile plight")
+ "coward's futile plight")
"."
(br)))))
diff --git a/src/operationnull/theme.scm b/src/operationnull/theme.scm
index 7a90a60..33e0b2a 100644
--- a/src/operationnull/theme.scm
+++ b/src/operationnull/theme.scm
@@ -41,47 +41,46 @@
,(stylesheet "site")
)
(body
+ (intro
+ (div (@ (style "contain: size; justify-self: end;"))
+ (img (@ (alt "raven") (class "no-border")
+ (src "/assets/raven.png"))))
+ (div (@ (style "text-align: left;"))
+ (h1 (span (@ (class "white")) bdunahu))
+ (p "cs graduate student @ "
+ (a (@ (href "https://www.cics.umass.edu/"))
+ "UMass Amherst"))
+ (nav
+ (div (ul (li (a (@ (href "gemini://porphyrion.operationnull.com/"))
+ "porphyrion"))
+ (li (a (@ (href "https://git.operationnull.com/"))
+ "git"))
+ (li (a (@ (href "/contact.html"))
+ "contact"))
+ (li (a (@ (href "/"))
+ "home")))))))
(div (@ (class "container"))
- (intro
- (div (@ (style "contain: size; justify-self: end;"))
- (img (@ (alt "raven") (class "no-border")
- (src "/assets/raven.png"))))
- (div (@ (style "text-align: left;"))
- (h1 (span (@ (class "white")) bdunahu))
- (p "cs graduate student @ "
- (a (@ (href "https://www.cics.umass.edu/"))
- "UMass Amherst"))))
- (nav
- (div
- (ul (li (a (@ (href "gemini://porphyrion.operationnull.com/"))
- "porphyrion"))
- (li (a (@ (href "https://git.operationnull.com/"))
- "git"))
- (li (a (@ (href "/contact.html"))
- "contact"))
- (li (a (@ (href "/"))
- "home")))))
- ,body
- (footer (@ (class "footer"))
- (script (@ (id "umaring_js")
- (src "https://umaring.mkr.cx/ring.js?id=bdunahu")))
- (div (@ (id "umaring")))
- "Copyright © 2025 bdunahu"
- (br)
- "Site content available under the " ,%cc-by-sa-link " license "
- (a (@ (href "https://git.operationnull.com/operationnull.git/"))
- "here")
- "."
- (br)
- "Last updated on "
- ,(date->string (current-date) "~b ~d, ~Y")
- ". Generated with "
- (a (@ (href "https://dthompson.us/projects/haunt.html"))
- "Haunt")
- " and "
- (a (@ (href "https://gnu.org/software/guile"))
- "Guile Scheme")
- ".")))))
+ ,body)
+ (footer (@ (class "footer"))
+ (script (@ (id "umaring_js")
+ (src "https://umaring.mkr.cx/ring.js?id=bdunahu")))
+ (div (@ (id "umaring")))
+ "Copyright © 2025 bdunahu"
+ (br)
+ "Site content available under the " ,%cc-by-sa-link " license "
+ (a (@ (href "https://git.operationnull.com/operationnull.git/"))
+ "here")
+ "."
+ (br)
+ "Last updated on "
+ ,(date->string (current-date) "~b ~d, ~Y")
+ ". Generated with "
+ (a (@ (href "https://dthompson.us/projects/haunt.html"))
+ "Haunt")
+ " and "
+ (a (@ (href "https://gnu.org/software/guile"))
+ "Guile Scheme")
+ "."))))
#:post-template
(lambda (post)
`((article