Compare commits

..

14 commits

Author SHA1 Message Date
ac85131e69 Update package.json 2025-08-01 10:04:39 +00:00
2c42f18e81 Update unlighthouse.config.ts 2025-08-01 10:01:31 +00:00
d56f70c1ba
Bumped ver 2025-08-01 07:51:39 +02:00
36e0a056fa
Merge branch 'dev' 2025-08-01 07:50:48 +02:00
31c3f76a9b
Release Candidate 2025-08-01 07:47:08 +02:00
693f0f2eae
added ai.txt 2025-04-27 18:29:08 +02:00
8d6ededac6
updated robots with ai.robots.txt 2025-04-27 15:57:02 +02:00
67e565493c
updated robots with ai.robots.txt 2025-04-27 15:56:28 +02:00
cc6b3c22b8
fixed animations 2025-04-21 21:55:54 +02:00
13ccaa1977
applied faster phone settings 2025-04-17 23:23:38 +02:00
52dd87b52d
test theory 2025-04-17 22:10:16 +02:00
94687c6866
LCP fixes 2025-04-17 21:46:30 +02:00
ce4e7777e0
Animations fix 2025-04-17 20:06:18 +02:00
f5bb4bf78e Merge pull request 'Mergin dev - new header, updated servants' () from dev into main
Reviewed-on: 
2024-06-15 17:20:51 +00:00
24 changed files with 6174 additions and 2869 deletions

8865
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

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

6
public/ai.txt Normal file
View file

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

View file

@ -1,8 +1,61 @@
User-agent: *
Disallow: /assets/data/
User-agent: GPTBot
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: iaskspider/2.0
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: /
Sitemap: https://firq.dev/sitemap-index.xml

Binary file not shown.

After

(image error) Size: 238 KiB

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -41,12 +41,11 @@ const display = fadeout ? "": "display: none"
background: var(--c-primary-background);
border-radius: 10px;
border: 2px var(--c-accent-1) solid;
transition: all var(--a-time-default) var(--a-animation-1);
transition: border-color var(--a-time-default) var(--a-animation-1);
}
a:hover {
border-color: var(--c-accent-1-alt);
transition: all var(--a-time-default) var(--a-animation-1);
}
.fade {
@ -66,6 +65,7 @@ const display = fadeout ? "": "display: none"
@supports (background-clip: text) {
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-clip: text;
color: transparent;

View file

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

View file

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

View file

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

View file

@ -15,6 +15,12 @@
"name": "Summer Skadi",
"origin": "Fate/Grand Order",
"imageFile": "summerskadi.png",
"link": "https://twitter.com/firq_ow/status/1816355501216596073"
"link": "https://youtu.be/qmR4s3DHZXw"
},
{
"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 workSans from '@fontsource-variable/work-sans/files/work-sans-latin-wght-normal.woff2'
import workSans from '@fontsource-variable/work-sans/files/work-sans-latin-wght-normal.woff2?url'
import Navbar from '@components/navbar/navbar.astro'
import NavbarEntry from '@components/navbar/navbarEntry.astro'
@ -113,15 +113,7 @@ const mapped_navdata = navdata.map((item) => ({
</body>
</html>
<style is:global define:vars={{ workSans }}>
@font-face {
font-family: 'Work Sans Variable';
src: var(--workSans) format('woff2');
font-display: swap;
font-weight: 100 900;
font-style: normal;
}
<style is:global>
:root {
/* Animations */
--a-time-default: 200ms;
@ -152,6 +144,8 @@ const mapped_navdata = navdata.map((item) => ({
/* Scrollbar */
scrollbar-color: var(--c-secondary-background) var(--c-primary-background);
/* Font Size Adjusting to prevent LCP issue */
}
body {

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,4 @@
import type { UserConfig } from 'unlighthouse'
import type { UserConfig } from '@unlighthouse/core'
export default async (): Promise<UserConfig> => {
/* fetch sitemap from debug container */
@ -19,14 +19,14 @@ export default async (): Promise<UserConfig> => {
requestLatencyMs: 562.5,
downloadThroughputKbps: 1474.56,
uploadThroughputKbps: 675,
cpuSlowdownMultiplier: 1.2
cpuSlowdownMultiplier: 4,
},
screenEmulation: {
mobile: true,
width: 412,
height: 823,
deviceScaleFactor: 1.75,
disabled: false
disabled: false,
},
skipAudits: [ 'is-on-https', 'redirects-http', 'uses-http2' ],
},