Compare commits

...

28 Commits

Author SHA1 Message Date
97dcc9c909 feat: added content to the about page
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m16s
Gitea Actions Demo / Upload (push) Successful in 8s
2025-09-26 13:03:01 +02:00
7ef5d2bbb9 feat: added general media margin for consistant margins 2025-09-26 13:02:43 +02:00
fc23cb6e90 refactor: moved style of nav bar to it's svelte 2025-09-26 13:01:47 +02:00
c39f1d38e9 feat: changed styling
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m34s
Gitea Actions Demo / Upload (push) Successful in 10s
2025-09-26 10:51:16 +02:00
c1ec367133 feat: added aria to bsky button 2025-09-26 10:50:38 +02:00
23a7243b58 fix: changed env names to be more consistant
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m17s
Gitea Actions Demo / Upload (push) Successful in 8s
2025-09-25 14:18:04 +02:00
c11c49f0e2 feat: added cleanup to build action
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m14s
Gitea Actions Demo / Upload (push) Successful in 9s
2025-09-25 14:12:57 +02:00
92c598727a fix: downgrated artifacts download, cause v4 isn't supported
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m10s
Gitea Actions Demo / Upload (push) Successful in 16s
2025-09-25 14:07:59 +02:00
a581d96eef fix: downgrated artifacts upload, cause v4 isn't supported
Some checks failed
Gitea Actions Demo / Build (push) Successful in 1m18s
Gitea Actions Demo / Upload (push) Failing after 11s
2025-09-25 14:05:10 +02:00
716a9e6470 feat: added artifacts to build action
Some checks failed
Gitea Actions Demo / Build (push) Failing after 1m12s
Gitea Actions Demo / Upload (push) Has been skipped
2025-09-25 13:14:36 +02:00
7b695d94f7 refactor: made action more redable
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m15s
2025-09-25 12:35:11 +02:00
1ddff719cb fix: syntax error fixed in action
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m10s
2025-09-25 11:26:24 +02:00
6ba4541d87 fix: changed syncing structure in action
Some checks failed
Gitea Actions Demo / Build (push) Failing after 1m9s
2025-09-25 11:20:14 +02:00
a08dfcf4c1 fix: added recursion to scp in action
Some checks failed
Gitea Actions Demo / Build (push) Failing after 1m19s
2025-09-24 18:48:45 +02:00
f1fc074f1f fix: fixed permission issure in action
Some checks failed
Gitea Actions Demo / Build (push) Failing after 1m15s
2025-09-24 18:36:03 +02:00
77adf10d54 refactor: restructured action
Some checks failed
Gitea Actions Demo / Build (push) Failing after 1m14s
2025-09-24 18:25:41 +02:00
28987cdb2e fix: reverted rsync in action
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m14s
2025-09-24 18:21:37 +02:00
1ea76ef718 feat: changed upload program to rsync
Some checks failed
Gitea Actions Demo / Build (push) Failing after 13s
2025-09-24 18:11:54 +02:00
b490042c20 fix: permissions in action
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m17s
2025-09-23 20:09:10 +02:00
213d2a579f fix: seperated commands
Some checks failed
Gitea Actions Demo / Build (push) Has been cancelled
2025-09-23 20:06:57 +02:00
4d4bf30046 fix: added known hosts to action
Some checks failed
Gitea Actions Demo / Build (push) Failing after 12s
2025-09-23 18:21:23 +02:00
5714a40b25 fix: changed key store in action
Some checks failed
Gitea Actions Demo / Build (push) Failing after 1m27s
2025-09-23 17:57:21 +02:00
36ebb57c97 fix: added user to upload action
Some checks failed
Gitea Actions Demo / Build (push) Has been cancelled
2025-09-23 16:30:35 +02:00
3f2fb7cca2 feat: added upload to action
Some checks failed
Gitea Actions Demo / Build (push) Has been cancelled
2025-09-23 16:27:51 +02:00
a360a0fafe fix: in actio use node 20
All checks were successful
Gitea Actions Demo / Build (push) Successful in 1m58s
2025-09-23 15:42:06 +02:00
d95aa9d12c fix: changed branch name in action
Some checks failed
Gitea Actions Demo / Build (push) Failing after 22s
2025-09-23 15:33:31 +02:00
41966da44e Merge branch 'dev' 2025-09-23 15:32:09 +02:00
daa2e6a426 feat: added rose pine theme from prism syntax 2025-09-10 12:22:17 +02:00
8 changed files with 160 additions and 126 deletions

