From 19584ef7f1ded2bb0c6f83e798c70e8c795050ee Mon Sep 17 00:00:00 2001 From: haetae Date: Sun, 9 Feb 2025 00:42:14 -0500 Subject: [PATCH] redo styles and add new fonts --- astro.config.mjs | 6 +- public/fonts/sq.woff2 | Bin 0 -> 4160 bytes public/fonts/sqb.woff2 | Bin 0 -> 3568 bytes src/assets/images/guild-bbs-content.png | Bin 301 -> 169 bytes src/assets/images/guild-bbs-list.png | Bin 0 -> 731 bytes src/assets/images/guild-bbs.png | Bin 583 -> 699 bytes src/assets/styles/base.css | 95 ++++++- src/assets/styles/fonts.css | 12 + src/components/Navbar.astro | 4 + src/components/ThemeSwitch.astro | 15 ++ src/layouts/About.astro | 3 +- src/layouts/Blog.astro | 231 ++++++++++++------ src/layouts/Chapter.astro | 30 ++- src/pages/blog/[...id].astro | 10 + src/pages/fics/[ficId]/[...chapterId].astro | 15 +- src/pages/guestbook.astro | 28 ++- .../utils/last-modified.mjs | 0 17 files changed, 353 insertions(+), 96 deletions(-) create mode 100644 public/fonts/sq.woff2 create mode 100644 public/fonts/sqb.woff2 create mode 100644 src/assets/images/guild-bbs-list.png create mode 100644 src/components/ThemeSwitch.astro rename last-modified.mjs => src/utils/last-modified.mjs (100%) diff --git a/astro.config.mjs b/astro.config.mjs index 9109be1..dd22baa 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -2,7 +2,7 @@ import { defineConfig } from 'astro/config'; import db from '@astrojs/db'; import node from '@astrojs/node'; -import { modifiedTime } from './last-modified.mjs'; +import { modifiedTime } from './src/utils/last-modified.mjs'; // https://astro.build/config export default defineConfig({ @@ -12,6 +12,6 @@ export default defineConfig({ }, integrations: [db()], adapter: node({ - mode: 'standalone' - }) + mode: 'standalone', + }), }); \ No newline at end of file diff --git a/public/fonts/sq.woff2 b/public/fonts/sq.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..33d5e323af6e4c9bdd32a5019728f6e8d666c9e9 GIT binary patch literal 4160 zcmV-G5WnwtPew8T0RR9101!X`3IG5A07X;)01xy40RR9100000000000000000000 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 K{?v+M{;CoH5D2{h literal 0 HcmV?d00001 diff --git a/public/fonts/sqb.woff2 b/public/fonts/sqb.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..074db18947ba3e21a44ed77bdafa8b8c96a3ac7f GIT binary patch literal 3568 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/guild-bbs-content.png b/src/assets/images/guild-bbs-content.png index 7693ae1334b12d1ce1107b126b0bb697114d38b7..f9cc5638930122aeb9b9f87eedba128922b50641 100644 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VjKx9jP7LeL$-D$|l097`iZhhN#9*cvvKvIY2y`+TI_cw_GDFR1Uoj4lN*~ohA=H@EXwx$bP0@#3{Ws&jj z^dyZ}F?-t^L4b36wm?Hw*Mq#KoBg~7_xApN_kZvA3Z|~cMn;B1&m{MgTe~DWM4f0OLP} literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|o_o4DhE&XX zd)rX-5Ca4A#RG>K#5Odr>Lf7gdpJ0&25?4b2t{!kF!KFyE{@(-y*=Id>}PH7u#?8# zWs#F!Tcpk3`|YRo^2dt1&r7sB?)o$L^V2yh`x*Lw_nzcfcX)=%%_M$5<_tz(I^wgh tm}}N=p0EA#)(xM_f2#Df|DIQ`Wd0Z+rJZ}rW){%P44$rjF6*2UngHC3Tz&um diff --git a/src/assets/images/guild-bbs-list.png b/src/assets/images/guild-bbs-list.png new file mode 100644 index 0000000000000000000000000000000000000000..b985d753ed895052e4c42ccaed08c450fcfc3c53 GIT binary patch literal 731 zcmV<10wn#3P)Px%l}SWFRCt{2o6&KjFc5}6JZ?ZO&;nNiR{||ut^=opTnSDKTnDEX)WWu~C2$Wi zjsZdJ2V3^SH$i@N0Kn039o44{$jCo4r5*_eASU-0~e&;q(1>6hKuu9-15f z-Rt5-XvA<{4Kt2fx51!t1@Ri55ot+`vBdX6EyZToH)S?CQi^x zpl!vB9X{t2(m73>pbCfzcHW7noFtJ`k#K^)nhLP

