Compare commits

...

2 Commits

7 changed files with 132 additions and 123 deletions

View File

@ -0,0 +1,69 @@
<script>
export const prerender = true;
</script>
<footer>
<p>Brock Tomlinson © 2025</p>
<div>
<a href="mailto:darkicewolf50@gmail.com">
<img src="https://www.svgrepo.com/show/491226/email.svg" alt="Email's logo/icon" />
<p>Email</p>
</a>
<a href="https://www.youtube.com/@darkicewolf50">
<img src="https://www.svgrepo.com/show/521936/youtube.svg" alt="Youtube's logo/icon" />
<p>Youtube</p>
</a>
<a href="https://www.linkedin.com/in/brock-tomlinson/">
<img src="https://www.svgrepo.com/show/521725/linkedin.svg" alt="LinkedIn's logo/icon" />
<p>LinkedIn</p>
</a>
<a href="https://www.twitch.tv/darkicewolf50">
<img src="https://www.svgrepo.com/show/519925/twitch.svg" alt="Twitch's logo/icon" />
<p>Twitch</p>
</a>
<a href="https://github.com/darkicewolf50">
<img src="https://www.svgrepo.com/show/512317/github-142.svg" alt="Github's logo/icon" />
<p>Github</p>
</a>
</div>
</footer>
<style>
footer {
display: flex;
flex-direction: column;
text-align: center;
background-color: var(--card-background-color);
border-radius: var(--card-border-radius);
/* background-color: #d3d3d3; */
}
footer div {
display: flex;
flex-direction: row;
flex: 1 1 2;
justify-content: space-evenly;
}
footer img {
height: 60px;
filter: invert() hue-rotate(180deg);
}
footer a {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: inherit;
}
footer a:hover {
color: #91a4d2;
cursor: pointer;
filter: brightness(0) saturate(100%) invert(65%) sepia(13%) saturate(733%) hue-rotate(187deg)
brightness(95%) contrast(90%);
}
</style>

View File

@ -0,0 +1,31 @@
<script>
export const prerender = true;
</script>
<header>
<nav>
<a href="/">Home</a>
<a href="/projects">Projects</a>
<a href="/blogs/0">Blogs</a>
<a href="/contact">Contact</a>
</nav>
</header>
<style>
nav {
display: flex;
flex-direction: row;
}
nav a {
color: #ffffff;
margin-right: 20px;
text-decoration: none;
transition: color 0.2s ease;
}
nav a:hover {
cursor: pointer;
color: #91a4d2;
}
</style>

View File

@ -1,7 +1,5 @@
<script> <script>
import { page } from '$app/state'; import { page } from '$app/state';
// $inspect(page.status);
</script> </script>
<title>Brock Tomlinson - Not Found</title> <title>Brock Tomlinson - Not Found</title>

View File

@ -1 +0,0 @@
export const prerender = true;

View File