View File

@@ -0,0 +1,61 @@
name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
push:
branches:
- master
jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Setup Node v20
uses: actions/setup-node@v5
with:
node-version: 20
- name: Install dependencies
run: |
cd ${{ gitea.workspace }}
npm ci
- name: Build
run: npm run build
- name: Save Build Artifact
uses: actions/upload-artifact@v3
with:
name: build-artifact
path: ${{ gitea.workspace }}/build/*
include-hidden-files: true
Upload:
runs-on: ubuntu-latest
needs: Build
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: build-artifact
path: ${{ gitea.workspace }}/build
- name: setup ssh
run: |
mkdir -p ~/.ssh/
echo "$SSH_PRIVATE_KEY" > ../private.key
sudo chmod 600 ../private.key
echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
shell: bash
env:
SSH_PRIVATE_KEY: ${{secrets.SSH_KEY}}
SSH_KNOWN_HOSTS: ${{secrets.SSH_KNOWN_HOSTS}}
- name: upload to web
run: |
scp -r -i ${{ gitea.workspace }}/../private.key -P ${{ secrets.BLOG_PORT }} build blog@madeio.net:/var/www/html/
ssh -i ${{ gitea.workspace }}/../private.key -p ${{ secrets.BLOG_PORT }} blog@madeio.net "$PERM_COPY"
env:
PERM_COPY: chmod -R 775 /var/www/html/build; cp -r /var/www/html/build/* /var/www/html/; rm -r /var/www/html/build
- name: cleanup ssh
run: |
rm ${{ gitea.workspace }}/../private.key
rm ~/.ssh/known_hosts

View File

@@ -1,24 +0,0 @@
name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
push:
branches:
- main
jobs:
Build:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
uses: actions/checkout@v5
- run: |
cd ${{ gitea.workspace }}
- run: npm i
- run: npm run build
- run: ls build
- run: echo "🍏 This job's status is ${{ job.status }}."

View File

@@ -17,7 +17,7 @@
<nav> <nav>
<a href="/">Home</a> <a href="/">Home</a>
<a href="/about">About</a> <a href="/about">About</a>
<a href="https://bsky.app/profile/amyt3a.bsky.social" <a href="https://bsky.app/profile/amyt3a.bsky.social" aria-label="Link to my Bluesky account"
><svg fill="none" class="bsky" viewBox="0 0 64 57" ><svg fill="none" class="bsky" viewBox="0 0 64 57"
><path ><path
fill="var(--rp-moon-pine)" fill="var(--rp-moon-pine)"
@@ -27,3 +27,35 @@
> >
</nav> </nav>
{@render children?.()} {@render children?.()}
<style>
nav {
margin: var(--d3);
font-family: 'Fraunces', serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-variation-settings:
'SOFT' 0,
'WONK' 0;
font-size: 1.728rem;
}
nav a {
margin: 1rem;
margin-left: 0rem;
padding-left: 0rem;
#border-bottom: solid var(--rp-moon-foam);
color: var(--rp-moon-foam);
&:visited {
color: var(--rp-moon-foam);
}
}
@media only screen and (max-width: 700px) {
nav {
margin: var(--d3) var(--d1);
}
}
</style>

View File

@@ -3,60 +3,56 @@
import type { SvelteComponent } from 'svelte'; import type { SvelteComponent } from 'svelte';
import './style-entries.css'; import './style-entries.css';
let blog_entries: [string, SvelteComponent][] = Object.entries( let blog_entries: [string, SvelteComponent][] = $state(
import.meta.glob('/src/routes/blogs/**/+page.svx', { eager: true }) Object.entries(import.meta.glob('/src/routes/blogs/**/+page.svx', { eager: true }))
).map(([key, value]) => [ .map(([key, value]) => [
key.split('/src/routes').pop()?.split('/+page.svx').slice(0, -1).pop() as string, key.split('/src/routes').pop()?.split('/+page.svx').slice(0, -1).pop() as string,
value as MDsveXComponent value as MDsveXComponent
]).map(([link,val])=> ])
typeof val.metadata?.src !== 'undefined' ? [val.metadata?.src, val] : [link,val] .map(([link, val]) =>
).map(([link,val])=>{ typeof val.metadata?.src !== 'undefined' ? [val.metadata?.src, val] : [link, val]
if(val.metadata) )
val.metadata.date = Date.parse(val.metadata?.date); .map(([link, val]) => {
return [link,val]; if (val.metadata) val.metadata.date = Date.parse(val.metadata?.date);
} return [link, val];
).sort(([link1,a],[link2,b])=>b.metadata?.date-a.metadata?.date); })
console.log(blog_entries); .sort(([link1, a], [link2, b]) => b.metadata?.date - a.metadata?.date)
);
console.log(blog_entries);
</script> </script>
<main> <main>
<div class="start"> <div class="media-margin">
<h1>Welcome to SvelteKit</h1> <h1>Hi, I'm Amy</h1>
<p> <p>
Visit <a href="https://svelte.dev/docs/kit">svelte.dev/docs/kit</a> to read the documentation This is a collection of things I've set up and created that I think might interest others.
</p> </p>
</div> </div>
{#each blog_entries as [href, page]} {#each blog_entries as [href, page]}
<a {href}> <a {href} class="blog-entry">
<div class="blog-entry"> <div>
<div> <h4>{page.metadata?.title}</h4>
<h4>{page.metadata?.title}</h4> <p>{page.metadata?.desc}</p>
<p>{page.metadata?.desc}</p> <p class="date">{new Date(page.metadata?.date).toDateString()}</p>
<p class="date">{new Date(page.metadata?.date).toDateString()}</p>
</div>
<img src="blog-1.png" class="blog-image" />
</div> </div>
<img src="blog-1.png" class="blog-image" />
</a> </a>
<br />
<!-- svelte:component this={page.default} /--> <!-- svelte:component this={page.default} /-->
{/each} {/each}
</main> </main>
<style> <style>
.start {
padding: var(--d2);
}
.blog-entry { .blog-entry {
display: block;
margin: var(--d3) 0;
background: var(--rp-moon-surface); background: var(--rp-moon-surface);
border-radius: var(--border-round); border-radius: var(--border-round);
width: 100%; width: 100%;
color: var(--rp-moon-text); color: var(--rp-moon-text);
display: flex; display: flex;
flex-flow: row wrap; flex-flow: row wrap;
box-shadow: 0px 0px 1rem 0px hsl(from var(--rp-moon-base) h s calc(l * 0.75)); box-shadow: 0px 0px 1rem 0px hsl(from var(--rp-moon-base) h s calc(l * 0.55));
transition: 0.2s; transition: 0.2s;
} }
.blog-entry:hover { .blog-entry:hover {
@@ -66,8 +62,8 @@
} }
.blog-entry div { .blog-entry div {
width: calc(100% - 15rem - var(--d2) * 2); width: calc(100% - 15rem - var(--d3) * 2);
padding: var(--d2); padding: var(--d3);
} }
.blog-entry img { .blog-entry img {
@@ -78,13 +74,14 @@
@media only screen and (max-width: 700px) { @media only screen and (max-width: 700px) {
.blog-entry div { .blog-entry div {
width: calc(100% - var(--d2) * 2); width: calc(100% - var(--d1) * 2);
padding: var(--d1);
} }
.blog-entry img { .blog-entry img {
width: 100%; width: 100%;
max-height: 14rem; max-height: 14rem;
border-radius: 0 0rem var(--border-round) var(--border-round) ; border-radius: 0 0rem var(--border-round) var(--border-round);
} }
} }

View File

@@ -0,0 +1,9 @@
<main>
<div class="media-margin">
<h1>About</h1>
<p>
Hi, I'm Amy Retzerau! I'm a computer science student who wants to share my hobby in the hope
of helping like-minded people.
</p>
</div>
</main>

View File

@@ -15,11 +15,11 @@
</script> </script>
<main> <main>
<div class="title"> <div class="title media-margin">
<!-- prettier-ignore --> <!-- prettier-ignore -->
<h1>{title}</h1><p class="date">Last updated {ddate.toDateString()}</p> <h1>{title}</h1><p class="date">Last updated {ddate.toDateString()}</p>
</div> </div>
<div class="blog-text"> <div class="blog-text media-margin">
<p>{desc}</p> <p>{desc}</p>
<slot> <slot>
<!-- the mdsvex content will be slotted in here --> <!-- the mdsvex content will be slotted in here -->
@@ -33,18 +33,8 @@
border-radius: 1rem; border-radius: 1rem;
} }
.title {
padding: 0 var(--d3) 0;
#display: table;
flex-wrap: row;
#height: 5rem;
margin-bottom: -12px;
#white-space: nowrap;
}
.title h1 { .title h1 {
width: calc(100% - 15rem); width: calc(100% - 15rem);
margin: 0;
vertical-align: baseline; vertical-align: baseline;
display: inline-block; display: inline-block;
} }
@@ -57,6 +47,12 @@
#float: right; #float: right;
} }
.blog-text {
border-radius: var(--border-round);
#background: var(--rp-moon-surface);
#box-shadow: 0px 0px 0.5rem 0px hsl(from var(--rp-moon-pine) h calc(s * 0.5) calc(l * 0.25));
}
@media only screen and (max-width: 700px) { @media only screen and (max-width: 700px) {
.title { .title {
margin-bottom: -5.3px; margin-bottom: -5.3px;
@@ -71,11 +67,4 @@
width: 100%; width: 100%;
} }
} }
.blog-text {
border-radius: var(--border-round);
background: var(--rp-moon-surface);
box-shadow: 0px 0px 0.5rem 0px hsl(from var(--rp-moon-pine) h calc(s * 0.5) calc(l * 0.25));
padding: var(--d2) var(--d3) var(--d4);
}
</style> </style>

