vue-website/pages/index.vue

365 lines
13 KiB
Vue
Raw Normal View History

2024-07-18 14:43:01 +10:00
<script setup lang="ts">
2024-08-15 12:45:54 +10:00
// import ProjectCard from '~/components/ProjectCard.vue';
2024-07-18 14:43:01 +10:00
2025-06-04 17:19:20 +10:00
// const route=useRoute();
// const path = computed(() =>route.path);
// const path = ref(window.location.pathname);
2025-06-04 17:35:01 +10:00
// console.log("starting meow");
2025-06-04 17:19:20 +10:00
// console.log(path);
2025-06-04 17:35:01 +10:00
2025-06-04 17:19:20 +10:00
2024-07-18 14:43:01 +10:00
useSeoMeta({
title: "Home",
ogTitle: "Home",
description: "My personal website.",
ogDescription: "My personal website.",
});
2024-07-26 22:15:35 +10:00
2026-01-24 02:52:05 +00:00
var { data } = await useAsyncData('home', () => queryContent('blog').where({hidden : {$not : true}}).sort({id:-1, $numeric: true}).limit(3).find())
2024-07-26 22:15:35 +10:00
2024-07-18 14:43:01 +10:00
</script>
<template>
<main>
<div class="container">
<div class="left-col">
2026-03-16 13:14:48 +00:00
<img src="https://forge.tabbycat.dev/avatars/f48cb754cf8aa29aaafed6a51bac1074c2561f58a3b6b82fd83ce9d30ea3c1ff?size=512" class="pfp" />
<div class="aboutme">
2024-07-18 14:43:01 +10:00
<h1>About Me</h1>
<ul>
2025-05-19 15:37:23 +10:00
<li>i use they/she pronouns</li>
2025-05-17 19:26:26 +10:00
<li>studying games development</li>
2025-10-01 22:54:10 +10:00
<!-- <li>linux initiate, currently using Mint 22</li> -->
<li>Favourite game engine: <Purple>Godot!</Purple></li>
2025-09-03 00:22:07 +10:00
<li>Terrified of big numbers</li>
<li>meow meow~ nya!!! :3</li>
</ul>
</div>
2024-07-18 14:43:01 +10:00
</div>
<div class="right-col">
2024-09-19 11:23:35 +10:00
<h1>Heyo! I'm <Purple>Tabby</Purple> 👋</h1>
2026-03-16 14:16:11 +00:00
<p>I'm a Games Developer from Sydney, Australia.</p>
2025-05-17 19:26:26 +10:00
<!-- <p>I've been programming since 2015 and am currently in my final year of the Games Development degree at UTS</p> -->
<!-- <p>Currently I'm teaching Programming Fundamentals and Programming 1 at UTS as a Casual Academic, In my free time I'm working on side projects which I sometimes post about on my <a href="https://bsky.app/profile/tabbycat.dev">Bluesky page</a> </p> -->
<p>In my free time I'm working on side projects which I sometimes post about on my <a href="https://bsky.app/profile/tabbycat.dev">Bluesky page!</a> </p>
2025-09-18 13:43:50 +10:00
<!-- <a href="https://oldweb.tabbycat.dev">dont mind me, just testing something</a> -->
<!-- <a href="meowwalking://oldweb.tabbycat.dev">dont mind me, just testing something</a> -->
2025-04-23 14:02:34 +10:00
<!-- <p>Currently im working with my group, <a href="https://teamstingray.dev">Team Stingray</a>, to finish up our uni project <a href="https://teamstingray.dev/arcane-raiders">Arcane Raiders</a> and release it on Steam! Feel free to join our <a href="https://discord.gg/3BPYMHqNve">discord server</a> if you'd like to follow along with development!</p> -->
2024-07-18 14:43:01 +10:00
<Socials>
2025-04-22 12:48:38 +10:00
<Social
2026-03-16 13:14:48 +00:00
src="img/socials/bluesky.png"
2025-04-22 12:48:38 +10:00
href="https://bsky.app/profile/tabbycat.dev"
/>
<Social
2026-03-16 13:14:48 +00:00
src="img/socials/forgejoLogo.png"
href="https://forge.tabbycat.dev/tabby"
2024-07-18 14:43:01 +10:00
/>
<Social
2026-03-16 13:14:48 +00:00
src="img/socials/itch-io.svg"
2025-01-16 17:02:53 +11:00
href="https://tabby-cat-nya.itch.io/"
2024-07-18 14:43:01 +10:00
/>
<Social
2026-03-16 13:14:48 +00:00
src="img/socials/steam.svg"
2024-09-23 21:00:11 +10:00
href="https://store.steampowered.com/search/?developer=Tabby"
2024-07-18 14:43:01 +10:00
/>
2025-06-29 20:13:15 +10:00
<Social
2026-03-16 13:14:48 +00:00
src="img/socials/backlogged.png"
2025-06-29 20:13:15 +10:00
href="https://backloggd.com/u/tabby_cat/games/user-rating/type:played"
/>
2025-06-28 13:33:50 +10:00
<Social
2026-03-16 13:14:48 +00:00
src="img/socials/furry.png"
2025-06-28 13:33:50 +10:00
href="https://www.furaffinity.net/user/fuzzysparkles/"
/>
2024-07-18 14:43:01 +10:00
</Socials>
2025-04-05 19:01:47 +11:00
<!-- <h2>Tech i've got experience with:</h2>
<img class="" src="https://skillicons.dev/icons?i=git,androidstudio,arduino,bash,blender,cs,cloudflare,css,fediverse,github,godot,html,idea,js,linux,lua,md,netlify,nextjs,nodejs,npm,nuxtjs,obsidian,php,postgres,py,react,sass,supabase,ts,unity,unreal,vercel,vscode,vue,processing&perline=12" /> -->
2024-07-18 14:43:01 +10:00
</div>
</div>
<hr/>
2025-09-17 19:38:56 +10:00
<h1>Current Projects</h1>
2024-09-09 22:41:39 +10:00
<div class="featured-container">
2025-12-02 11:00:17 +11:00
<ProjectCardV2
2026-03-16 13:14:48 +00:00
src="img\projects\tinyweb.png"
title="Server Charms"
description="Making a little tiny webserver out of an ESP32"
long-description=
"armed with a processor, wifi antenna and a total of 4mb of flash storage I'm running a tiny web server off an ESP32, so small I plan to carry it around with me while it broadcasts an open wifi hotspot, anyone who joins will be sent to the tiny website through a captive portal"
:buttons='[
// {link:"https://tabby-cat-nya.itch.io/rust-hacker",text:"Play Game"},
// {link:"https://github.com/tabby-cat-nya/RustHacker",text:"Project Github"},
]'
:badges='["esp32"]'
/>
2026-01-09 02:33:34 +00:00
2026-01-11 09:03:18 +00:00
<ProjectCardV2
2026-01-18 10:57:19 +00:00
src="https://img.itch.zone/aW1nLzI1MDU1OTEyLnBuZw==/315x250%23c/6xbLLl.png"
title="Rust Hacker"
description="Scavenge parts from the ewaste bin to build your botnet"
2026-01-11 09:03:18 +00:00
long-description=
""
:buttons='[
2026-01-18 10:57:19 +00:00
{link:"https://tabby-cat-nya.itch.io/rust-hacker",text:"Play Game"},
{link:"https://github.com/tabby-cat-nya/RustHacker",text:"Project Github"},
2026-01-11 09:03:18 +00:00
]'
:badges='["godot4", "gamejam"]'
/>
2025-12-02 11:00:17 +11:00
<ProjectCardV2
2026-03-16 13:14:48 +00:00
src="img\projects\pounce.png"
2026-01-09 02:33:34 +00:00
title="Pounce"
description="Discord bot to catch scammers"
2025-12-02 11:00:17 +11:00
long-description=
2026-01-09 02:33:34 +00:00
"After getting very frustrated with having to deal with the numerous discord scam bots claiming to be giving away 'free' macbooks and cameras, I made a bot to catch them and allow moderators to get rid of them before any normal user has a chance to see and potencially fall for their scams in the first place!"
2025-12-02 11:00:17 +11:00
:buttons='[
2026-01-09 02:33:34 +00:00
{link:"https://discord.gg/G3xjsQnBXV",text:"Pounce discord server - for testing and help"},
2025-12-02 11:00:17 +11:00
]'
2026-01-09 02:33:34 +00:00
:badges='["godot4"]'
2025-12-02 11:00:17 +11:00
/>
2025-06-15 15:40:14 +10:00
2025-09-17 19:38:56 +10:00
2025-08-14 15:13:36 +10:00
<!-- <div class="featured-text">
2025-02-03 12:04:17 +11:00
<p>Pikmin Bloom is one of the funny little geospatial games that Niantic made with Nintendo</p>
<p>I'm trying to figure out how many of the games mechanics work in relation to event rewards and what the best way to manage pikmin and mushrooms are especially early each month</p>
<p>Follow updates and findings on my <a href="https://bsky.app/profile/tabbycat.dev">Bluesky</a>!</p>
</div> -->
</div>
2024-07-18 14:43:01 +10:00
<!-- seperator -->
<hr/>
<!-- featured projects, link to all? -->
<h1>Featured Projects</h1>
2025-04-02 21:52:11 +11:00
<div class="featured-container">
2025-04-23 21:32:06 +10:00
<ProjectCardV2
src="https://img.itch.zone/aW1nLzE2Mjg0ODg2LnBuZw==/315x250%23c/6FRKz0.png"
title="Arcane Raiders"
description="Fight to the top of the tower with up to 4 players and an arsenal of powerful spells! Now available to play on Steam!"
long-description=
"Initially, This project was a part of Game Design Studio 1 at UTS where we worked in teams of 5 people to create a game through the semester.
During the assignment, my main contributions were general programming and game logic as well as some of the back-end code for the local and online multiplayer systems and UI.
After the completion of the subject, our group continued to work on the project in our own time to further improve it and showcase it at future events such as the UTS Tech Fest where we received the Best Student Game award, and also South By South West where we were nominated for Best Student Game.
In these later stages of development my focus shifted more to project management in addition building the Steam page and finalizing the integration of services such as achievements, cloud saves and discord rich presence into the game.
On the 19th of February the game was released and since then we have had over 4200 unique players!"
:buttons='[
{ link: "https://store.steampowered.com/app/2899410/Arcane_Raiders/", text: "Play on Steam" },
{ link: "https://discord.com/invite/3BPYMHqNve", text: "Join Discord" },
{ link: "https://cookiespl.itch.io/arcane-raiders", text: "View Itch.io page (Outdated)" }
]'
2025-06-29 20:24:07 +10:00
:badges='[ "godot4", "steam"]'
2024-07-18 14:43:01 +10:00
/>
2025-04-23 21:32:06 +10:00
<ProjectCardV2
2024-07-18 14:43:01 +10:00
src="https://img.itch.zone/aW1nLzE2NTkxMzEyLnBuZw==/315x250%23c/0Y7BUi.png"
href="https://clevertop.itch.io/kitten-calamity"
2025-04-23 21:32:06 +10:00
title="Kitten Calamity"
2024-07-18 14:43:01 +10:00
description="Cute little game made in about 29 hours for the UTS Tech Fest game jam! Grab a friend and find out who can be the most destructive little kitten in one minute :3"
2025-04-23 21:32:06 +10:00
long-description=
"This little project was made with a team of 3 for the UTS Tech Fest Game Jam. Using Godot, my main focus was on the player controls, the overall game logic and the user interface.
At the end of the game jam our game received the Most Intuitive Game award."
:buttons='[
{ link: "https://clevertop.itch.io/kitten-calamity", text: "Play on Itch.io" }
]'
2025-06-29 20:24:07 +10:00
:badges='["godot4","gamejam"]'
2024-07-18 14:43:01 +10:00
/>
2025-04-23 21:32:06 +10:00
<ProjectCardV2
src="https://img.itch.zone/aW1nLzU3NzU5NTEucG5n/315x250%23c/eQja%2FA.png"
title="Temple of the Silver Dragon"
2024-07-18 14:43:01 +10:00
description="You have five minutes on the clock. How much treasure can you collect and escape with before time runs out? While this project is an older one, its also one of my favourites :)"
2025-04-23 21:32:06 +10:00
long-description=
"Temple of the Silver Dragon is one of my older projects which was made in the Unity game engine before I switched over to Godot.
It's one of my most extensive works as it entirely a solo project, In addition to the main game play components such as: First person camera and movement, level design, enemy logic, game logic, testing and balancing. I also implemented some special features including a 'Ghost' replay system and an online leaderboard using Airtable. Through this leaderboard I've been able to calculate that a total of over 110 hours have been played!"
:buttons='[
{ link: "https://clevertop.itch.io/temple-of-the-silver-dragon", text: "Play on Itch.io" }
]'
2025-06-29 20:24:07 +10:00
:badges='["unity","airtable"]'
2024-07-18 14:43:01 +10:00
/>
</div>
2025-04-23 21:32:06 +10:00
<BigButton text="View Entire Portfolio >>>" href="/projects"/>
2024-07-18 14:43:01 +10:00
<!-- seperator -->
<hr/>
<!-- latest blog posts, link to all? -->
<h1 class="no-margins">Latest Blog Posts</h1>
2025-04-05 19:01:47 +11:00
2024-07-26 22:15:35 +10:00
<!-- <p>Coming Soon!</p> -->
2025-04-05 19:01:47 +11:00
<div class="blog-container">
2025-04-05 19:01:47 +11:00
<BlogCard v-for="post in data"
:key="post.id"
:href="post._path"
:heading="post.title"
:subheading="post.date"
:description="post.description"
:id="post.id"
2024-07-28 21:34:59 +10:00
:tags="post.tags"
2024-07-18 14:43:01 +10:00
/>
2024-07-18 14:43:01 +10:00
2024-07-26 22:15:35 +10:00
</div>
2025-04-05 19:01:47 +11:00
<!-- <a class="no-margins" href="/blog-index">View All >>></a> -->
<BigButton text="View All >>>" href="/blog-index"/>
2024-07-18 14:43:01 +10:00
</main>
</template>
<style scoped>
2025-04-05 20:02:54 +11:00
h1{
text-align: center;
}
2024-07-18 14:43:01 +10:00
.container {
2025-04-02 21:59:57 +11:00
display: flex;
2025-04-05 20:02:54 +11:00
margin-left: 10%;
margin-right: 10%;
justify-content: center;
2024-07-18 14:43:01 +10:00
}
2025-04-05 20:02:54 +11:00
@media (max-width: 1000px){
.container{
margin: 0;
}
}
2025-04-02 21:52:11 +11:00
.featured-container{
display: flex;
2025-04-05 20:02:54 +11:00
width: 100%;
2025-04-02 21:59:57 +11:00
justify-content: center;
2025-04-02 21:52:11 +11:00
}
.featured-container>div{
width:30%;
}
@media (max-width: 1000px){
.featured-container>div{
width:80%;
align-self: center;
}
}
2025-04-05 19:01:47 +11:00
.blog-container{
2024-09-09 22:41:39 +10:00
display: flex;
2025-04-05 19:01:47 +11:00
flex-direction: column;
width: 80%;
justify-content: center;
2025-04-05 20:02:54 +11:00
margin-left: auto;
margin-right: auto;
2025-04-05 19:01:47 +11:00
}
2024-09-09 22:41:39 +10:00
.small-image-pls {
height: 20%;
}
2024-07-18 14:43:01 +10:00
.left-col {
flex:1;
width: 50%;
2024-07-18 14:43:01 +10:00
padding: 20px;
align-self: center;
2024-07-18 14:43:01 +10:00
/* background-color: purple; */
}
.right-col {
padding: 20px;
width: 50%;
2024-07-18 14:43:01 +10:00
flex: 2;
align-self: center;
2024-07-18 14:43:01 +10:00
/* background-color: blueviolet; */
}
.featured-text {
padding: 0px;
width: 100%;
flex: 2;
align-self: center;
/* background-color: blueviolet; */
}
2024-07-18 14:43:01 +10:00
.cute-box{
width: 350px;
flex:2;
background-color: pink;
}
@media (max-width: 1000px){
2024-07-18 14:43:01 +10:00
.container{
flex-direction: column;
}
2024-09-09 22:41:39 +10:00
.featured-container{
flex-direction: column;
margin-left: 0%;
margin-right: 0%;
2024-09-09 22:41:39 +10:00
}
.aboutme{
2025-04-02 21:52:11 +11:00
display: none;
}
2024-07-18 14:43:01 +10:00
}
.pfp {
2025-04-02 21:52:11 +11:00
width: 100%;
2024-07-18 14:43:01 +10:00
aspect-ratio: 1/1;
border-radius: 100%;
box-shadow:
0 20px 25px -5px rgb(0 0 0 / 0.1),
0 8px 10px -6px rgb(0 0 0 / 0.1);
}
.short {
width: 50%;
}
@media screen and (max-width: 600px) {
.short {
width: 100%;
}
}
</style>
2025-04-05 20:02:54 +11:00
<style scoped>
2024-07-18 14:43:01 +10:00
main {
2025-04-05 19:01:47 +11:00
/* display: flex;
2024-07-18 14:43:01 +10:00
flex-direction: column;
2025-04-05 19:01:47 +11:00
align-items: center; */
/* padding: 2rem; */
/* margin-top: 3.5rem; */
/* gap: 2rem; */
2024-07-18 14:43:01 +10:00
}
2025-04-05 20:02:54 +11:00
2024-07-18 14:43:01 +10:00
.container > div {
2025-04-05 19:01:47 +11:00
/* display: flex;
flex-direction: column; */
/* gap: 1rem; */
2024-07-18 14:43:01 +10:00
}
2025-04-05 19:01:47 +11:00
/* @media (prefers-color-scheme: light) {
2024-07-18 14:43:01 +10:00
hr {
filter: invert();
}
2025-04-05 19:01:47 +11:00
} */
2025-04-05 19:01:47 +11:00
/* .no-margins{
margin: -10px;
2025-04-05 19:01:47 +11:00
} */
2024-07-18 14:43:01 +10:00
</style>