Compare commits

..

No commits in common. "main" and "0.2.0-pre.96" have entirely different histories.

33 changed files with 2827 additions and 6164 deletions

View file

@ -51,8 +51,6 @@ jobs:
with: with:
push: true push: true
tags: forgejo.neshweb.net/firq/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:preview tags: forgejo.neshweb.net/firq/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:preview
build-args: |
version=${{ github.ref_name }}
create-release: create-release:
needs: [ build-site ] needs: [ build-site ]

View file

@ -51,8 +51,6 @@ jobs:
with: with:
push: true push: true
tags: forgejo.neshweb.net/firq/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:latest tags: forgejo.neshweb.net/firq/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:latest
build-args: |
version=${{ github.ref_name }}
auto-deploy-dockge: auto-deploy-dockge:
needs: [ build-site ] needs: [ build-site ]

View file

@ -1,21 +1,21 @@
FROM forgejo.neshweb.net/ci-docker-images/node-chromium:22 AS build FROM node:22-bookworm AS build
WORKDIR /app WORKDIR /app
ENV CI=true
COPY . . COPY . .
ENV CI=true
ENV CHROMIUM_VERSION="135.0.7049.84-1~deb12u1"
RUN apt-get update && apt-get -y install --no-install-recommends chromium=${CHROMIUM_VERSION} procps libxss1 && rm -rf /var/lib/apt/lists/*
RUN npm i RUN npm i
RUN npm run astro telemetry disable RUN npm run astro telemetry disable
RUN npm run build RUN npm run build
RUN rm ./dist/.original.favicon.ico
FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime
ARG version=0.0.1
ENV version=${version}
WORKDIR / WORKDIR /
COPY --from=build /app/dist /public COPY --from=build /app/dist /public
COPY --from=build /app/serve.json /public/serve.json COPY --from=build /app/serve.json /public/serve.json
RUN rm /public/.original.favicon.ico
EXPOSE 8081 EXPOSE 8081
CMD echo "Website version ${version} - powered by @Firq"; serve --listen 8081 --no-clipboard /public CMD serve --listen 8081 --no-clipboard /public

View file

@ -1,10 +1,9 @@
FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime
ARG version=0.0.1 ARG version
ENV version=${version} ENV version=0.0.1
WORKDIR /
ADD reports /public ADD reports /public
EXPOSE 8081 EXPOSE 8081
CMD echo "Website version ${version} - powered by @Firq"; serve --listen 8081 --no-clipboard /public CMD echo $version && serve --listen 8081 --no-clipboard /public

View file

@ -11,5 +11,5 @@ export default defineConfig({
outDir: 'dist', outDir: 'dist',
publicDir: 'public', publicDir: 'public',
site: 'https://firq.dev/', site: 'https://firq.dev/',
integrations: [sitemap(), mdx(), astroMetaTags(), criticalCss()], integrations: [sitemap(), mdx(), astroMetaTags(), criticalCss()]
}); });

8749
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
{ {
"name": "@firq/fgosite", "name": "@firq/fgosite",
"type": "module", "type": "module",
"version": "0.2.1-pre.1", "version": "0.2.0-pre.96",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
@ -13,10 +13,10 @@
"dependencies": { "dependencies": {
"@astro-community/astro-embed-youtube": "^0.5.6", "@astro-community/astro-embed-youtube": "^0.5.6",
"@astrojs/check": "^0.9.4", "@astrojs/check": "^0.9.4",
"@astrojs/mdx": "^4.3.2", "@astrojs/mdx": "^4.2.3",
"@astrojs/sitemap": "^3.4.2", "@astrojs/sitemap": "^3.3.0",
"@fontsource-variable/work-sans": "^5.2.5", "@fontsource-variable/work-sans": "^5.2.5",
"astro": "^5.12.7", "astro": "^5.6.1",
"astro-critical-css": "^0.0.7", "astro-critical-css": "^0.0.7",
"astro-meta-tags": "^0.3.1", "astro-meta-tags": "^0.3.1",
"autoprefixer": "^10.4.21", "autoprefixer": "^10.4.21",
@ -25,7 +25,7 @@
"typescript": "^5.8.3" "typescript": "^5.8.3"
}, },
"devDependencies": { "devDependencies": {
"unlighthouse": "^0.17.2" "unlighthouse": "^0.16.3"
}, },
"browserslist": [ "browserslist": [
"last 2 versions", "last 2 versions",

View file

@ -1,6 +0,0 @@
# Spawning AI
# Prevent datasets from using the following file types
User-Agent: *
Disallow: /
Disallow: *

View file

@ -1,61 +1,8 @@
User-agent: * User-agent: *
Disallow: /assets/data/ Disallow: /assets/data/
User-agent: AI2Bot
User-agent: Ai2Bot-Dolma
User-agent: aiHitBot
User-agent: Amazonbot
User-agent: anthropic-ai
User-agent: Applebot
User-agent: Applebot-Extended
User-agent: Brightbot 1.0
User-agent: Bytespider
User-agent: CCBot
User-agent: ChatGPT-User
User-agent: Claude-Web
User-agent: ClaudeBot
User-agent: cohere-ai
User-agent: cohere-training-data-crawler
User-agent: Cotoyogi
User-agent: Crawlspace
User-agent: Diffbot
User-agent: DuckAssistBot
User-agent: FacebookBot
User-agent: Factset_spyderbot
User-agent: FirecrawlAgent
User-agent: FriendlyCrawler
User-agent: Google-Extended
User-agent: GoogleOther
User-agent: GoogleOther-Image
User-agent: GoogleOther-Video
User-agent: GPTBot User-agent: GPTBot
User-agent: iaskspider/2.0 User-agent: Bytespider
User-agent: ICC-Crawler
User-agent: ImagesiftBot
User-agent: img2dataset
User-agent: imgproxy
User-agent: ISSCyberRiskCrawler
User-agent: Kangaroo Bot
User-agent: Meta-ExternalAgent
User-agent: Meta-ExternalFetcher
User-agent: NovaAct
User-agent: OAI-SearchBot
User-agent: omgili
User-agent: omgilibot
User-agent: Operator
User-agent: PanguBot
User-agent: Perplexity-User
User-agent: PerplexityBot
User-agent: PetalBot
User-agent: Scrapy
User-agent: SemrushBot-OCOB
User-agent: SemrushBot-SWA
User-agent: Sidetrade indexer bot
User-agent: TikTokSpider
User-agent: Timpibot
User-agent: VelenPublicWebCrawler
User-agent: Webzio-Extended
User-agent: YouBot
Disallow: / Disallow: /
Sitemap: https://firq.dev/sitemap-index.xml Sitemap: https://firq.dev/sitemap-index.xml

Binary file not shown.

Before

(image error) Size: 238 KiB

View file

@ -20,7 +20,7 @@
font-size: 16px; font-size: 16px;
font-weight: 400; font-weight: 400;
line-height: 24px; line-height: 24px;
font-family: 'Work Sans Variable', system-ui, 'Segoe UI', sans-serif; font-family: 'Work Sans Variable', sans-serif;
max-width: min(87.5%, 360px); max-width: min(87.5%, 360px);
background-color: var(--c-primary-background); background-color: var(--c-primary-background);
color: var(--c-primary-text); color: var(--c-primary-text);

View file

@ -27,6 +27,9 @@ const date = new Date(pubdate).toLocaleDateString('en-GB', options_date)
</a> </a>
<style> <style>
* {
transition: all var(--a-time-default) var(--a-animation-1);
}
.circle { .circle {
display: none; display: none;
} }
@ -74,7 +77,6 @@ const date = new Date(pubdate).toLocaleDateString('en-GB', options_date)
min-height: 100%; min-height: 100%;
border: 2px solid var(--c-primary-background); border: 2px solid var(--c-primary-background);
border-radius: 1.25rem; border-radius: 1.25rem;
transition: border-color var(--a-time-default) var(--a-animation-1);
} }
a:hover article { a:hover article {
@ -94,17 +96,13 @@ const date = new Date(pubdate).toLocaleDateString('en-GB', options_date)
border-width: 0.25rem; border-width: 0.25rem;
border-color: var(--c-secondary-background); border-color: var(--c-secondary-background);
border-radius: 40%; border-radius: 40%;
transition: transition: all var(--a-time-short) var(--a-animation-1);
height var(--a-time-short) var(--a-animation-1),
width var(--a-time-short) var(--a-animation-1),
margin-right var(--a-time-short) var(--a-animation-1),
transform var(--a-time-short) var(--a-animation-1);
} }
a:hover > .circle { a:hover > .circle {
height: 1.25rem; height: 1.25rem;
width: 1.25rem; width: 1.25rem;
transform: translateX(-0.125rem); translate: -0.125rem;
margin-right: 4px; margin-right: 4px;
} }

View file

@ -28,13 +28,16 @@ const mlb_image = mlb ? 'mlbalign' : 'hidemlb'
</article> </article>
<style> <style>
* {
transition: all var(--a-time-default) var(--a-animation-1);
}
.hidemlb { .hidemlb {
display: none; display: none;
height: 1em; height: 1em;
} }
article { article {
transition: border-color var(--a-time-default) var(--a-animation-1);
border-radius: 1.25rem; border-radius: 1.25rem;
border: 2px var(--c-primary-background) solid; border: 2px var(--c-primary-background) solid;
background-color: var(--c-primary-background); background-color: var(--c-primary-background);

View file

@ -32,14 +32,18 @@ const loadedImage = plsLoadImage(images, imagePath)
</a> </a>
<style> <style>
* {
transition: all var(--a-time-default) var(--a-animation-1);
}
.heading { .heading {
display: flex; display: flex;
height: 3.5rem; height: fit-content;
min-height: 2.5rem; min-height: 2.5rem;
line-height: 1.75rem; line-height: 1.75rem;
font-size: 24px; font-size: 24px;
color: var(--c-primary-text); color: var(--c-primary-text);
max-width: 150px; max-width: 200px;
padding-bottom: 0.3rem; padding-bottom: 0.3rem;
font-weight: 500; font-weight: 500;
margin: 0px; margin: 0px;
@ -48,7 +52,6 @@ const loadedImage = plsLoadImage(images, imagePath)
} }
a { a {
transition: border-color var(--a-time-default) var(--a-animation-1);
border-radius: 1rem; border-radius: 1rem;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;

View file

@ -15,8 +15,11 @@ const target = url.startsWith("/") ? "" : "_blank"
</a> </a>
<style> <style>
* {
transition: all var(--a-time-default) var(--a-animation-1);
}
a { a {
transition: border-color var(--a-time-default) var(--a-animation-1);
align-items: center; align-items: center;
justify-content: center; justify-content: center;
display: flex; display: flex;

View file

@ -47,7 +47,7 @@ let loading: "eager" | "lazy" = index <= 3 ? "eager" : "lazy";
<style> <style>
article:hover { article:hover {
transition: border-color var(--a-time-default) var(--a-animation-1), transform var(--a-time-default) var(--a-animation-1); transition: all var(--a-time-default) var(--a-animation-1);
transform: scale(1); transform: scale(1);
border-color: var(--c-accent-1); border-color: var(--c-accent-1);
} }
@ -97,7 +97,7 @@ let loading: "eager" | "lazy" = index <= 3 ? "eager" : "lazy";
article:hover .expand-on-hover { article:hover .expand-on-hover {
transform: scaleY(1); transform: scaleY(1);
border-color: var(--c-accent-1); border-color: var(--c-accent-1);
transition: border-color var(--a-time-default) var(--a-animation-1), transform var(--a-time-default) var(--a-animation-1); transition: all var(--a-time-default) var(--a-animation-1);
} }
.bond-ce { .bond-ce {

View file

@ -57,6 +57,9 @@ const hasuser = user !== undefined ? 'display: flex' : 'display: none'
</a> </a>
<style> <style>
* {
transition: all var(--a-time-default) var(--a-animation-1);
}
a { a {
text-decoration: none; text-decoration: none;
display: flex; display: flex;
@ -75,7 +78,6 @@ const hasuser = user !== undefined ? 'display: flex' : 'display: none'
} }
a:hover { a:hover {
transition: border-color var(--a-time-default) var(--a-animation-1), transform var(--a-time-default) var(--a-animation-1);
transform: scale(1); transform: scale(1);
border-color: var(--c-accent-1); border-color: var(--c-accent-1);
z-index: 10; z-index: 10;
@ -169,7 +171,7 @@ const hasuser = user !== undefined ? 'display: flex' : 'display: none'
a:hover .expand-on-hover { a:hover .expand-on-hover {
transform: scaleY(1); transform: scaleY(1);
transition: border-color var(--a-time-default) var(--a-animation-1), transform var(--a-time-default) var(--a-animation-1), background-color var(--a-time-default) var(--a-animation-1); transition: all var(--a-time-default) var(--a-animation-1);
background-color: var(--c-primary-background); background-color: var(--c-primary-background);
border-color: var(--c-accent-1); border-color: var(--c-accent-1);
} }

View file

@ -28,12 +28,15 @@ const loadedImage = plsLoadImage(images_logos, imagePath)
</a> </a>
<style> <style>
* {
transition: all var(--a-time-default) var(--a-animation-1);
}
a { a {
text-decoration: none; text-decoration: none;
} }
article { article {
transition: border-color var(--a-time-default) var(--a-animation-1);
display: flex; display: flex;
position: relative; position: relative;
align-items: center; align-items: center;

View file

@ -33,7 +33,7 @@ const display = fadeout ? "": "display: none"
a { a {
font-weight: 500; font-weight: 500;
font-family: 'Work Sans Variable', system-ui, 'Segoe UI', sans-serif; font-family: 'Work Sans Variable', sans-serif;
color: var(--c-primary-text); color: var(--c-primary-text);
margin: 1rem 0px 0px; margin: 1rem 0px 0px;
padding: 0.5rem 0.75rem; padding: 0.5rem 0.75rem;
@ -41,11 +41,12 @@ const display = fadeout ? "": "display: none"
background: var(--c-primary-background); background: var(--c-primary-background);
border-radius: 10px; border-radius: 10px;
border: 2px var(--c-accent-1) solid; border: 2px var(--c-accent-1) solid;
transition: border-color var(--a-time-default) var(--a-animation-1); transition: all var(--a-time-default) var(--a-animation-1);
} }
a:hover { a:hover {
border-color: var(--c-accent-1-alt); border-color: var(--c-accent-1-alt);
transition: all var(--a-time-default) var(--a-animation-1);
} }
.fade { .fade {
@ -65,7 +66,6 @@ const display = fadeout ? "": "display: none"
@supports (background-clip: text) { @supports (background-clip: text) {
a:hover .fancy { a:hover .fancy {
transition: color var(--a-time-default) var(--a-animation-1);
background: linear-gradient(125deg, var(--c-accent-1), var(--c-accent-1-alt), var(--c-accent-2) ); background: linear-gradient(125deg, var(--c-accent-1), var(--c-accent-1-alt), var(--c-accent-2) );
background-clip: text; background-clip: text;
color: transparent; color: transparent;

View file

@ -19,6 +19,9 @@ const icon_src_url = `url("${icon.src}")`
</a> </a>
<style define:vars={{ icon_src_url }}> <style define:vars={{ icon_src_url }}>
* {
transition: all var(--a-time-default) var(--a-animation-1);
}
a { a {
display: flex; display: flex;
align-items: center; align-items: center;
@ -31,11 +34,9 @@ const icon_src_url = `url("${icon.src}")`
} }
a:hover { a:hover {
transition: border-color var(--a-time-default) var(--a-animation-1);
border-color: var(--c-accent-1); border-color: var(--c-accent-1);
& .icon { & .icon {
transition: background-color var(--a-time-default) var(--a-animation-1); background: var(--c-accent-1);
background-color: var(--c-accent-1);
} }
} }

View file

@ -40,7 +40,7 @@ let extraattributes = navtype === 'mobile' ? { tabindex: '0' } : {}
<style define:vars={{ icon_src_url }}> <style define:vars={{ icon_src_url }}>
* { * {
transition: color var(--a-time-default) var(--a-animation-1), background-color var(--a-time-default) var(--a-animation-1); transition: all var(--a-time-default) var(--a-animation-1);
} }
li { li {
align-items: center; align-items: center;

View file

@ -23,7 +23,7 @@ const text = buttontext || baseurl
<style> <style>
a { a {
font-weight: 500; font-weight: 500;
font-family: 'Work Sans Variable', system-ui, 'Segoe UI', sans-serif; font-family: 'Work Sans Variable', sans-serif;
color: var(--c-primary-text); color: var(--c-primary-text);
margin: 1rem 0px 0px; margin: 1rem 0px 0px;
padding: 0.5rem 0.75rem; padding: 0.5rem 0.75rem;
@ -37,7 +37,6 @@ const text = buttontext || baseurl
} }
a:hover { a:hover {
transition: border-color var(--a-time-default) var(--a-animation-1);
border-color: var(--c-accent-1); border-color: var(--c-accent-1);
} }
@ -66,18 +65,14 @@ const text = buttontext || baseurl
padding-top: 2rem; padding-top: 2rem;
font-size: 3.25rem; font-size: 3.25rem;
font-weight: 700; font-weight: 700;
font-family: 'Work Sans Variable', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-family: 'Work Sans Variable', sans-serif;
font-size-adjust: 0.52;
line-height: 1.4;
} }
.sub { .sub {
margin: 0 .5rem; margin: 0 .5rem;
font-size: 0.9rem; font-size: 0.9rem;
font-weight: 500; font-weight: 500;
font-family: 'Work Sans Variable', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-family: 'Work Sans Variable', sans-serif;
font-size-adjust: 0.52;
line-height: 1.4;
} }
.head { .head {

View file

@ -34,20 +34,14 @@ import LinkContainer from "../links/linkContainer.astro";
padding-top: 2rem; padding-top: 2rem;
font-size: 3rem; font-size: 3rem;
font-weight: 700; font-weight: 700;
font-family: 'Work Sans Variable', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-family: 'Work Sans Variable', sans-serif;
font-size-adjust: 0.52;
line-height: 1.4;
min-height: 4.8rem;
} }
.sub { .sub {
font-size: 1rem; font-size: 1rem;
font-weight: 400; font-weight: 400;
font-family: 'Work Sans Variable', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-family: 'Work Sans Variable', sans-serif;
font-size-adjust: 0.52;
line-height: 1.4;
width: 97.5%; width: 97.5%;
min-height: 1.5rem;
} }
.fancy { .fancy {

View file

@ -63,6 +63,7 @@ COPY --from=build /app/dist /public
COPY --from=build /app/serve.json /public/serve.json COPY --from=build /app/serve.json /public/serve.json
RUN rm -r /public/assets/data/ RUN rm -r /public/assets/data/
ENV PORT 8081
EXPOSE 8081 EXPOSE 8081
CMD [ "serve", "public/", "-p", "8081" ] CMD [ "serve", "public/", "-p", "8081" ]
@ -115,8 +116,7 @@ One last hurdle was, ironically, Gitlab. Specifically, it was their `lighthouse`
After some testing, I decided to just make my own version of the `lighthouse` container, without the user but with `unlighthouse` preinstalled (this also helps with processing times, as puppeteer takes a good amount of time to install each run). After some testing, I decided to just make my own version of the `lighthouse` container, without the user but with `unlighthouse` preinstalled (this also helps with processing times, as puppeteer takes a good amount of time to install each run).
<details> The `Dockerfile` can be found below (really simple again):
<summary>`Dockerfile` (really simple again)</summary>
```dockerfile ```dockerfile
FROM node:20.10.0-bookworm FROM node:20.10.0-bookworm
@ -131,8 +131,6 @@ RUN apt-get update && apt-get -y install --no-install-recommends chromium=${CHRO
RUN npm install @unlighthouse/cli puppeteer RUN npm install @unlighthouse/cli puppeteer
``` ```
</details>
With this container, the CI step to actually run the tests became a lot easier: With this container, the CI step to actually run the tests became a lot easier:
```yaml ```yaml

View file

@ -60,9 +60,7 @@ deploy-site:
``` ```
First installing ssh and readying everything from the CI variables, this was a big change from the Pages configuration. But there was one thing that really bothered me: The ssh call. If you look at it, you can see that I left out the commands that are passed to `ssh`. There is a good reason: These are waaaay too long. First installing ssh and readying everything from the CI variables, this was a big change from the Pages configuration. But there was one thing that really bothered me: The ssh call. If you look at it, you can see that I left out the commands that are passed to `ssh`. There is a good reason: These are waaaay too long.
If displayed as separated shell calls, they would look something like this:
<details>
<summary>commands formatted as a shell script</summary>
```shell ```shell
screen -X -S website-firq-npx kill; screen -X -S website-firq-npx kill;
@ -80,8 +78,6 @@ cd ~;
screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json" screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json"
``` ```
</details>
With the following directory structure on the remote host, this can easily be explained: With the following directory structure on the remote host, this can easily be explained:
```plain ```plain
@ -176,8 +172,7 @@ After completing, the new stage begins.
Since the files are now built on the GitLab server and not in the Proxmox instance, the files need to be moved over during the pipeline. This can be achieved by a great utility known as `rsync`. It can be used for sending data via ssh to any client that supports it, which makes it the ideal tool for my use-case. Since the files are now built on the GitLab server and not in the Proxmox instance, the files need to be moved over during the pipeline. This can be achieved by a great utility known as `rsync`. It can be used for sending data via ssh to any client that supports it, which makes it the ideal tool for my use-case.
I also recommend looking <a href="https://blog.mitsunee.com/post/copy-steam-games-rsync" target="_blank" rel="noopener noreferrer">at this blog post from Mitsunee</a> detailing how to use `ssh` and `rsync` to sync game libraries to the Steam Deck with ease. I also recommend looking <a href="https://blog.mitsunee.com/post/copy-steam-games-rsync" target="_blank" rel="noopener noreferrer">at this blog post from Mitsunee</a> detailing how to use `ssh` and `rsync` to sync game libraries to the Steam Deck with ease.
<details> In my case, the resulting `.gitlab-ci.yml` looked like this:
<summary>.gitlab-ci.yml</summary>
```yaml ```yaml
deploy-site: deploy-site:
@ -206,8 +201,6 @@ deploy-site:
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json" - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json"
``` ```
</details>
First, you have the rsync and ssh setup, which now also creates a new ssh-config for this. This really reduces the amount of arguments that need to be passed to ssh and rsync, making the whole flow less error-prone. My main issue with setting this up was to find out how to structure this, as I needed to setup ssh from the pipeline First, you have the rsync and ssh setup, which now also creates a new ssh-config for this. This really reduces the amount of arguments that need to be passed to ssh and rsync, making the whole flow less error-prone. My main issue with setting this up was to find out how to structure this, as I needed to setup ssh from the pipeline
without causing any weird issues. But by using a custom ssh-key and config, it became really easy to get this to run. without causing any weird issues. But by using a custom ssh-key and config, it became really easy to get this to run.

View file

@ -15,12 +15,6 @@
"name": "Summer Skadi", "name": "Summer Skadi",
"origin": "Fate/Grand Order", "origin": "Fate/Grand Order",
"imageFile": "summerskadi.png", "imageFile": "summerskadi.png",
"link": "https://youtu.be/qmR4s3DHZXw" "link": "https://twitter.com/firq_ow/status/1816355501216596073"
},
{
"name": "Summer Scathach",
"origin": "Fate/Grand Order",
"imageFile": "summerscathach.png",
"link": "https://youtu.be/k0E3kgx3eMA"
} }
] ]

View file

@ -1,6 +1,6 @@
--- ---
import '@fontsource-variable/work-sans' import '@fontsource-variable/work-sans'
import workSans from '@fontsource-variable/work-sans/files/work-sans-latin-wght-normal.woff2?url' import workSans from '@fontsource-variable/work-sans/files/work-sans-latin-wght-normal.woff2'
import Navbar from '@components/navbar/navbar.astro' import Navbar from '@components/navbar/navbar.astro'
import NavbarEntry from '@components/navbar/navbarEntry.astro' import NavbarEntry from '@components/navbar/navbarEntry.astro'
@ -123,7 +123,7 @@ const mapped_navdata = navdata.map((item) => ({
/* Fonts */ /* Fonts */
--f-default: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; --f-default: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
--f-title: 'Work Sans Variable', system-ui, 'Segoe UI', sans-serif; --f-title: 'Work Sans Variable', sans-serif;
font-family: var(--f-default); font-family: var(--f-default);
@ -144,8 +144,6 @@ const mapped_navdata = navdata.map((item) => ({
/* Scrollbar */ /* Scrollbar */
scrollbar-color: var(--c-secondary-background) var(--c-primary-background); scrollbar-color: var(--c-secondary-background) var(--c-primary-background);
/* Font Size Adjusting to prevent LCP issue */
} }
body { body {

View file

@ -135,7 +135,7 @@ const line = displayLine ? "flex" : "none"
margin-left: 1.75rem; margin-left: 1.75rem;
} }
.line { .line {
margin-left: 2.625rem; margin-left: 2.6rem;
height: calc(100% + 6rem); height: calc(100% + 6rem);
translate: 0px -2rem; translate: 0px -2rem;
} }

View file

@ -19,7 +19,7 @@ const { title } = Astro.props
font-size: 24px; font-size: 24px;
font-weight: 700; font-weight: 700;
line-height: 32px; line-height: 32px;
font-family: 'Work Sans Variable', sans-serif; font-family: 'Work Sans Adaptive', sans-serif;
width: max-content; width: max-content;
margin: 0 auto 0.5rem; margin: 0 auto 0.5rem;
&:after { &:after {

View file

@ -31,7 +31,7 @@ const description = "Error. This shouldn't happen :/"
align-items: center; align-items: center;
} }
h2 { h2 {
font-family: 'Work Sans Variable', system-ui, 'Segoe UI', sans-serif; font-family: 'Work Sans Variable', sans-serif;
font-weight: 500; font-weight: 500;
color: var(--c-primary-text); color: var(--c-primary-text);
font-size: 1.25rem; font-size: 1.25rem;
@ -45,7 +45,7 @@ const description = "Error. This shouldn't happen :/"
text-align: center; text-align: center;
width: fit-content; width: fit-content;
font-weight: 500; font-weight: 500;
font-family: 'Work Sans Variable', system-ui, 'Segoe UI', sans-serif; font-family: 'Work Sans Variable', sans-serif;
color: var(--c-primary-text); color: var(--c-primary-text);
margin: 1rem 0px 0px; margin: 1rem 0px 0px;
padding: 0.5rem 0.75rem; padding: 0.5rem 0.75rem;

View file

@ -28,7 +28,7 @@ const projects = [
const data = structuredClone(favouritesdata); const data = structuredClone(favouritesdata);
data.map((item) => { if (item.name !== "Summer Scathach") {item.origin = "First 120 on NA"} else {item.origin = "After Forever"} }) data.map((item) => { item.origin = "First 120 on NA" })
--- ---
<Layout <Layout

View file

@ -18,7 +18,6 @@ const description =
> >
<Hi /> <Hi />
<BaseSection title="About me"> <BaseSection title="About me">
<Placeholder height="0px"/>
<AboutText/> <AboutText/>
</BaseSection> </BaseSection>
<BaseSection title="Favourites"> <BaseSection title="Favourites">

View file

@ -1,4 +1,4 @@
import type { UserConfig } from '@unlighthouse/core' import type { UserConfig } from 'unlighthouse'
export default async (): Promise<UserConfig> => { export default async (): Promise<UserConfig> => {
/* fetch sitemap from debug container */ /* fetch sitemap from debug container */
@ -12,21 +12,17 @@ export default async (): Promise<UserConfig> => {
/* actual config */ /* actual config */
return { return {
lighthouseOptions: { lighthouseOptions: {
throttlingMethod: 'simulate', throttlingMethod: 'devtools',
throttling: { throttling: {
rttMs: 150,
throughputKbps: 1638.4,
requestLatencyMs: 562.5,
downloadThroughputKbps: 1474.56,
uploadThroughputKbps: 675,
cpuSlowdownMultiplier: 4, cpuSlowdownMultiplier: 4,
requestLatencyMs: 150,
downloadThroughputKbps: 1638.4,
uploadThroughputKbps: 1638.4,
}, },
screenEmulation: { screenEmulation: {
mobile: true,
width: 412, width: 412,
height: 823, height: 823,
deviceScaleFactor: 1.75, deviceScaleFactor: 1.75,
disabled: false,
}, },
skipAudits: [ 'is-on-https', 'redirects-http', 'uses-http2' ], skipAudits: [ 'is-on-https', 'redirects-http', 'uses-http2' ],
}, },
@ -41,9 +37,9 @@ export default async (): Promise<UserConfig> => {
buildStatic: true, buildStatic: true,
}, },
scanner: { scanner: {
sitemap: false, sitemap: true,
dynamicSampling: false, dynamicSampling: false,
samples: 1, samples: 3,
}, },
outputPath: 'unlighthouse-reports', outputPath: 'unlighthouse-reports',
cache: true, cache: true,