summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--content/assets/background.jpgbin0 -> 428704 bytes
-rw-r--r--content/assets/favicon.icobin3262 -> 16958 bytes
-rw-r--r--content/assets/raven.pngbin41709 -> 5178 bytes
-rw-r--r--content/assets/site.css150
-rw-r--r--src/operationnull/pages.scm83
-rw-r--r--src/operationnull/site.scm3
-rw-r--r--src/operationnull/theme.scm77
7 files changed, 185 insertions, 128 deletions
diff --git a/content/assets/background.jpg b/content/assets/background.jpg
new file mode 100644
index 0000000..5f1aeb2
--- /dev/null
+++ b/content/assets/background.jpg
Binary files differ
diff --git a/content/assets/favicon.ico b/content/assets/favicon.ico
index 87bb215..789f294 100644
--- a/content/assets/favicon.ico
+++ b/content/assets/favicon.ico
Binary files differ
diff --git a/content/assets/raven.png b/content/assets/raven.png
index f103375..6366d8a 100644
--- a/content/assets/raven.png
+++ b/content/assets/raven.png
Binary files differ
diff --git a/content/assets/site.css b/content/assets/site.css
index accc03f..dc3f276 100644
--- a/content/assets/site.css
+++ b/content/assets/site.css
@@ -1,17 +1,42 @@
+html {
+ background: url(background.jpg) no-repeat center center fixed;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover;
+}
+
+.container {
+ align-items: center;
+ height: 100%;
+ width: 95%;
+ margin: 30px auto;
+}
+
body {
+ display: grid;
+ grid-template-rows: auto 1fr auto;
font-family: 'Open Sans', Helvetica, sans-serif;
line-height: 1.5;
- font-size: 18px;
- background: #000;
+ font-size: 16px;
color: #aaaabb;
- margin: 0;
- border-top: 3px solid #4101dc;
+ margin: 0px;
+ padding: 0px;
+ min-height: 100vh;
}
-@media (max-width: 799px) {
- body {
- padding: 15px;
- font-size: .95em;
+body article {
+ background: rgba(0, 0, 0, 0.6);
+ margin: 0px;
+ width: 100%;
+ padding: 20px;
+ border-radius: 8px;
+ box-sizing: border-box;
+}
+
+@media (min-width: 1200px) {
+ .container {
+ width: 60%
}
}
@@ -39,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.8);
+ 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.8);
+ padding: 0px;
position: relative;
- font-size: 32px;
+ margin: 0;
+ font-size: 24px;
}
+
body h3 {
- font-size: 22px;
- margin-top: 40px;
font-weight: bold;
+ text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
+ padding: 0px;
+ margin: 0;
+ font-size: 22px;
}
+
body p {
+ padding: 4px;
+ margin: 0;
text-align: justify;
}
@@ -74,13 +110,21 @@ 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;
+ margin: 0px 0px 15px 0px;
}
body pre {
@@ -96,7 +140,7 @@ body pre.src {
body code {
background: #111;
padding: 0px 4px;
- color: #ccc;
+ color: #eee;
overflow-x: auto;
font-size: .9em;
}
@@ -108,6 +152,8 @@ body li {
body img {
border: 1px solid #ccc;
height: auto;
+ width: auto;
+ flex: 0 0 auto;
}
@media (max-width: 800px) {
@@ -132,35 +178,45 @@ blockquote {
/* Header */
+.grid-container, .grid-item {
+ margin: 0;
+ padding: 0;
+ border: none;
+}
+
intro {
- color: #BBB;
- text-align: center;
+ background: rgba(0, 0, 0, 0.8);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #ccc;
+ gap: 16px;
+ margin: 0;
+ padding: 8px;
}
intro h1 {
- font-size: 42px;
+ font-size: 32px;
font-weight: bold;
line-height: 1em;
- margin: .3em;
- padding: 0;
+ margin: 0;
}
intro p {
- color: #aaa;
+ color: #ccc;
font-size: 14px !important;
- text-align: center;
+ margin: 0;
}
intro img {
- border-radius: 100%;
+ max-height: 100%;
width: 100px;
+ border-radius: 100%;
}
nav {
- text-align: center;
- margin-top: 30px;
- border-bottom: 1px solid #e2e2e2;
- font-size: 12px;
+ flex: 0 0 auto;
+ font-size: 14px;
}
nav ul {
@@ -169,7 +225,7 @@ nav ul {
}
nav li {
- color: #999;
+ color: #ccc;
display: inline-block;
margin: 0;
}
@@ -180,43 +236,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 */
-@media (min-width: 800px) {
- body article,
- body footer {
- margin: 0 auto;
- max-width: 700px !important;
- width: 700px !important;
- }
-}
-
footer {
+ 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;
- border-top: 1px solid #e2e2e2;
}
.fade-text {
- color: #ddd;
+ color: #eee;
}
/* Summaries */
@@ -238,13 +286,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 d317570..9bf9d5a 100644
--- a/src/operationnull/pages.scm
+++ b/src/operationnull/pages.scm
@@ -6,48 +6,63 @@
(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 have an interest in poetry/fiction though the quality of my work is up to your interpretation ("
- (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")
- ", all of which are libre.")
- (li "I host a small gemlog on the link titled 'porphyrion'."))))
+ '(article (h2 "Hello!")
+ (div (@ (class "c"))
+ (p "My name is Benjamin, and you have reached my personal site!")
+ (p "Some of my current interests include sword and sorcery, abstract syntax trees and compilers, Norse mythology, scheme programming, and metal music. "
+ (a (@ (href "/gold.html"))
+ "I sometimes practice poetry")
+ "/fiction writing.")
+ (br)
+ (h3 "Some stuff I am currently doing:")
+ (ul (@ (type "bullet"))
+ (li "learning (guile) scheme, and using it to design a C compiler.")
+ (li "working on a short sword and sorcery story about a frankensteinish werewolf, and possibly, blood.")
+ (li "learning how to profile asynchronous code using sampling for the purpose of contributing it to "
+ (a (@ (href "https://github.com/plasma-umass/scalene"))
+ "SCALENE")
+ ".")))
+ (h2 "Similar sites:")
+ (div (@ (class "c"))
+ (p "The web is currently being overrun with AI generated content. Even before then, search engines prioritized commercial pages over personalized sites or blogs. I have come across three solutions:")
+ (ol
+ (li "webrings! The footer of this site contains links to the sites of my peers'.")
+ (li (a (@ (href "https://wiby.me"))
+ "wiby.me")
+ ", a unique search engine which indexes only personal blogs. The all-knowing "
+ (a (@ (href "https://searxng.org/"))
+ "searxng")
+ " can be configured to index this engine while simultaneously accessing google or duckduckgo.")
+ (li "try the "
+ (a (@ (href "https://geminiprotocol.net/"))
+ "gemini protocol")
+ ", which is filled with interesting 'gemlogs'. I have started my own, named 'Porphyrion'.")))))
(define contact-content
- '(article (h2 "Contact")
- (p "I am reachable by email:")
- (ul (@ (type "bullet"))
- (li (b "email: ") "bdunahu @ this domain"))
- (ul (p (@ (style "font-size: 80%;"))
- "If you know how/want to send encrypted email:")
- (ul (@ (style "font-size: 80%;"))
- (code "curl -sL https://operationnull.com/assets/bdunahu.pub | gpg --import")
- (br)
- "Fingerprint: "
- (code "5550 5CA6 9DE5 D342 7F31 F9AE 5F86 6C65 2A34 C996")))
- (p "Additionally, these accounts belong to me.")
- (ul (@ (type "bullet"))
- (li (b "IRC: ") "@ Isaz @ libera.chat")
- (i "And: ") "@ Gondul @ libera.chat"
- (li (b "matrix: ") "@bdunahu:tchncs.de"))))
+ '(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 +98,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/site.scm b/src/operationnull/site.scm
index c6cfe31..1fad264 100644
--- a/src/operationnull/site.scm
+++ b/src/operationnull/site.scm
@@ -11,9 +11,6 @@
#:export (main-site))
-(define %blog-collection
- `(("Infrequently Updated Notes" "/posts/index.html" ,posts/reverse-chronological)))
-
(define main-site
(site #:title "operationnull"
#:domain "operationnull.com"
diff --git a/src/operationnull/theme.scm b/src/operationnull/theme.scm
index db5a157..88e04c0 100644
--- a/src/operationnull/theme.scm
+++ b/src/operationnull/theme.scm
@@ -38,50 +38,47 @@
(type "image/x-icon")
(href "/assets/favicon.ico")))
(title ,(string-append title " — " (site-title site)))
- (link (@ (rel "alternate")
- (type "application/atom+xml")
- (title "Atom feed")
- (href "/atom.xml")))
- ,(stylesheet "site")
- )
+ ,(stylesheet "site"))
(body
- (intro
- (br)
- '(div (@ (class "container"))
- (img (@ (alt "raven") (class "no-border")
- (src "/assets/raven.png")))
- (h1 (span (@ (class "white")) bdunahu))
- (p "cs graduate student @ "
- (a (@ (href "https://www.cics.umass.edu/"))
- "UMass Amherst"))))
- (nav
- '(div (@ (class "container"))
- (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"))
- "Copyright © 2024 bdunahu"
- (br)
- "Site content available under the " ,%cc-by-sa-link " license "
- (a (@ (href "https://git.operationnull.com/operationnull.git/"))
+ (intro
+ (div (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"))
+ ,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"))
+ "."
+ (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"))
+ " and "
+ (a (@ (href "https://gnu.org/software/guile"))
"Guile Scheme")
- "."))))
+ "."))))
#:post-template
(lambda (post)
`((article