From a77312c17c3604b884a09d5ed75d89c2c95d8551 Mon Sep 17 00:00:00 2001 From: Firq Date: Sat, 26 Oct 2024 22:41:24 +0200 Subject: [PATCH] Restructure and extra stuff --- .gitignore | 8 --- Dockerfile | 2 +- astro.config.mjs | 2 +- package-lock.json | 36 ++++++++--- package.json | 2 +- {static => public}/.original.favicon.ico | Bin {static => public}/favicon.ico | Bin {static => public}/robots.txt | 0 src/assets/custom-svg/forgejo.svg | 37 +++++++++++ src/assets/custom-svg/rayshift.svg | 6 ++ src/assets/custom-svg/twitch.svg | 1 + src/components/cards/ceCard.astro | 2 +- src/components/fgotaHero.astro | 4 ++ src/components/links/linkCard.astro | 47 ++++++++++++++ src/components/links/linkContainer.astro | 58 ++++++++++++++++++ src/components/navbar/navbar.astro | 2 +- src/components/titles/smallTitle.astro | 2 + src/components/titles/title.astro | 3 + .../content/data/cedata.json | 0 .../content/data/contactdata.json | 0 .../content/data/favouritesdata.json | 0 .../content/data/featureddata.json | 0 .../content/data/navdata.json | 0 .../content/data/servantdata.json | 0 .../content/data/tadata.json | 0 .../content/data/technologydata.json | 0 src/layouts/Layout.astro | 15 +++-- src/layouts/blogPost.astro | 2 +- src/layouts/customFooter.astro | 8 +-- src/pages/404.astro | 6 +- src/pages/about.astro | 16 ++--- src/pages/blog/index.astro | 8 +-- src/pages/index.astro | 12 ++-- src/pages/servants.astro | 14 ++--- src/pages/ta-collection.astro | 14 ++--- tsconfig.json | 11 +++- 36 files changed, 250 insertions(+), 68 deletions(-) rename {static => public}/.original.favicon.ico (100%) rename {static => public}/favicon.ico (100%) rename {static => public}/robots.txt (100%) create mode 100644 src/assets/custom-svg/forgejo.svg create mode 100644 src/assets/custom-svg/rayshift.svg create mode 100644 src/assets/custom-svg/twitch.svg create mode 100644 src/components/links/linkCard.astro create mode 100644 src/components/links/linkContainer.astro rename static/data/_cedata.json => src/content/data/cedata.json (100%) rename static/data/_contactdata.json => src/content/data/contactdata.json (100%) rename static/data/_favouritesdata.json => src/content/data/favouritesdata.json (100%) rename static/data/_featureddata.json => src/content/data/featureddata.json (100%) rename static/data/_navdata.json => src/content/data/navdata.json (100%) rename static/data/_servantdata.json => src/content/data/servantdata.json (100%) rename static/data/_tadata.json => src/content/data/tadata.json (100%) rename static/data/_technologydata.json => src/content/data/technologydata.json (100%) diff --git a/.gitignore b/.gitignore index 305d1fa..0e9b07c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ # build output dist/ .output/ -public/ maintenance/ # astro stuff @@ -29,10 +28,3 @@ pnpm-debug.log* # macOS-specific files .DS_Store - -# exclude default png images -static/**/*.png -!static/assets/embed.png -!static/assets/lurker.png -!static/assets/padoru.png -!static/assets/fedora.png \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 8dfb4a2..cdd9085 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime COPY --from=build /app/dist /public COPY --from=build /app/serve.json /public/serve.json -RUN rm -r /public/data/ +RUN rm /public/.original.favicon.ico EXPOSE 8081 CMD serve public/ -p 8081 diff --git a/astro.config.mjs b/astro.config.mjs index 4313843..603524f 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -8,7 +8,7 @@ export default defineConfig({ sitemap: true, base: '/', outDir: 'dist', - publicDir: 'static', + publicDir: 'public', site: 'https://firq.dev/', integrations: [sitemap(), mdx()] }); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index fb3d8e8..712a4fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@firq/fgosite", - "version": "0.2.0-pre.32", + "version": "0.2.0-pre.40", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@firq/fgosite", - "version": "0.2.0-pre.32", + "version": "0.2.0-pre.40", "dependencies": { "@astro-community/astro-embed-youtube": "^0.5.2", "@astrojs/check": "^0.9.4", @@ -3183,9 +3183,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001669", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", - "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "version": "1.0.30001671", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001671.tgz", + "integrity": "sha512-jocyVaSSfXg2faluE6hrWkMgDOiULBMca4QLtDT39hw1YxaIPHWc1CcTCKkPmHgGH6tKji6ZNbMSmUAvENf2/A==", "funding": [ { "type": "opencollective", @@ -6832,15 +6832,16 @@ } }, "node_modules/prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "optional": true, + "peer": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -8281,6 +8282,21 @@ "prettier": "2.8.7" } }, + "node_modules/yaml-language-server/node_modules/prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/yaml-language-server/node_modules/request-light": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", diff --git a/package.json b/package.json index 85dc86a..d400e3d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@firq/fgosite", "type": "module", - "version": "0.2.0-pre.40", + "version": "0.2.0-pre.41", "private": true, "scripts": { "dev": "astro dev", diff --git a/static/.original.favicon.ico b/public/.original.favicon.ico similarity index 100% rename from static/.original.favicon.ico rename to public/.original.favicon.ico diff --git a/static/favicon.ico b/public/favicon.ico similarity index 100% rename from static/favicon.ico rename to public/favicon.ico diff --git a/static/robots.txt b/public/robots.txt similarity index 100% rename from static/robots.txt rename to public/robots.txt diff --git a/src/assets/custom-svg/forgejo.svg b/src/assets/custom-svg/forgejo.svg new file mode 100644 index 0000000..05657c4 --- /dev/null +++ b/src/assets/custom-svg/forgejo.svg @@ -0,0 +1,37 @@ + + + + + Forgejo logo + Caesar Schinas + + + + + + + + + + + + + diff --git a/src/assets/custom-svg/rayshift.svg b/src/assets/custom-svg/rayshift.svg new file mode 100644 index 0000000..19c1fab --- /dev/null +++ b/src/assets/custom-svg/rayshift.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/custom-svg/twitch.svg b/src/assets/custom-svg/twitch.svg new file mode 100644 index 0000000..2f4f635 --- /dev/null +++ b/src/assets/custom-svg/twitch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/cards/ceCard.astro b/src/components/cards/ceCard.astro index a379dbc..204110e 100644 --- a/src/components/cards/ceCard.astro +++ b/src/components/cards/ceCard.astro @@ -1,6 +1,6 @@ --- import { Image } from 'astro:assets' -import mlb_ce from '../../assets/ce/mlb.webp' +import mlb_ce from '@assets/ce/mlb.webp' import type { GlobImage } from '../../types/generic' import { plsLoadImage } from '../../utils/tools' diff --git a/src/components/fgotaHero.astro b/src/components/fgotaHero.astro index 449904e..fe5a7a6 100644 --- a/src/components/fgotaHero.astro +++ b/src/components/fgotaHero.astro @@ -54,6 +54,10 @@ const display = fadeout ? "": "display: none" width: 100%; } + span { + margin: 0 .5rem; + } + .fancy { color: var(--c-accent-1); } diff --git a/src/components/links/linkCard.astro b/src/components/links/linkCard.astro new file mode 100644 index 0000000..6b148a9 --- /dev/null +++ b/src/components/links/linkCard.astro @@ -0,0 +1,47 @@ +--- +import type { ImageMetadata } from 'astro' + + +export interface Props { + text: string + icon: ImageMetadata + link: string +} + +const { text, icon, link } = Astro.props +const icon_src_url = `url("${icon.src}")` + +--- + + +
+ {text} +
+ + \ No newline at end of file diff --git a/src/components/links/linkContainer.astro b/src/components/links/linkContainer.astro new file mode 100644 index 0000000..316899b --- /dev/null +++ b/src/components/links/linkContainer.astro @@ -0,0 +1,58 @@ +--- +import LinkCard from "./linkCard.astro" + +import mastodon from 'iconoir/icons/mastodon.svg' +import youtube from 'iconoir/icons/youtube.svg' +import forgejo from '@assets/custom-svg/forgejo.svg' +import rayshift from '@assets/custom-svg/rayshift.svg' +import twitch from '@assets/custom-svg/twitch.svg' + +const links = [ + { + link: "https://www.youtube.com/@Firq_", + icon: youtube, + text: "Youtube", + }, + { + link: "https://mastodon.neshweb.net/@Firq", + icon: mastodon, + text: "Mastodon", + }, + { + link: "https://twitch.tv/Firq", + icon: twitch, + text: "Twitch", + }, + { + link: "https://forgejo.neshweb.net/Firq", + icon: forgejo, + text: "Forgejo", + }, + { + link: "https://rayshift.io/na/firq", + icon: rayshift, + text: "Rayshift", + } +] +--- + +
+ { + links.map( + (item) => + ) + } +
+ + \ No newline at end of file diff --git a/src/components/navbar/navbar.astro b/src/components/navbar/navbar.astro index 44985cd..cf865a5 100644 --- a/src/components/navbar/navbar.astro +++ b/src/components/navbar/navbar.astro @@ -1,6 +1,6 @@ --- import { Image } from 'astro:assets' -import logo from '../../assets/logo.svg' +import logo from '@assets/logo.svg' import hamburger from 'iconoir/icons/menu.svg' const hamburger_src_url = `url("${hamburger.src}")` --- diff --git a/src/components/titles/smallTitle.astro b/src/components/titles/smallTitle.astro index a9465a7..cff653d 100644 --- a/src/components/titles/smallTitle.astro +++ b/src/components/titles/smallTitle.astro @@ -58,6 +58,7 @@ const displayBackButton = returnbutton ? "": "display: none" } .head { + margin: 0 .5rem; hyphens: auto; padding-top: 2rem; font-size: 3.25rem; @@ -66,6 +67,7 @@ const displayBackButton = returnbutton ? "": "display: none" } .sub { + margin: 0 .5rem; font-size: 0.9rem; font-weight: 500; font-family: 'Work Sans Variable', sans-serif; diff --git a/src/components/titles/title.astro b/src/components/titles/title.astro index 022634a..e03f012 100644 --- a/src/components/titles/title.astro +++ b/src/components/titles/title.astro @@ -1,9 +1,12 @@ --- +import LinkContainer from "../links/linkContainer.astro"; + ---
Hi, I'm Firq
</ Software dev / Scathach enthusiast / Germany />
+
diff --git a/static/data/_cedata.json b/src/content/data/cedata.json similarity index 100% rename from static/data/_cedata.json rename to src/content/data/cedata.json diff --git a/static/data/_contactdata.json b/src/content/data/contactdata.json similarity index 100% rename from static/data/_contactdata.json rename to src/content/data/contactdata.json diff --git a/static/data/_favouritesdata.json b/src/content/data/favouritesdata.json similarity index 100% rename from static/data/_favouritesdata.json rename to src/content/data/favouritesdata.json diff --git a/static/data/_featureddata.json b/src/content/data/featureddata.json similarity index 100% rename from static/data/_featureddata.json rename to src/content/data/featureddata.json diff --git a/static/data/_navdata.json b/src/content/data/navdata.json similarity index 100% rename from static/data/_navdata.json rename to src/content/data/navdata.json diff --git a/static/data/_servantdata.json b/src/content/data/servantdata.json similarity index 100% rename from static/data/_servantdata.json rename to src/content/data/servantdata.json diff --git a/static/data/_tadata.json b/src/content/data/tadata.json similarity index 100% rename from static/data/_tadata.json rename to src/content/data/tadata.json diff --git a/static/data/_technologydata.json b/src/content/data/technologydata.json similarity index 100% rename from static/data/_technologydata.json rename to src/content/data/technologydata.json diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 1c47e29..94c3f77 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -2,10 +2,10 @@ import "@fontsource-variable/work-sans"; import workSans from "@fontsource-variable/work-sans/files/work-sans-latin-wght-normal.woff2" -import Navbar from '../components/navbar/navbar.astro' -import NavbarEntry from '../components/navbar/navbarEntry.astro' -import navdata from '../../static/data/_navdata.json' -import embed from '../assets/embed.png' +import Navbar from '@components/navbar/navbar.astro' +import NavbarEntry from '@components/navbar/navbarEntry.astro' +import navdata from '@content/data/navdata.json' +import embed from '@assets/embed.png' import home from 'iconoir/icons/home.svg' import servants from 'iconoir/icons/task-list.svg' @@ -126,6 +126,13 @@ const mapped_navdata = navdata.map((item) => ({ --c-accent-1: #b86cff; --c-accent-1-alt: #c105ff; --c-accent-2: #ff0077; + + --c-rgb-primary-background: 27, 27, 27; + --c-rgb-secondary-background: 51, 51, 51; + --c-rgb-primary-text: 238, 238, 238; + --c-rgb-accent-1: 184, 108, 255; + --c-rgb-accent-1-alt: 193, 5, 255; + --c-rgb-accent-2: 255, 0, 119; } body { background: var(--c-secondary-background); diff --git a/src/layouts/blogPost.astro b/src/layouts/blogPost.astro index 2ea4f32..a6ba696 100644 --- a/src/layouts/blogPost.astro +++ b/src/layouts/blogPost.astro @@ -1,5 +1,5 @@ --- -import SmallTitle from '../components/titles/smallTitle.astro' +import SmallTitle from '@components/titles/smallTitle.astro' import Layout from './Layout.astro' const { frontmatter } = Astro.props diff --git a/src/layouts/customFooter.astro b/src/layouts/customFooter.astro index 196e669..00fb8c9 100644 --- a/src/layouts/customFooter.astro +++ b/src/layouts/customFooter.astro @@ -1,8 +1,8 @@ --- -import okita from '../assets/okita.png' -import atlas from '../assets/atlas.png' -import foxcat from '../assets/lurker.png' -import padoru from '../assets/padoru.png' +import okita from '@assets/okita.png' +import atlas from '@assets/atlas.png' +import foxcat from '@assets/lurker.png' +import padoru from '@assets/padoru.png' import { Image } from 'astro:assets' import packagejson from '../../package.json' diff --git a/src/pages/404.astro b/src/pages/404.astro index 0af330d..bfa205a 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -1,8 +1,8 @@ --- import { Image } from 'astro:assets' -import Layout from '../layouts/Layout.astro' -import sadshishou from '../assets/shishousad.webp' -import SmallTitle from '../components/titles/smallTitle.astro' +import Layout from '@layouts/Layout.astro' +import sadshishou from '@assets/shishousad.webp' +import SmallTitle from '@components/titles/smallTitle.astro' const description = "Error. This shouldn't happen :/" --- diff --git a/src/pages/about.astro b/src/pages/about.astro index 242738e..e4b2112 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -1,14 +1,14 @@ --- -import Layout from '../layouts/Layout.astro' +import Layout from '@layouts/Layout.astro' -import ContactSection from '../layouts/contactSection.astro' -import ContactCard from '../components/cards/contactCard.astro' -import contactdata from '../../static/data/_contactdata.json' +import ContactSection from '@layouts/contactSection.astro' +import ContactCard from '@components/cards/contactCard.astro' +import contactdata from '@content/data/contactdata.json' -import CustomFooter from '../layouts/customFooter.astro' -import TechnologyCard from '../components/cards/technologyCard.astro' -import technologydata from '../../static/data/_technologydata.json' -import SmallTitle from '../components/titles/smallTitle.astro' +import CustomFooter from '@layouts/customFooter.astro' +import TechnologyCard from '@components/cards/technologyCard.astro' +import technologydata from '@content/data/technologydata.json' +import SmallTitle from '@components/titles/smallTitle.astro' const description = "A summary of the technologies used as well as my contact information. You'll also find disclaimers and thank you notes for the people that helped me." diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro index f7cc455..9ec8d94 100644 --- a/src/pages/blog/index.astro +++ b/src/pages/blog/index.astro @@ -1,8 +1,8 @@ --- -import Layout from '../../layouts/Layout.astro' -import BlogCard from '../../components/cards/blogCard.astro' -import BlogSection from '../../layouts/blogSection.astro' -import SmallTitle from '../../components/titles/smallTitle.astro' +import Layout from '@layouts/Layout.astro' +import BlogCard from '@components/cards/blogCard.astro' +import BlogSection from '@layouts/blogSection.astro' +import SmallTitle from '@components/titles/smallTitle.astro' import { getCollection } from 'astro:content' const description = diff --git a/src/pages/index.astro b/src/pages/index.astro index 303fb9c..c435bef 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,10 +1,10 @@ --- -import Layout from '../layouts/Layout.astro' -import BaseSection from '../layouts/baseSection.astro' -import FavouriteCard from '../components/cards/favouriteCard.astro' -import favouritesdata from '../../static/data/_favouritesdata.json' -import Hi from '../components/titles/title.astro' -import AboutText from '../components/aboutText.astro' +import Layout from '@layouts/Layout.astro' +import BaseSection from '@layouts/baseSection.astro' +import FavouriteCard from '@components/cards/favouriteCard.astro' +import favouritesdata from '@content/data/favouritesdata.json' +import Hi from '@components/titles/title.astro' +import AboutText from '@components/aboutText.astro' const description = 'The very own page of Firq for providing informating about TA servants, listing past TA achievements and hosting a blog for talking about FGO, Programming and other stuff' diff --git a/src/pages/servants.astro b/src/pages/servants.astro index cc48644..7f1bc23 100644 --- a/src/pages/servants.astro +++ b/src/pages/servants.astro @@ -1,13 +1,13 @@ --- -import Layout from '../layouts/Layout.astro' -import ServantSection from '../layouts/servantSection.astro' +import Layout from '@layouts/Layout.astro' +import ServantSection from '@layouts/servantSection.astro' -import ServantCard from '../components/cards/servantCard.astro' -import servantdata from '../../static/data/_servantdata.json' +import ServantCard from '@components/cards/servantCard.astro' +import servantdata from '@content/data/servantdata.json' -import CeCard from '../components/cards/ceCard.astro' -import cedata from '../../static/data/_cedata.json' -import SmallTitle from '../components/titles/smallTitle.astro' +import CeCard from '@components/cards/ceCard.astro' +import cedata from '@content/data/cedata.json' +import SmallTitle from '@components/titles/smallTitle.astro' const description = 'A list of all the servants and ces that Firq can offer up on support for TA.' diff --git a/src/pages/ta-collection.astro b/src/pages/ta-collection.astro index 6aedfc1..05c0e17 100644 --- a/src/pages/ta-collection.astro +++ b/src/pages/ta-collection.astro @@ -5,14 +5,14 @@ // > You could have the notable ones like you do now, but at the bottom, there could be a drop-down or "expand" or "more" or // > some other section like that which you could click and show the rest -import Layout from '../layouts/Layout.astro' +import Layout from '@layouts/Layout.astro' -import TaSection from '../layouts/taSection.astro' -import TaCard from '../components/cards/taCard.astro' -import tadata from '../../static/data/_tadata.json' -import featured_data from '../../static/data/_featureddata.json' -import FgotaHero from '../components/fgotaHero.astro' -import SmallTitle from '../components/titles/smallTitle.astro' +import TaSection from '@layouts/taSection.astro' +import TaCard from '@components/cards/taCard.astro' +import tadata from '@content/data/tadata.json' +import featured_data from '@content/data/featureddata.json' +import FgotaHero from '@components/fgotaHero.astro' +import SmallTitle from '@components/titles/smallTitle.astro' const important_data = tadata.filter(function (el) { return [ diff --git a/tsconfig.json b/tsconfig.json index 77da9dd..76dd50e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,12 @@ { - "extends": "astro/tsconfigs/strict" + "extends": "astro/tsconfigs/strict", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@assets/*": [ "src/assets/*" ], + "@components/*": [ "src/components/*" ], + "@content/*": [ "src/content/*" ], + "@layouts/*": [ "src/layouts/*" ] + } + } } \ No newline at end of file