Compare commits

..

No commits in common. "fa9a8c2724254f8dcd627907dafa41d0c8d631a3" and "501a3a20624961b1118ef5f72ec44094d484ebc1" have entirely different histories.

19 changed files with 545 additions and 593 deletions

View file

@ -11,11 +11,9 @@ Example URL: `https://github.com/BuyMyMojo/aria.coffee/` - Notice the trailing `
On dev machine: On dev machine:
```sh ```sh
pnpm run build && rm -r ./dist-new && mv ./dist ./dist-new && croc send --zip ./dist-new pnpm run build && rm -r ./dist-new && mv ./dist ./dist-new && croc send ./dist-new
``` ```
The `--zip` is required as there is some file name somewhere that croc doesn't like so putting in a zip fixes this.
on server: on server:
```sh ```sh

View file

@ -10,12 +10,12 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/check": "^0.9.4", "@astrojs/check": "^0.9.4",
"@astrojs/mdx": "^4.2.1", "@astrojs/mdx": "^4.1.0",
"@astrojs/node": "^9.1.3", "@astrojs/node": "^9.1.2",
"@astrojs/preact": "^4.0.5", "@astrojs/preact": "^4.0.5",
"@astrojs/rss": "^4.0.11", "@astrojs/rss": "^4.0.11",
"@astrojs/tailwind": "^5.1.5", "@astrojs/tailwind": "^5.1.5",
"astro": "^5.5.3", "astro": "^5.4.2",
"astro-icon": "^1.1.5", "astro-icon": "^1.1.5",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"preact": "^10.26.4", "preact": "^10.26.4",
@ -28,6 +28,6 @@
"@iconify-json/meteor-icons": "^1.2.1", "@iconify-json/meteor-icons": "^1.2.1",
"@iconify-json/tabler": "^1.2.17", "@iconify-json/tabler": "^1.2.17",
"@tailwindcss/typography": "^0.5.16", "@tailwindcss/typography": "^0.5.16",
"vite": "^6.2.2" "vite": "^6.2.1"
} }
} }

927
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

1
public/jxl.min.js vendored
View file

@ -1 +0,0 @@
!function(){"use strict";let e={useCache:!0,imageType:"png"},a,t={};function s(s,i,n,r){let l=s.dataset.jxlSrc;if(i instanceof Blob)c(s,URL.createObjectURL(i),n,r);else if("OffscreenCanvas"in window){let d=new OffscreenCanvas(i.width,i.height);t[l].postMessage({canvas:d,imgData:i,imageType:e.imageType},[d]),t[l].addEventListener("message",t=>{t.data.url&&t.data.blob&&(c(s,t.data.url,n,r),e.useCache&&a&&a.put(l,new Response(t.data.blob)))})}else{let g=document.createElement("canvas");g.width=i.width,g.height=i.height,g.getContext("2d").putImageData(i,0,0),g.toBlob(t=>{c(s,URL.createObjectURL(t),n,r),e.useCache&&a&&a.put(l,new Response(t))},"image/"+e.imageType)}}function c(a,t,s,c){s?a.style.backgroundImage='url("'+t+'")':c?(a.srcset=t,a.type="image/"+e.imageType):a.src=t}async function i(c,i,n){let r=c.dataset.jxlSrc=i?getComputedStyle(c).backgroundImage.slice(5,-2):n?c.srcset:c.currentSrc;if(i||n||(c.srcset="",c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),e.useCache){try{a=a||await caches.open("jxl")}catch(l){}let d=a&&await a.match(r);if(d){let g=await d.blob();requestAnimationFrame(()=>s(c,g,i,n));return}}let o=await fetch(r),u=await o.arrayBuffer();t[r]=new Worker("https://aria.coffee/jxl_dec.js"),t[r].postMessage({jxlSrc:r,image:u}),t[r].addEventListener("message",e=>e.data.imgData&&requestAnimationFrame(()=>s(c,e.data.imgData,i,n)))}new MutationObserver(e=>e.forEach(e=>e.addedNodes.forEach(e=>{e instanceof HTMLImageElement&&e.src.endsWith(".jxl")?e.onerror=()=>i(e,!1,!1):e instanceof HTMLSourceElement&&e.srcset.endsWith(".jxl")?i(e,!1,!0):e instanceof Element&&getComputedStyle(e).backgroundImage.endsWith('.jxl")')&&i(e,!0,!1)}))).observe(document.documentElement,{subtree:!0,childList:!0})}();

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

View file

@ -5,20 +5,18 @@ import { Icon } from "astro-icon/components";
import { execSync } from "node:child_process"; import { execSync } from "node:child_process";
const commitURL = import.meta.env.PUBLIC_COMMIT === "" ? "" : `${import.meta.env.PUBLIC_REPOURL}commit/${execSync(`git log -1 --pretty="format:%H"`)}`; const commitURL = import.meta.env.PUBLIC_COMMIT === "" ? "" : `${import.meta.env.PUBLIC_REPOURL}commit/${execSync(`git log -1 --pretty="format:%H"`)}`;
const COMMIT = import.meta.env.PUBLIC_COMMIT === "" ? "Docker Build!" : `<a href=${commitURL} target="_blank">${execSync(`git log -1 --pretty="format:%h"`)}</a>`; const COMMIT = import.meta.env.PUBLIC_COMMIT === "" ? "Docker Build!" : `<a href=${commitURL}>${execSync(`git log -1 --pretty="format:%h"`)}</a>`;
--- ---
<hr class="h-1" style="" /> <hr class="h-1" style="" />
<footer class="flexcol"> <footer class="flexcol">
<div class="flexrow"> <div class="flexrow">
<p class="text-center"> <p>
| <a href="https://github.com/BuyMyMojo/aria.coffee" target="_blank" | <a href="https://github.com/BuyMyMojo/aria.coffee" target="_blank"
> <Icon name="mdi:source-branch" class={"svg-inline"}/>Source</a > <Icon name="mdi:source-branch" class={"svg-inline"}/>Source Code</a
> - Commit:<Fragment set:html={COMMIT} /> | <a href="https://aria.coffee/rss.xml" target="_blank" > - Commit:<Fragment set:html={COMMIT} /> | <a href="https://aria.coffee/rss.xml" target="_blank"
> <Icon name="mdi:rss" class={"svg-inline"}/>RSS Feed</a > <Icon name="mdi:rss" class={"svg-inline"}/>RSS Feed</a
> | <span class="tooltip"><a href="/special_blog" > |
> <Icon name="mdi:rss" class={"svg-inline"}/>blog for robots!</a
> <span class="tooltiptext"><nobr>AI Honeypot~</nobr></span></span> |
</p> </p>
</div> </div>
<div class="flex"> <div class="flex">

View file

@ -45,7 +45,7 @@ const optimizedBackgroundLQ = await getImage({
<a href="/blog" class="nav-btn">Blog</a> | <a href="/blog" class="nav-btn">Blog</a> |
<a href="/about" class="nav-btn">About</a> | <a href="/about" class="nav-btn">About</a> |
<a href="/friends" class="nav-btn">Friends</a> | <a href="/friends" class="nav-btn">Friends</a> |
<a href="/directory" class="nav-btn">Other Pages</a> | <a href="/other buttons" class="nav-btn">Moar 88x31</a> |
<a href="/portfolio" class="nav-btn">Portfolio</a> | <a href="/portfolio" class="nav-btn">Portfolio</a> |
</p> </p>
</Partition> </Partition>

View file

@ -15,7 +15,7 @@ import { Icon } from "astro-icon/components";
<a href={bsky} class="p-1" target="_blank" <a href={bsky} class="p-1" target="_blank"
><Icon name="meteor-icons:bluesky" class={"svg-inline"} /> Bluesky</a ><Icon name="meteor-icons:bluesky" class={"svg-inline"} /> Bluesky</a
> - <button id="bskypid" > - <button id="bskypid"
>@aria.coffee (Click to copy DID)</button >@femgo.buymymojo.net (Click to copy DID)</button
> >
</li> </li>
<li> <li>

View file

@ -1,3 +0,0 @@
<link rel="prefetch" href="https://aria.coffee/jxl_dec.js" fetchpriority="high">
<link rel="prefetch" href="https://aria.coffee/jxl_dec.wasm" fetchpriority="high">
<script src="https://aria.coffee/jxl.min.js" type="text/javascript"></script>

View file

@ -1,43 +0,0 @@
---
import Favicon from "../components/Favicon.astro";
import Footer from "../components/Footer.astro";
import NavHeader from "../components/NavHeader.astro";
import "../styles/aria.css";
import EmbedCode from "../components/EmbedCode.astro";
import JxlLoader from "../components/jxl-loader.astro";
const { pageTitle, description = "Aria's little corner of the web" } = Astro.props;
---
<!doctype html>
<html lang="en">
<head>
<Favicon />
<meta name="viewport" content="width=device-width" />
<meta name="generator" content={Astro.generator} />
<meta name="description" content={description}>
<title>{pageTitle}</title>
<EmbedCode pageTitle={pageTitle} description={description} />
<link rel="preconnect" href="https://transring.neocities.org" />
<link rel="dns-prefetch" href="https://transring.neocities.org" />
<link rel="preload" as="script" href="https://transring.neocities.org/ring.js">
<link rel="preload" as="image" href="https://transring.neocities.org/widget/trans/button.png">
<link rel="preload" as="image" href="https://transring.neocities.org/widget/trans/left.png">
<link rel="preload" as="image" href="https://transring.neocities.org/widget/trans/right.png">
<JxlLoader />
<link
rel="alternate"
type="application/rss+xml"
title="Aria's blog"
href={new URL("rss.xml", Astro.site)}
/>
</head>
<body>
<NavHeader />
<slot />
<Footer />
</body>
</html>

View file

@ -1,20 +0,0 @@
---
import Partition from "../components/Partition.astro";
import BaseLayout from "../layouts/BaseLayout.astro";
const pageTitle = "A bunch of other pages!";
---
<BaseLayout pageTitle={pageTitle}>
<Partition>
<h1 class="text-4xl font-bold">{pageTitle}</h1>
<p>Here are some other pages I have for various reasons!</p>
<ul class=" list-disc px-8">
<li><a href="/jxl-testing">JpegXL Decoder Test</a></li>
<li><a href="/other buttons">Extra 88x31 buttons</a></li>
</ul>
</Partition>
</BaseLayout>

View file

@ -103,8 +103,6 @@ const description = "All of Aria's friends with 88x31 buttons for you to click o
target="https://ackwell.au" target="https://ackwell.au"
/> />
</div> </div>
<br />
<a href="/other buttons">Extra 88x31 buttons!</a>
</Partition> </Partition>
<Partition> <Partition>
<h2>My badge:</h2> <h2>My badge:</h2>

View file

@ -5,13 +5,6 @@ import Greeting from "../components/Greeting";
import Social from "../components/Social.astro"; import Social from "../components/Social.astro";
import BaseLayout from "../layouts/BaseLayout.astro"; import BaseLayout from "../layouts/BaseLayout.astro";
const pageTitle = "Aria"; const pageTitle = "Aria";
const currentDate = new Date();
const ariaBirthDate = new Date("2002-05-07");
const seconds = (currentDate.getTime() - ariaBirthDate.getTime()) / 1000;
const age = seconds/31556952;
--- ---
<BaseLayout pageTitle={pageTitle}> <BaseLayout pageTitle={pageTitle}>
@ -19,7 +12,7 @@ const age = seconds/31556952;
<main> <main>
<h1 class="text-4xl">Welcome!~</h1> <h1 class="text-4xl">Welcome!~</h1>
<p> <p>
I'm Aria, a <span class="tooltip">{Math.floor(age)}<span class="tooltiptext"><nobr>{age.toFixed(8)} years to be exact!</nobr></span></span> year old software developer and electronics I'm Aria, a 22 year old software developer and electronics
repair tech out of rural <span style="color: #D4F7CF;" repair tech out of rural <span style="color: #D4F7CF;"
>Australia <span >Australia <span
class="backdrop-brightness-200 px-1 text-2xl rounded" class="backdrop-brightness-200 px-1 text-2xl rounded"
@ -36,23 +29,4 @@ const age = seconds/31556952;
<h1>Socials:</h1> <h1>Socials:</h1>
<Social /> <Social />
</Partition> </Partition>
<script>
setInterval(() => {
const currentDate = new Date();
const ariaBirthDate = new Date("2002-05-07");
const seconds = (currentDate.getTime() - ariaBirthDate.getTime()) / 1000;
const age = seconds/31556952;
const ageElem = document.querySelector('.tooltip');
ageElem!.outerHTML = `<span class="tooltip">${Math.floor(age)}<span class="tooltiptext"><nobr>${age.toFixed(8)} years to be exact!</nobr></span></span>`;
}, 1000);
</script>
<style is:inline>
</style>
</BaseLayout> </BaseLayout>

View file

@ -1,31 +0,0 @@
---
import Partition from "../components/Partition.astro";
import BaseLayoutJxl from "../layouts/BaseLayoutJxl.astro";
import BaseLayout from "../layouts/BaseLayout.astro";
const pageTitle = "Testing JpegXL support!";
---
<BaseLayoutJxl pageTitle={pageTitle}>
<Partition>
<h1 class="text-4xl font-bold">{pageTitle}</h1>
</Partition>
<Partition>
<h2 class="text-3xl font-bold">About</h2>
<p>I found <a href="https://github.com/niutech/jxl.js" target="_blank">this</a> neat snippet of code for adding </p>
</Partition>
<Partition>
<h3 class="text-2xl text-center font-bold">PNG:</h2>
<img src="/static/img/sites/avatar.png" />
</Partition>
<Partition>
<h3 class="text-2xl text-center font-bold">AVIF:</h2>
<img src="/static/img/sites/avatar.avif" />
</Partition>
<Partition>
<h3 class="text-2xl text-center font-bold">JXL:</h2>
<img src="/static/img/sites/avatar.jxl" />
</Partition>
</BaseLayoutJxl>

View file

@ -1,18 +0,0 @@
---
import FriendLink from "../components/FriendLink.astro";
import "../styles/aria.css";
import Partition from "../components/Partition.astro";
import BaseLayout from "../layouts/BaseLayout.astro";
const pageTitle = "Aria's friends";
const description = "All of Aria's friends with 88x31 buttons for you to click on!!";
---
<BaseLayout pageTitle={pageTitle}>
<Partition>
<h1 class="text-2xl">You should not be here!!</h1>
<p>If you can see this page then something has gone a little silly!</p><br />
<p>There should be an <a href="https://zadzmo.org/code/nepenthes/" target="_blank">AI honey pot</a> on this page instead of this text!</p><br />
<p><a href="https://web.archive.org/web/2/https://zadzmo.org/code/nepenthes/" target="_blank">AI honey pot archive link just to be safe</a></p>
</Partition>
</BaseLayout>

View file

@ -12,8 +12,8 @@
/* ,url("/static/fonts/comic shanns.otf") /* ,url("/static/fonts/comic shanns.otf")
format("opentype"), url("/static/fonts/comic shanns 2.ttf") format("opentype"), url("/static/fonts/comic shanns 2.ttf")
format("truetype"); */ format("truetype"); */
font-display: swap; font-display: swap;
} }
@font-face { @font-face {
font-family: "Comic Mono"; font-family: "Comic Mono";
@ -72,7 +72,7 @@ a {
} }
a:hover { a:hover {
text-decoration-color: #f5a8b7; text-decoration-color: #F5A8B7;
transition: text-decoration-color 0.25s; transition: text-decoration-color 0.25s;
} }
@ -132,34 +132,3 @@ a:hover {
height: 1em; height: 1em;
vertical-align: -0.125em; vertical-align: -0.125em;
} }
.tooltip {
position: relative;
display: inline-block;
text-decoration: underline 2px;
text-underline-offset: 2px;
text-decoration-color: #fff;
}
.tooltip:hover {
text-decoration-color: #f5a8b7;
transition: text-decoration-color 0.25s;
}
.tooltip .tooltiptext {
visibility: hidden;
width: auto;
background-color: black;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
/* Position the tooltip */
position: absolute;
z-index: 1;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}