initial commit
24
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Nuxt dev/build outputs
|
||||
.output
|
||||
.data
|
||||
.nuxt
|
||||
.nitro
|
||||
.cache
|
||||
dist
|
||||
|
||||
# Node dependencies
|
||||
node_modules
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
|
||||
# Misc
|
||||
.DS_Store
|
||||
.fleet
|
||||
.idea
|
||||
|
||||
# Local env files
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
75
README.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Nuxt 3 Minimal Starter
|
||||
|
||||
Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
|
||||
|
||||
## Setup
|
||||
|
||||
Make sure to install the dependencies:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install
|
||||
|
||||
# pnpm
|
||||
pnpm install
|
||||
|
||||
# yarn
|
||||
yarn install
|
||||
|
||||
# bun
|
||||
bun install
|
||||
```
|
||||
|
||||
## Development Server
|
||||
|
||||
Start the development server on `http://localhost:3000`:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm run dev
|
||||
|
||||
# pnpm
|
||||
pnpm run dev
|
||||
|
||||
# yarn
|
||||
yarn dev
|
||||
|
||||
# bun
|
||||
bun run dev
|
||||
```
|
||||
|
||||
## Production
|
||||
|
||||
Build the application for production:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm run build
|
||||
|
||||
# pnpm
|
||||
pnpm run build
|
||||
|
||||
# yarn
|
||||
yarn build
|
||||
|
||||
# bun
|
||||
bun run build
|
||||
```
|
||||
|
||||
Locally preview production build:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm run preview
|
||||
|
||||
# pnpm
|
||||
pnpm run preview
|
||||
|
||||
# yarn
|
||||
yarn preview
|
||||
|
||||
# bun
|
||||
bun run preview
|
||||
```
|
||||
|
||||
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
|
||||
11
app.vue
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<template>
|
||||
<div>
|
||||
<!-- <NuxtRouteAnnouncer />
|
||||
<NuxtWelcome /> -->
|
||||
<NuxtLoadingIndicator />
|
||||
<NuxtLayout>
|
||||
<!-- <Navbar /> -->
|
||||
<NuxtPage />
|
||||
</NuxtLayout>
|
||||
</div>
|
||||
</template>
|
||||
66
assets/css/main.scss
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
// @import url("reset.scss");
|
||||
|
||||
// @import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&display=swap");
|
||||
@import url('https://fonts.googleapis.com/css2?family=Baloo+Chettan+2:wght@400..800&display=swap');
|
||||
|
||||
:root {
|
||||
--bg: #2b182b;
|
||||
--fg: white;
|
||||
|
||||
--accent: #e17ff5;
|
||||
--accent-dark: #630063;
|
||||
|
||||
--max-width: 70rem;
|
||||
}
|
||||
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--bg);
|
||||
color: var(--fg);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
// font-family: Comfortaa;
|
||||
font-family: "Baloo Chettan 2";
|
||||
height: 100dvh;
|
||||
overflow-x: hidden;
|
||||
overflow-y: scroll;
|
||||
width: 100dvw;
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 250ms;
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
body {
|
||||
background-color: var(--fg);
|
||||
color: var(--bg);
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--accent);
|
||||
transition-duration: 200ms;
|
||||
|
||||
&:hover {
|
||||
filter: brightness(115%);
|
||||
}
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: var(--accent-dark);
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: white;
|
||||
border-radius: 10px;
|
||||
|
||||
&:hover {
|
||||
background: var(--accent);
|
||||
}
|
||||
}
|
||||
29
components/Container.vue
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<script setup lang="ts">
|
||||
defineProps({
|
||||
center: Boolean,
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div :class="['container', { center: center }]">
|
||||
<slot />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
max-width: var(--max-width);
|
||||
width: 100%;
|
||||
gap: 2rem;
|
||||
}
|
||||
@media screen and (max-width: 600px) {
|
||||
.container {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
.center {
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
64
components/Navbar.vue
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<template>
|
||||
<nav>
|
||||
<div class="content">
|
||||
<NuxtLink class="header" to="/">| brynblack |</NuxtLink>
|
||||
<div class="links">
|
||||
<NuxtLink to="/">Home</NuxtLink>
|
||||
<NuxtLink to="/blog">Blog</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
nav {
|
||||
|
||||
backdrop-filter: blur(16px);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
position: fixed;
|
||||
width: 100dvw;
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
max-width: calc(var(--max-width) + 4rem);
|
||||
padding: 2rem;
|
||||
width: 100%;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
|
||||
&:hover {
|
||||
color: var(--accent);
|
||||
}
|
||||
}
|
||||
|
||||
.router-link-exact-active {
|
||||
color: var(--accent);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.header {
|
||||
color: var(--fg);
|
||||
font-weight: normal;
|
||||
|
||||
&:hover {
|
||||
color: var(--accent);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
.header {
|
||||
color: var(--bg);
|
||||
}
|
||||
}
|
||||
|
||||
.links {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
56
components/ProjectCard.vue
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<script setup>
|
||||
const props = defineProps({
|
||||
src: String,
|
||||
href: String,
|
||||
heading: String,
|
||||
description: String
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<a class="image-container" :href="props.href">
|
||||
<img class="image" :src="props.src" :alt="props.heading" style="width:100%;">
|
||||
<div class="content">
|
||||
<h2>{{props.heading}}</h2>
|
||||
<p>{{props.description}}</p>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.image-container{
|
||||
position: relative;
|
||||
text-align: center;
|
||||
margin: 10px;
|
||||
border-radius: 5px;
|
||||
overflow: hidden;
|
||||
color: white;
|
||||
|
||||
}
|
||||
|
||||
.content{
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
left: 16px;
|
||||
text-align: left ;
|
||||
}
|
||||
|
||||
.image{
|
||||
filter: brightness(100%) blur(0px);
|
||||
/* filter: blur(2px); */
|
||||
}
|
||||
.content{
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
.image-container:hover{
|
||||
.image{
|
||||
filter: brightness(40%) blur(2px);
|
||||
}
|
||||
.content{
|
||||
visibility:visible;
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
11
components/Purple.vue
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<template>
|
||||
<span class="purple">
|
||||
<slot />
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.purple {
|
||||
color: var(--accent);
|
||||
}
|
||||
</style>
|
||||
24
components/Social.vue
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<script setup>
|
||||
const props = defineProps({
|
||||
src: String,
|
||||
href: String,
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<a :href="props.href" class="icon2">
|
||||
<img :src="props.src" class="icon" />
|
||||
</a>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.icon {
|
||||
width: 48px;
|
||||
|
||||
}
|
||||
|
||||
.icon2{
|
||||
width: 48px;
|
||||
|
||||
}
|
||||
</style>
|
||||
21
components/Socials.vue
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<template>
|
||||
<div class="socials">
|
||||
<slot />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.socials {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
|
||||
a {
|
||||
width: 1.75rem;
|
||||
|
||||
&:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
57
components/TextCard.vue
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<script setup>
|
||||
const props = defineProps({
|
||||
href: String,
|
||||
heading: String,
|
||||
description: String
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<a class="text-container" :href="props.href">
|
||||
|
||||
<div class="text-content">
|
||||
<h2>{{props.heading}}</h2>
|
||||
<p>{{props.description}}</p>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.text-container{
|
||||
position: relative;
|
||||
text-align: center;
|
||||
margin: 10px;
|
||||
border-radius: 5px;
|
||||
overflow: hidden;
|
||||
color: white;
|
||||
background-color: rgb(62, 0, 104);
|
||||
width: 300px;
|
||||
height: 200px
|
||||
|
||||
}
|
||||
|
||||
.text-content{
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
left: 16px;
|
||||
text-align: left ;
|
||||
|
||||
}
|
||||
|
||||
.text-image{
|
||||
filter: brightness(100%) blur(0px);
|
||||
/* filter: blur(2px); */
|
||||
}
|
||||
.text-content{
|
||||
visibility:visible;
|
||||
}
|
||||
|
||||
.text-container:hover{
|
||||
background-color: var(--accent-dark);
|
||||
.text-content{
|
||||
visibility:visible;
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
5
content/articles/testPost.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Hello world
|
||||
|
||||
Markdown test post
|
||||
|
||||
- meow
|
||||
6
nuxt.config.ts
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||
export default defineNuxtConfig({
|
||||
compatibilityDate: '2024-04-03',
|
||||
devtools: { enabled: true },
|
||||
css: ["@/assets/css/main.scss"]
|
||||
})
|
||||
9071
package-lock.json
generated
Normal file
19
package.json
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"name": "nuxt-app",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "nuxt build",
|
||||
"dev": "nuxt dev",
|
||||
"generate": "nuxt generate",
|
||||
"preview": "nuxt preview",
|
||||
"postinstall": "nuxt prepare"
|
||||
},
|
||||
"dependencies": {
|
||||
"nuxt": "^3.12.3",
|
||||
"vue": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"sass": "^1.77.8"
|
||||
}
|
||||
}
|
||||
3
pages/blog.vue
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<template>
|
||||
<p>meow~</p>
|
||||
</template>
|
||||
16
pages/blog/_slug.vue
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<script>
|
||||
export default {
|
||||
async asyncData({ $content, params }) {
|
||||
const article = await $content('articles', params.slug).fetch()
|
||||
|
||||
return { article }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<article>
|
||||
<nuxt-content :document="article" />
|
||||
</article>
|
||||
</template>
|
||||
|
||||
186
pages/index.vue
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
<script setup lang="ts">
|
||||
import ProjectCard from '~/components/ProjectCard.vue';
|
||||
|
||||
useSeoMeta({
|
||||
title: "Home",
|
||||
ogTitle: "Home",
|
||||
description: "My personal website.",
|
||||
ogDescription: "My personal website.",
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<main>
|
||||
|
||||
<div class="container">
|
||||
<div class="left-col">
|
||||
<img src="https://avatars.githubusercontent.com/u/41929769" class="pfp" />
|
||||
<h1>About Me</h1>
|
||||
<ul>
|
||||
<li>20 years old, born in 2003</li>
|
||||
<li>i go by she/they pronouns</li>
|
||||
<li>studying games development @ UTS</li>
|
||||
<li>linux initiate, currently using popOS with plasma DE</li>
|
||||
<li>is a silly little catgirl :3</li>
|
||||
<li>meow meow~ nya!!!</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="right-col">
|
||||
<h1>Heyo! I'm <Purple>Tom</Purple> 👋</h1>
|
||||
<p>I'm a Games Developer from Sydney, Australia.</p>
|
||||
<p>I've been programming since 2015 and am currently in my final year of the Games Development degree at UTS</p>
|
||||
<p>Currently im working with my group, <a href="https://discord.gg/3BPYMHqNve">Team Stingray</a>, to create <a href="https://teamstingray.dev/arcane-raiders">Arcane Raiders</a>! Feel free to join our discord server if you'd like to follow along with development!</p>
|
||||
<Socials>
|
||||
<Social
|
||||
src="img/github.svg"
|
||||
href="https://github.com/Clevertop"
|
||||
/>
|
||||
<Social
|
||||
src="img/itch-io.svg"
|
||||
href="https://clevertop.itch.io/"
|
||||
/>
|
||||
<Social
|
||||
src="img/steam.svg"
|
||||
href="https://store.steampowered.com/search/?developer=Clevertop"
|
||||
/>
|
||||
<Social
|
||||
src="img/linkedin.svg"
|
||||
href="https://www.linkedin.com/in/tom--howarth/"
|
||||
/>
|
||||
|
||||
</Socials>
|
||||
<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&perline=12" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- seperator -->
|
||||
<hr/>
|
||||
<!-- featured projects, link to all? -->
|
||||
<h1>Featured Projects</h1>
|
||||
<div class="container">
|
||||
<ProjectCard
|
||||
src="https://img.itch.zone/aW1nLzE2Mjg0ODg2LnBuZw==/315x250%23c/6FRKz0.png"
|
||||
href="https://teamstingray.dev/arcane-raiders"
|
||||
heading="Arcane Raiders"
|
||||
description="Fight to the top of the tower with up to 4 players and an arsenal of powerful spells! We'll be showcasing it at SXSW Sydeny and its already avilable to wishlist on Steam!"
|
||||
/>
|
||||
|
||||
<ProjectCard
|
||||
src="https://img.itch.zone/aW1nLzE2NTkxMzEyLnBuZw==/315x250%23c/0Y7BUi.png"
|
||||
href="https://clevertop.itch.io/kitten-calamity"
|
||||
heading="Kitten Calamity"
|
||||
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"
|
||||
/>
|
||||
|
||||
<ProjectCard
|
||||
src="https://img.itch.zone/aW1nLzU3NzU5NTEucG5n/315x250%23c/eQja%2FA.png"
|
||||
href="https://clevertop.itch.io/temple-of-the-silver-dragon"
|
||||
heading="Temple of the Silver Dragon"
|
||||
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 :)"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- seperator -->
|
||||
<hr/>
|
||||
<!-- latest blog posts, link to all? -->
|
||||
<h1>Latest Blog Posts</h1>
|
||||
<div class="container">
|
||||
<TextCard
|
||||
href="https://cookiespl.itch.io/arcane-raiders"
|
||||
heading="Arcane Raiders"
|
||||
description="meow meow"
|
||||
/>
|
||||
|
||||
<TextCard
|
||||
href="https://cookiespl.itch.io/arcane-raiders"
|
||||
heading="Arcane Raiders"
|
||||
description="meow meow"
|
||||
/>
|
||||
|
||||
<TextCard
|
||||
href="https://cookiespl.itch.io/arcane-raiders"
|
||||
heading="Arcane Raiders"
|
||||
description="meow meow"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
display: flex;
|
||||
|
||||
}
|
||||
|
||||
.left-col {
|
||||
flex:1;
|
||||
width: 66%;
|
||||
padding: 20px;
|
||||
/* background-color: purple; */
|
||||
}
|
||||
|
||||
.right-col {
|
||||
padding: 20px;
|
||||
width: 500px;
|
||||
flex: 2;
|
||||
/* background-color: blueviolet; */
|
||||
}
|
||||
|
||||
.cute-box{
|
||||
width: 350px;
|
||||
flex:2;
|
||||
background-color: pink;
|
||||
}
|
||||
|
||||
@media (max-width: 800px){
|
||||
.container{
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
.pfp {
|
||||
width: auto;
|
||||
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>
|
||||
|
||||
<style>
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 2rem;
|
||||
margin-top: 3.5rem;
|
||||
gap: 2rem;
|
||||
}
|
||||
hr {
|
||||
width: 100%;
|
||||
border: 1px dashed var(--accent-dark);
|
||||
max-width: var(--max-width);
|
||||
}
|
||||
.container > div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
hr {
|
||||
filter: invert();
|
||||
}
|
||||
}
|
||||
</style>
|
||||
BIN
public/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
17
public/img/fedi.svg
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="196.52mm" height="196.52mm" viewBox="0 0 196.52 196.52">
|
||||
<path fill="#a730b8" d="M47.9242 72.7966a18.2278 18.2278 0 0 1-7.7959 7.7597l42.7984 42.9653 10.3182-5.2291zm56.4524 56.6704-10.3182 5.2291 21.686 21.7708a18.2278 18.2278 0 0 1 7.7975-7.7608z"/>
|
||||
<path fill="#5496be" d="M129.6645 102.0765l1.7865 11.4272 27.4149-13.8942a18.2278 18.2278 0 0 1-4.9719-9.8124zm-14.0658 7.1282-57.2891 29.0339a18.2278 18.2278 0 0 1 4.9728 9.8133l54.1027-27.4194z"/>
|
||||
<path fill="#ce3d1a" d="M69.5312 91.6539l8.1618 8.1933 29.269-57.1387a18.2278 18.2278 0 0 1-9.787-5.0219zm-7.1897 14.0363-14.0022 27.3353a18.2278 18.2278 0 0 1 9.786 5.0214l12.3775-24.1639z"/>
|
||||
<path fill="#d0188f" d="M39.8906 80.6763a18.2278 18.2278 0 0 1-10.8655 1.7198l8.1762 52.2981a18.2278 18.2278 0 0 1 10.8645-1.7198z"/>
|
||||
<path fill="#5b36e9" d="M63.3259 148.3109a18.2278 18.2278 0 0 1-1.7322 10.8629l52.2893 8.3907a18.2278 18.2278 0 0 1 1.7322-10.8629z"/>
|
||||
<path fill="#30b873" d="M134.9148 146.9182a18.2278 18.2278 0 0 1 9.788 5.0224l24.1345-47.117a18.2278 18.2278 0 0 1-9.7875-5.0229z"/>
|
||||
<path fill="#ebe305" d="M126.1329 33.1603a18.2278 18.2278 0 0 1-7.7975 7.7608l37.3765 37.5207a18.2278 18.2278 0 0 1 7.7969-7.7608z"/>
|
||||
<path fill="#f47601" d="M44.7704 51.6279a18.2278 18.2278 0 0 1 4.9723 9.8123l47.2478-23.9453a18.2278 18.2278 0 0 1-4.9718-9.8113z"/>
|
||||
<path fill="#57c115" d="M118.2491 40.9645a18.2278 18.2278 0 0 1-10.8511 1.8123l4.1853 26.8 11.42 1.8324zm-4.2333 44.1927 9.8955 63.3631a18.2278 18.2278 0 0 1 10.88-1.6278l-9.355-59.9035z"/>
|
||||
<path fill="#dbb210" d="M49.7763 61.6412a18.2278 18.2278 0 0 1-1.694 10.8686l26.8206 4.3077 5.2715-10.2945zm45.9677 7.382-5.272 10.2955 63.3713 10.1777a18.2278 18.2278 0 0 1 1.7606-10.8593z"/>
|
||||
<path fill="#ffca00" d="M93.4385 23.8419a1 1 0 1 0 33.0924 1.8025 1 1 0 1 0-33.0924-1.8025"/>
|
||||
<path fill="#64ff00" d="M155.314 85.957a1 1 0 1 0 33.0923 1.8025 1 1 0 1 0-33.0923-1.8025"/>
|
||||
<path fill="#00a3ff" d="M115.3466 163.9824a1 1 0 1 0 33.0923 1.8025 1 1 0 1 0-33.0923-1.8025"/>
|
||||
<path fill="#9500ff" d="M28.7698 150.0898a1 1 0 1 0 33.0923 1.8025 1 1 0 1 0-33.0923-1.8025"/>
|
||||
<path fill="#ff0000" d="M15.2298 63.4781a1 1 0 1 0 33.0923 1.8025 1 1 0 1 0-33.0923-1.8025"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
1
public/img/github.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="2500" viewBox="0 -3.1 2490.3 2493" width="2494" xmlns="http://www.w3.org/2000/svg"><ellipse cx="1245.2" cy="1243.4" fill="#fff" rx="1217.6" ry="1246.5"/><path d="m1245.2 1.6c-687.6 0-1245.2 557.4-1245.2 1245.1 0 550.2 356.8 1016.9 851.5 1181.5 62.2 11.5 85.1-27 85.1-59.9 0-29.7-1.2-127.8-1.7-231.8-346.4 75.3-419.5-146.9-419.5-146.9-56.6-143.9-138.3-182.2-138.3-182.2-113-77.3 8.5-75.7 8.5-75.7 125 8.8 190.9 128.3 190.9 128.3 111.1 190.4 291.3 135.3 362.3 103.5 11.2-80.5 43.4-135.4 79.1-166.5-276.6-31.5-567.3-138.3-567.3-615.4 0-135.9 48.6-247 128.3-334.2-12.9-31.3-55.5-157.9 12.1-329.4 0 0 104.6-33.5 342.5 127.6 99.3-27.6 205.8-41.4 311.7-41.9 105.8.5 212.4 14.3 311.9 41.9 237.7-161.1 342.1-127.6 342.1-127.6 67.8 171.5 25.1 298.2 12.2 329.5 79.8 87.2 128.1 198.3 128.1 334.2 0 478.2-291.3 583.6-568.6 614.4 44.7 38.6 84.5 114.4 84.5 230.6 0 166.6-1.4 300.7-1.4 341.7 0 33.1 22.4 72 85.5 59.7 494.5-164.8 850.8-631.4 850.8-1181.4 0-687.7-557.5-1245.1-1245.1-1245.1" fill="#5c6bc0"/></svg>
|
||||
|
After Width: | Height: | Size: 1,009 B |
1
public/img/itch-io.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg fill="none" height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg"><circle cx="24" cy="24" fill="#ff2449" r="20"/><path d="m15.129 13.1335c-1.0469.6216-3.1095 2.991-3.129 3.6125v1.0285c0 1.3038 1.2188 2.4498 2.3253 2.4498 1.3286 0 2.4357-1.1012 2.4357-2.4081 0 1.3069 1.0691 2.4081 2.3979 2.4081s2.3636-1.1012 2.3636-2.4081c0 1.3069 1.1367 2.4081 2.4654 2.4081h.0242c1.3288 0 2.4655-1.1012 2.4655-2.4081 0 1.3069 1.0348 2.4081 2.3635 2.4081 1.3288 0 2.3979-1.1012 2.3979-2.4081 0 1.3069 1.1072 2.4081 2.4357 2.4081 1.1065 0 2.3253-1.1458 2.3253-2.4498v-1.0285c-.0195-.6216-2.0821-2.9911-3.1287-3.6125-3.2538-.1142-5.5095-.134-8.8714-.1335-3.3618.0003-7.9449.0528-8.8712.1335zm6.3767 6.4767c-.1271.2215-.2845.4241-.4676.602-.5016.4904-1.1891.7945-1.947.7945-.7291.0007-1.43-.2849-1.9512-.7948-.1817-.178-.3198-.3684-.4463-.59l-.0005.0004c-.1265.222-.3025.4122-.4846.5904-.5212.5096-1.2222.7949-1.9512.7943-.0913 0-.1864-.0252-.2632-.0516-.1069 1.1123-.1519 2.1752-.1678 2.9503l-.0002.0044c-.002.3936-.004.7172-.0059 1.1669.0205 2.3337-.2312 7.5641 1.0289 8.8492 1.9528.4553 5.5459.6626 9.1507.6639h.0006c3.6047-.0013 7.1978-.2086 9.1505-.6639 1.2602-1.2852 1.0085-6.5156 1.0291-8.8493-.0022-.4496-.004-.7732-.0059-1.1669l-.0004-.0044c-.0157-.7753-.0608-1.8382-.1677-2.9505-.0768.0264-.1718.0517-.2632.0517-.729.0006-1.43-.2847-1.9512-.7943-.1821-.1782-.3582-.3683-.4846-.5904l-.0006-.0004c-.1266.2216-.2646.412-.4463.59-.5211.5098-1.222.7954-1.9511.7946-.7578 0-1.4454-.3041-1.947-.7944-.1831-.1779-.3405-.3806-.4675-.602-.1257.2212-.2816.4238-.4633.602-.5212.5098-1.2222.7953-1.9513.7945-.0264 0-.0528-.0011-.0792-.0019h-.0007c-.0264.0008-.0528.0019-.0795.0019-.7291.0008-1.4302-.2846-1.9514-.7944-.1815-.1782-.3375-.3809-.4631-.602zm-2.0038 2.5911-.0002.0009h.0015c.7935.0016 1.4984 0 2.3718.9533.6875-.0721 1.4058-.1081 2.1247-.107h.0006c.7189-.001 1.4372.0349 2.1248.107.8734-.9534 1.5783-.9518 2.3718-.9533h.0014l-.0002-.0009c.375 0 1.8747 0 2.9197 2.9349l1.1224 4.0264c.8318 2.9954-.2663 3.0687-1.636 3.0712-2.0313-.0755-3.1561-1.5507-3.1561-3.0257-1.1244.1843-2.4361.2765-3.7479.2765h-.0006c-1.3118 0-2.6236-.0922-3.7479-.2765 0 1.475-1.1248 2.9502-3.156 3.0257-1.3698-.0025-2.4678-.0757-1.636-3.0712l1.1227-4.0263c1.045-2.9349 2.5447-2.9349 2.9197-2.9349zm4.4978 2.3065v.0006c-.0019.0019-2.1384 1.9641-2.5225 2.6619l1.3991-.056v1.2201c0 .0571.5614.0338 1.1234.0078h.0006c.5619.026 1.1233.0493 1.1233-.0078v-1.2201l1.3991.056c-.3842-.6978-2.5225-2.6619-2.5225-2.6619v-.0006l-.0003.0002z" fill="#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
1
public/img/linkedin.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="2500" width="2490" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><g fill="none"><path d="M0 18.338C0 8.216 8.474 0 18.92 0h218.16C247.53 0 256 8.216 256 18.338v219.327C256 247.79 247.53 256 237.08 256H18.92C8.475 256 0 247.791 0 237.668V18.335z" fill="#069"/><path d="M77.796 214.238V98.986H39.488v115.252H77.8zM58.65 83.253c13.356 0 21.671-8.85 21.671-19.91-.25-11.312-8.315-19.915-21.417-19.915-13.111 0-21.674 8.603-21.674 19.914 0 11.06 8.312 19.91 21.169 19.91h.248zM99 214.238h38.305v-64.355c0-3.44.25-6.889 1.262-9.346 2.768-6.885 9.071-14.012 19.656-14.012 13.858 0 19.405 10.568 19.405 26.063v61.65h38.304v-66.082c0-35.399-18.896-51.872-44.099-51.872-20.663 0-29.738 11.549-34.78 19.415h.255V98.99H99.002c.5 10.812-.003 115.252-.003 115.252z" fill="#fff"/></g></svg>
|
||||
|
After Width: | Height: | Size: 799 B |
1
public/img/steam.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg viewBox="-1.146 0 234.147 233" xmlns="http://www.w3.org/2000/svg" width="2500" height="2476"><linearGradient id="a" x1="50%" x2="50%" y2="100%"><stop offset="0" stop-color="#111d2e"/><stop offset=".212" stop-color="#051839"/><stop offset=".407" stop-color="#0a1b48"/><stop offset=".581" stop-color="#132e62"/><stop offset=".738" stop-color="#144b7e"/><stop offset=".873" stop-color="#136497"/><stop offset="1" stop-color="#1387b8"/></linearGradient><path d="M4.891 150.01C19.284 198.02 63.807 233 116.501 233c64.34 0 116.5-52.16 116.5-116.5 0-64.341-52.16-116.5-116.5-116.5C54.761 0 4.241 48.029.251 108.76c7.54 12.66 10.481 20.49 4.641 41.25z" fill="url(#a)"/><path d="M110.5 87.322c0 .196 0 .392.01.576L82.002 129.31c-4.618-.21-9.252.6-13.646 2.41a31.698 31.698 0 0 0-5.455 2.88L.302 108.83s-1.448 23.83 4.588 41.59l44.254 18.26c2.222 9.93 9.034 18.64 19.084 22.83 16.443 6.87 35.402-.96 42.242-17.41 1.78-4.3 2.61-8.81 2.49-13.31l40.79-29.15c.33.01.67.02 1 .02 24.41 0 44.25-19.9 44.25-44.338C199 62.882 179.16 43 154.75 43c-24.4 0-44.25 19.882-44.25 44.322zm-6.84 83.918c-5.294 12.71-19.9 18.74-32.596 13.45-5.857-2.44-10.279-6.91-12.83-12.24l14.405 5.97c9.363 3.9 20.105-.54 23.997-9.9 3.904-9.37-.525-20.13-9.883-24.03l-14.891-6.17c5.746-2.18 12.278-2.26 18.381.28 6.153 2.56 10.927 7.38 13.457 13.54s2.52 12.96-.04 19.1m51.09-54.38c-16.25 0-29.48-13.25-29.48-29.538 0-16.275 13.23-29.529 29.48-29.529 16.26 0 29.49 13.254 29.49 29.529 0 16.288-13.23 29.538-29.49 29.538m-22.09-29.583c0-12.253 9.92-22.191 22.14-22.191 12.23 0 22.15 9.938 22.15 22.191 0 12.254-9.92 22.183-22.15 22.183-12.22 0-22.14-9.929-22.14-22.183z" fill="#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/img/transcat.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
3
server/tsconfig.json
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"extends": "../.nuxt/tsconfig.server.json"
|
||||
}
|
||||
4
tsconfig.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
// https://nuxt.com/docs/guide/concepts/typescript
|
||||
"extends": "./.nuxt/tsconfig.json"
|
||||
}
|
||||