View File

@@ -1,10 +0,0 @@
.blog-text{
border-radius: 0.5rem;
background: var(--rp-moon-surface);
box-shadow: 0px 0px 1rem 0px hsl(from var(--rp-moon-base) h s calc(l * 0.85));
margin: -1rem;
padding: 1rem;
}

View File

@@ -1,5 +1,3 @@
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&display=swap');
@font-face { @font-face {
font-family: 'fira'; font-family: 'fira';
font-style: normal; font-style: normal;
@@ -49,14 +47,14 @@ body {
} }
code { code {
background: var(--rp-moon-base); background: var(--rp-moon-surface) !important;
padding: 3px; padding: 3px;
border-radius: 0.5rem; border-radius: 0.5rem;
font-family: fira; font-family: fira;
} }
pre { pre {
background: var(--rp-moon-base); background: var(--rp-moon-surface) !important;
border-radius: 0.5rem; border-radius: 0.5rem;
} }
@@ -78,35 +76,7 @@ h1,h2,h3,h4,p:first-child {
} }
nav {
margin-top: 1rem;
padding: 0 var(--d3) 0;
font-family: "Fraunces", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-variation-settings:
"SOFT" 0,
"WONK" 0;
font-size:1.728rem;
}
nav a{
margin: 1rem;
margin-left: 0rem;
padding-left: 0rem;
color: var(--rp-moon-foam);
#text-decoration: underline;
&:visited {
color: var(--rp-moon-foam);
}
}
main { main {
#padding: 0 2rem 2rem;
margin-top: var(--d3);
width: 100%; width: 100%;
#box-shadow: 0px 0px 1rem 0px hsl(from var(--rp-moon-base) h s calc(l * 0.85)); #box-shadow: 0px 0px 1rem 0px hsl(from var(--rp-moon-base) h s calc(l * 0.85));
} }
@@ -147,4 +117,14 @@ h4{
color: var(--rp-moon-foam); color: var(--rp-moon-foam);
} }
.media-margin{
margin: var(--d3);
}
@media only screen and (max-width: 700px) {
.media-margin{
margin: var(--d3) var(--d1);
}
}