Compare commits
14 commits
0.2.0-pre.
...
main
Author | SHA1 | Date | |
---|---|---|---|
ac85131e69 | |||
2c42f18e81 | |||
d56f70c1ba |
|||
36e0a056fa |
|||
31c3f76a9b |
|||
693f0f2eae |
|||
8d6ededac6 |
|||
67e565493c |
|||
cc6b3c22b8 |
|||
13ccaa1977 |
|||
52dd87b52d |
|||
94687c6866 |
|||
ce4e7777e0 |
|||
f5bb4bf78e |
24 changed files with 6174 additions and 2869 deletions
package-lock.jsonpackage.jsonunlighthouse.config.ts
public
src
assets/favourites
components
cards
blogCard.astroceCard.astrofavouriteCard.astroprojectCard.astroservantCard.astrotaCard.astrotechnologyCard.astro
fgotaHero.astrolinks
navbar
titles
data/datafiles
layouts
pages
8865
package-lock.json
generated
8865
package-lock.json
generated
File diff suppressed because it is too large
Load diff
10
package.json
10
package.json
|
@ -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
6
public/ai.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Spawning AI
|
||||
# Prevent datasets from using the following file types
|
||||
|
||||
User-Agent: *
|
||||
Disallow: /
|
||||
Disallow: *
|
|
@ -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
|
BIN
src/assets/favourites/summerscathach.png
Normal file
BIN
src/assets/favourites/summerscathach.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 238 KiB |
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
]
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -18,6 +18,7 @@ const description =
|
|||
>
|
||||
<Hi />
|
||||
<BaseSection title="About me">
|
||||
<Placeholder height="0px"/>
|
||||
<AboutText/>
|
||||
</BaseSection>
|
||||
<BaseSection title="Favourites">
|
||||
|
|
|
@ -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' ],
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue