diff --git a/shippy.config.ts b/shippy.config.ts
new file mode 100644
index 0000000..12e2eba
--- /dev/null
+++ b/shippy.config.ts
@@ -0,0 +1,9 @@
+export default {
+ host: {
+ host: "137.184.37.162",
+ username: "haetae",
+ remoteProjectPath: "/var/www/fujohost/haetae/",
+ remoteDbPath: "/var/www/fujohost/haetae/guestbook.db",
+ dbDriver: "astro:db"
+ }
+};
\ No newline at end of file
diff --git a/src/actions/guestbook.ts b/src/actions/guestbook.ts
index e5bbc2f..4ee5d37 100644
--- a/src/actions/guestbook.ts
+++ b/src/actions/guestbook.ts
@@ -7,11 +7,19 @@ export const guestbook = {
addEntry: defineAction({
accept: "form",
input: z.object({
- username: z.string().min(1, "You should have a name!"),
+ username: z.string().nonempty("You should have a name!"),
website: z.string().url().optional(),
- message: z.string().min(1, "Can't be that short..."),
+ message: z.string().nonempty("Can't be that short..."),
+ challenge: z.string().nonempty("Can't be empty!"),
}),
- handler: async ({ username, website, message }) => {
+ handler: async ({ username, website, message, challenge }) => {
+ if (challenge !== "haetae") {
+ throw new ActionError({
+ code: "UNAUTHORIZED",
+ message: "Check the challenge question again!",
+ });
+ }
+
const addLine = message.replaceAll(/\r?\n/g, "
");
const sanitized = DOMPurify.sanitize(addLine);
diff --git a/src/assets/acnl-bulletin.png b/src/assets/acnl-bulletin.png
deleted file mode 100644
index 0ef22db..0000000
Binary files a/src/assets/acnl-bulletin.png and /dev/null differ
diff --git a/src/assets/guild-bbs-bottom.png b/src/assets/guild-bbs-bottom.png
new file mode 100644
index 0000000..8f7be20
Binary files /dev/null and b/src/assets/guild-bbs-bottom.png differ
diff --git a/src/assets/guild-bbs-header.png b/src/assets/guild-bbs-header.png
new file mode 100644
index 0000000..b5c3299
Binary files /dev/null and b/src/assets/guild-bbs-header.png differ
diff --git a/src/assets/guild-bbs.png b/src/assets/guild-bbs.png
index 73d00f8..2405c3e 100644
Binary files a/src/assets/guild-bbs.png and b/src/assets/guild-bbs.png differ
diff --git a/src/components/ChapterContent.astro b/src/components/ChapterContent.astro
index 3ea95ee..2cd2699 100644
--- a/src/components/ChapterContent.astro
+++ b/src/components/ChapterContent.astro
@@ -17,6 +17,7 @@ const { notes, lastModified }: Props = Astro.props;
)}
{notes && (
+ Author's Notes:
)}
@@ -39,12 +40,9 @@ const { notes, lastModified }: Props = Astro.props;
margin: 1rem;
font-size: calc(35px / 2);
- &::before {
- display: block;
- content: "Author’s Notes:";
- font-weight: bold;
+ .author-note {
line-height: 1;
- alt: "Author's Notes:";
+ font-weight: bold;
}
}
diff --git a/src/components/Entries.astro b/src/components/Entries.astro
index 25312ac..db5e82c 100644
--- a/src/components/Entries.astro
+++ b/src/components/Entries.astro
@@ -44,6 +44,7 @@ const entries = await db.select().from(Guestbook).orderBy(desc(Guestbook.publish
}
>
))}
+
{entries.length === 0 && (
Huh...
diff --git a/src/components/Navbar.astro b/src/components/Navbar.astro
index a976002..ecf2738 100644
--- a/src/components/Navbar.astro
+++ b/src/components/Navbar.astro
@@ -17,7 +17,7 @@ const links = [
))}
-
+
\ No newline at end of file
diff --git a/src/components/Scrobbler.astro b/src/components/Scrobbler.astro
new file mode 100644
index 0000000..8aa7ad3
--- /dev/null
+++ b/src/components/Scrobbler.astro
@@ -0,0 +1,7 @@
+---
+const api_key = "";
+const username = "";
+const url = "";
+---
+
+🗘
\ No newline at end of file
diff --git a/src/components/Updates.astro b/src/components/Updates.astro
new file mode 100644
index 0000000..82bad71
--- /dev/null
+++ b/src/components/Updates.astro
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+ Subject
+
+ Date
+
+
+
+
+
+ update title
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/layouts/About.astro b/src/layouts/About.astro
index 68980b7..d9a03b7 100644
--- a/src/layouts/About.astro
+++ b/src/layouts/About.astro
@@ -2,7 +2,6 @@
import type { MarkdownLayoutProps } from "astro";
import { Font } from "astro:assets";
import Layout from "./Layout.astro";
-import Navbar from "~/Navbar.astro";
import Figure from "~/Figure.astro";
import border from "$/pmd-border.png";
@@ -20,8 +19,6 @@ const { frontmatter } = Astro.props;
-
-
{frontmatter.avatar && frontmatter.avatarText && (
diff --git a/src/layouts/Blog.astro b/src/layouts/Blog.astro
index 8882230..39a904d 100644
--- a/src/layouts/Blog.astro
+++ b/src/layouts/Blog.astro
@@ -2,7 +2,6 @@
import { Font, Image } from "astro:assets";
import { getCollection } from "astro:content";
import Layout from "./Layout.astro";
-import Navbar from "~/Navbar.astro";
import formatDate from "@/utils/formatDate";
import moods from "@/utils/moods";
@@ -29,7 +28,6 @@ blog.sort((a, b) => b.data.pubDate!.valueOf() - a.data.pubDate!.valueOf());
-
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro
index 7ea6749..63a86ea 100644
--- a/src/layouts/Layout.astro
+++ b/src/layouts/Layout.astro
@@ -2,6 +2,7 @@
import { Font } from "astro:assets";
import "$/styles/base.css";
import "$/styles/themes.css";
+import Navbar from "~/Navbar.astro";
interface Props { title?: string; }
@@ -25,6 +26,7 @@ const { title = "haetae" }: Props = Astro.props;
+