@ -1,43 +1,12 @@
<script> <script>
let { children } = $props(); let { children } = $props();
import Top from '$lib/components/layout/Top.svelte';
import Bottom from '$lib/components/layout/Bottom.svelte';
</script> </script>
<header> <Top />
<nav>
<a href="/">Home</a>
<a href="/projects">Projects</a>
<a href="/blogs/0">Blogs</a>
<a href="/contact">Contact</a>
</nav>
</header>
{@render children()} {@render children()}
<Bottom />
<footer>
<p>Brock Tomlinson © 2025</p>
<div>
<a href="mailto:darkicewolf50@gmail.com">
<img src="https://www.svgrepo.com/show/491226/email.svg" alt="Email's logo/icon" />
<p>Email</p>
</a>
<a href="https://www.youtube.com/@darkicewolf50">
<img src="https://www.svgrepo.com/show/521936/youtube.svg" alt="Youtube's logo/icon" />
<p>Youtube</p>
</a>
<a href="https://www.linkedin.com/in/brock-tomlinson/">
<img src="https://www.svgrepo.com/show/521725/linkedin.svg" alt="LinkedIn's logo/icon" />
<p>LinkedIn</p>
</a>
<a href="https://www.twitch.tv/darkicewolf50">
<img src="https://www.svgrepo.com/show/519925/twitch.svg" alt="Twitch's logo/icon" />
<p>Twitch</p>
</a>
<a href="https://github.com/darkicewolf50">
<img src="https://www.svgrepo.com/show/512317/github-142.svg" alt="Github's logo/icon" />
<p>Github</p>
</a>
</div>
</footer>
<style> <style>
:global(:root) { :global(:root) {
@ -64,59 +33,4 @@
padding: 0svh 2svw; padding: 0svh 2svw;
padding-bottom: 1svh; padding-bottom: 1svh;
} }
nav {
display: flex;
flex-direction: row;
}
nav a {
color: #ffffff;
margin-right: 20px;
text-decoration: none;
transition: color 0.2s ease;
}
nav a:hover {
cursor: pointer;
color: #91a4d2;
}
footer {
display: flex;
flex-direction: column;
text-align: center;
background-color: var(--card-background-color);
border-radius: var(--card-border-radius);
/* background-color: #d3d3d3; */
}
footer div {
display: flex;
flex-direction: row;
flex: 1 1 2;
justify-content: space-evenly;
}
footer img {
height: 60px;
filter: invert() hue-rotate(180deg);
}
footer a {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: inherit;
}
footer a:hover {
color: #91a4d2;
cursor: pointer;
filter: brightness(0) saturate(100%) invert(65%) sepia(13%) saturate(733%) hue-rotate(187deg)
brightness(95%) contrast(90%);
}
</style> </style>

View File

@ -1,44 +1,42 @@
// src/routes/sitemap.xml/+server.ts (or +server.js) import { format } from 'date-fns';
import { format } from 'date-fns'; // Optional, if you want <lastmod> etc.
export async function GET() { export const GET = async () => {
const baseUrl = 'https://yourdomain.com'; // Replace with your domain const baseUrl = 'https://yourdomain.com'; // Change to your domain
const staticPages = [ const staticPages = [
'', // Home page '', // homepage
'contact', 'contact',
'projects' 'projects'
// Add other pages here
]; ];
const urls = staticPages const urls = staticPages
.map( .map(
(path) => ` (path) => `
<url> <url>
<loc>${baseUrl}/${path}</loc> <loc>${baseUrl}/${path}</loc>
<lastmod>${format(new Date(), 'yyyy-MM-dd')}</lastmod> <lastmod>${format(new Date(), 'yyyy-MM-dd')}</lastmod>
<changefreq>monthly</changefreq> <changefreq>monthly</changefreq>
<priority>0.8</priority> <priority>0.8</priority>
</url>` </url>`
) )
.join(''); .join('');
return new Response( const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
` <urlset
<?xml version="1.0" encoding="UTF-8" ?> xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
<urlset xmlns:xhtml="https://www.w3.org/1999/xhtml"
xmlns="https://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="https://www.google.com/schemas/sitemap-mobile/1.0"
xmlns:xhtml="https://www.w3.org/1999/xhtml" xmlns:news="https://www.google.com/schemas/sitemap-news/0.9"
xmlns:mobile="https://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="https://www.google.com/schemas/sitemap-image/1.1"
xmlns:news="https://www.google.com/schemas/sitemap-news/0.9" xmlns:video="https://www.google.com/schemas/sitemap-video/1.1"
xmlns:image="https://www.google.com/schemas/sitemap-image/1.1" >
xmlns:video="https://www.google.com/schemas/sitemap-video/1.1" ${urls}
> </urlset>`;
${urls}
</urlset>`.trim(), return new Response(sitemap, {
{ headers: {
headers: { 'Content-Type': 'application/xml'
'Content-Type': 'application/xml'
}
} }
); });
} };