diff --git a/_data/metadata.js b/_data/metadata.js
index 452745c..550dffb 100644
--- a/_data/metadata.js
+++ b/_data/metadata.js
@@ -35,6 +35,11 @@ export default {
linkDisplay: "Galleries",
linkURL: "/galleries/",
},
+ {
+ iconURL: "/img/icons/breeze/story-editor.svg",
+ linkDisplay: "Guestbook",
+ linkURL: "/guestbook/",
+ },
{
iconURL: "/img/icons/breeze/news-subscribe.svg",
linkDisplay: "Life Updates",
diff --git a/_includes/layouts/home.njk b/_includes/layouts/home.njk
index b068bdc..5b32983 100644
--- a/_includes/layouts/home.njk
+++ b/_includes/layouts/home.njk
@@ -3,6 +3,6 @@ layout: layouts/base.njk
showPostListHeader: yep
---
I'm Nathan; welcome friend.
-My name is Nathan Upchurch, and this is my personal website and blog, where I write about all sorts of things that I find interesting. On this website, you can learn more about me, see what I’ve been up to lately, read my blog, look at some pictures, or explore the sitemap to see what else you can do here.
+My name is Nathan Upchurch, and this is my personal website and blog, where I write about all sorts of things that I find interesting. On this website, you can learn more about me, sign my guestbook, see what I’ve been up to lately, read my blog, look at some pictures, or explore the sitemap to see what else you can do here.
{{ content | safe }}
diff --git a/content/changelog.md b/content/changelog.md
index 84d8966..ce95f29 100644
--- a/content/changelog.md
+++ b/content/changelog.md
@@ -4,6 +4,8 @@ title: Nathan Upchurch | Changelog
structuredData: none
---
# Changelog
+* 2025-08-14
+ * Implemented a [guestbook](/guestbook/).
* 2025-07-29
* Added [The 74](https://www.the74million.org/) to the [blogroll](/blogroll).
* 2025-07-14
diff --git a/content/guestbook.njk b/content/guestbook.njk
new file mode 100644
index 0000000..e003ecf
--- /dev/null
+++ b/content/guestbook.njk
@@ -0,0 +1,55 @@
+---
+layout: layouts/base.njk
+title: Nathan Upchurch | Guestbook
+structuredData: none
+---
+Sign My Guestbook
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/index.njk b/content/index.njk
index 67126ae..12a3f77 100644
--- a/content/index.njk
+++ b/content/index.njk
@@ -3,10 +3,5 @@ layout: layouts/home.njk
eleventyNavigation:
key: Home
order: 1
-numberOfLatestPostsToShow: 3
-numberOfNowPostsToShow: 1
-numberOfGalleriesToShow: 1
-numberOfQuizzesToShow: 1
-hideGalleryDescriptions: 1
---
{% include "navigator.njk" %}
diff --git a/content/sitemap/index.njk b/content/sitemap/index.njk
index c5f542e..07462e9 100644
--- a/content/sitemap/index.njk
+++ b/content/sitemap/index.njk
@@ -22,7 +22,13 @@ structuredData: none
Contact
Feed
Galleries
+ Guestbook
Now
+ Special
+
+
Tags
Wishes
Quizzes
diff --git a/public/css/index.css b/public/css/index.css
index 2081976..47bb5a7 100644
--- a/public/css/index.css
+++ b/public/css/index.css
@@ -116,7 +116,7 @@
--transition-normal: all 0.3s;
/* Links */
- --link-decoration-thickness: 0.1rem;
+ --link-decoration-thickness: 0.06rem;
/* Borders */
--border-details: 1px solid var(--color-gray-20);
@@ -180,6 +180,29 @@ html {
font-size: 13px;
overflow-y: scroll;
}
+input,
+textarea {
+ background-color: var(--background-color);
+ border: var(--border-details);
+ border-color: var(--contrast-color);
+ border-radius: var(--border-radius);
+ color: var(--text-color);
+ font-family: var(--font-family);
+ font-size: var(--step-0);
+ font-variation-settings: var(--font-variation-default);
+ margin-block: 0 1lh;
+ min-height: var(--space-l);
+ padding: 0 var(--space-3xs);
+ width: 100%;
+ &:focus {
+ box-shadow: 0 0 0 2px var(--contrast-color);
+ outline: none;
+ }
+}
+label {
+ display: block;
+ margin-bottom: var(--space-3xs);
+}
article:not(.postlist-item) h3 {
margin-bottom: var(--space-s);
margin-top: var(--space-m);
@@ -188,12 +211,14 @@ blockquote p {
font-style: italic;
}
blockquote:before {
+ color: var(--contrast-color);
content: "“";
font-size: 10rem;
margin-left: -4rem;
margin-top: -2rem;
- position: fixed;
+ position: absolute;
filter: opacity(0.15);
+ z-index: 0;
}
.blogroll {
h2:first-of-type {
@@ -294,7 +319,7 @@ ul {
a {
text-decoration-color: var(--contrast-color);
- /*text-decoration-thickness: var(--link-decoration-thickness);*/
+ text-decoration-thickness: var(--link-decoration-thickness);
transition: var(--transition-normal);
}
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
@@ -1043,6 +1068,27 @@ article.post {
}
}
+/* Guestbook */
+.guestbook-message blockquote {
+ margin-bottom: var(--space-m);
+ margin-top: var(--space-3xs);
+}
+.guestbook-message p {
+ margin-block: 0 0;
+ position: relative;
+ z-index: 1;
+}
+.guestbook-message p b,
+.guestbook-message p small {
+ font-family: var(--meta-font-family);
+ font-size: var(--meta-font-size);
+ font-variation-settings: var(--meta-font-variation-settings);
+}
+#guestbooks___challenge-answer-container br,
+.guestbooks___input-container br {
+ display: none;
+}
+
/* Add fleuron after in article when footnotes are present */
p:has(+ hr.footnotes-sep):after {
content: "\2766";