k-j1g)lCs7p9Oi#S~RXfxgc z070y5{WMj1p~Tz{u<8n%rk<=N1@K`d0;FyMh_8<0$Keq%J&d>aKhwpfhoE&=*qgnH z6I>g~9pHc;Ki?i4%6*wD@gxN}9zX6F%5yOhVDO$?0g2O~nkk9*EajBw3ka=G*U(>) z*cZ^4Q{sR(+yU;?7f>-%83s_%n3I0j7r@cf6;Rq~i#SJ9mq6k)NUARoi|BU`?2)*I z-8>M$2f2GN&&D3Wdyn@v4?xTGW%0VEuI*HTuEG02@Snq5!1@8G#|N1|3@w$AUzKQt z(x0UVBupA1f5U);S{jh(jZk`o%JhH)^hT%xmo|5%2PAry%-!lMLYn}&1IW!LK<)r? zvk8zpfZS{X&0#@bc(2G7mWwf<%Z3ReE}`TqkDJc+z9H^Tq` N002ovPDHLkV1hm9L+bzl literal 0 HcmV?d00001 diff --git a/src/assets/images/guild-bbs.png b/src/assets/images/guild-bbs.png index a7e45df3e4a515d6dd8322b20784f5a83676e51b..73d00f8f11275a6e95791fb1a1539514f7ffebf8 100644 GIT binary patch delta 662 zcmV;H0%`rn1iJ;0F@JSQL_t(|ob8+4m76dSMlXA4KrPUMTA&4bNC%r5(!r($(m}K( zsD)`^N+1ui9UBC}*<@vpxaarIn+C2Ri<@*DTIe;rrJw zNdQ&l?RD6B>GKmr8Ak!&W&WjV`dA|Qq_+o7yv$FG5*cH>y?@||QB{HnW0b5RAkks_U2UQ7zPj8;SBgcO%u*F3_}m9S)bbZ0SB1y9%z~d*!JlnKoCj$ zNDW+RaS>n~LkUxg(*nd8OWRS1DGAVfU)qu)#2?M?zd+x6df%0_=hFyL2qD6>8VTBZ z8gBWNj|795*?$mJmAF3=1W^zbLkWRH)*``X5edTJJMi90ER=j&iv*`!BxuF+D^?@H z`3hJgMESQCeG<+&e7A8!b1Ptr%^!O}WXEG{@er(vrgi~xflyV{yaE(GRsb9V+_w#y ziH@&W2yk}tI&iX(CZ7|bd8E6@27^S#V5ctt=iY#(EPr?A*RmcUnzBJNeSyT9U(0N8 zqlW&hIOiDp4p?TnruzcdtYx`30z7Nh_Yqov5MnA4R>!F+`<==HNF8?GNW1Z2$lO07*qoM6N<$f-$%>cK`qY delta 545 zcmdnZdYol~VLhX#i(^Q|oVT-Y=RP(NaOGz01 zjO8u+<25>+P2U@Pd_OV#o9OxYoT+PXgEza5$r;uMU*Dz|HZc8bT=)O&oVyXCbv6H| z@dkw6i(78J+|E95N~IV>+_v~t&-{I#%=+@}5WD{EMo*z)ukFJ1^CUu5yA0GV*JN&H z5)l*-e7AqLoNRxWNcOHfJYVN!axGxq*Ys<8>cQ&cCcO))A}*&^A7l;<;kS6+@OhRU zZ->%P%S%k!`gXiCo@Xc?ox|zu-0$^0F6Huk{link} ))} + + \ No newline at end of file diff --git a/src/pages/fics/[ficId]/[...chapterId].astro b/src/pages/fics/[ficId]/[...chapterId].astro index 6d3080c..6170536 100644 --- a/src/pages/fics/[ficId]/[...chapterId].astro +++ b/src/pages/fics/[ficId]/[...chapterId].astro @@ -87,9 +87,14 @@ const links = [ .c-breadcrumbs__separator { opacity: 0.5; } a[aria-current="location"] { - color: aqua; + color: hsl(from var(--accent-color) h calc(s - 10) calc(l / 1.75)); + font-weight: bold; } } + + @media screen and (max-width: 600px) { + font-size: calc(1rem - 1px); + } } #chapter-pagination { @@ -104,10 +109,12 @@ const links = [ } #chapter-select { - background-color: black; - color: white; - border: none; + background-color: var(--bg-color); + color: var(--fg-color); + border: 2px solid var(--fg-color); padding: 0.25rem 0.5rem; + + &:hover { background-color: hsl(from var(--bg-color) h s calc(l - 10)); } } #previous { diff --git a/src/pages/guestbook.astro b/src/pages/guestbook.astro index 9808884..578da51 100644 --- a/src/pages/guestbook.astro +++ b/src/pages/guestbook.astro @@ -1,10 +1,14 @@ --- import { actions, isInputError } from "astro:actions"; import { db, Guestbook as table } from "astro:db"; +import dayjs from "dayjs"; +import utc from "dayjs/plugin/utc"; import Layout from "@/layouts/Layout.astro"; +import ThemeSwitch from "@/components/ThemeSwitch.astro"; export const prerender = false; +dayjs.extend(utc); const result = Astro.getActionResult(actions.guestbook); const errors = isInputError(result?.error) ? result.error.fields : {}; const entries = await db.select().from(table); @@ -12,6 +16,7 @@ entries.sort((a, b) => b.date.valueOf() - a.date.valueOf()); --- +

Guestbook

@@ -38,7 +43,7 @@ entries.sort((a, b) => b.date.valueOf() - a.date.valueOf());

{username}

{website &&

website

} - +
{body}
@@ -48,12 +53,33 @@ entries.sort((a, b) => b.date.valueOf() - a.date.valueOf()); \ No newline at end of file diff --git a/last-modified.mjs b/src/utils/last-modified.mjs similarity index 100% rename from last-modified.mjs rename to src/utils/last-modified.mjs