diff options
| -rw-r--r-- | content/assets/background.jpg | bin | 0 -> 428704 bytes | |||
| -rw-r--r-- | content/assets/favicon.ico | bin | 3262 -> 16958 bytes | |||
| -rw-r--r-- | content/assets/raven.png | bin | 41709 -> 5178 bytes | |||
| -rw-r--r-- | content/assets/site.css | 150 | ||||
| -rw-r--r-- | src/operationnull/pages.scm | 83 | ||||
| -rw-r--r-- | src/operationnull/site.scm | 3 | ||||
| -rw-r--r-- | src/operationnull/theme.scm | 77 |
7 files changed, 185 insertions, 128 deletions
diff --git a/content/assets/background.jpg b/content/assets/background.jpg Binary files differnew file mode 100644 index 0000000..5f1aeb2 --- /dev/null +++ b/content/assets/background.jpg diff --git a/content/assets/favicon.ico b/content/assets/favicon.ico Binary files differindex 87bb215..789f294 100644 --- a/content/assets/favicon.ico +++ b/content/assets/favicon.ico diff --git a/content/assets/raven.png b/content/assets/raven.png Binary files differindex f103375..6366d8a 100644 --- a/content/assets/raven.png +++ b/content/assets/raven.png 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 |
