2024-12-21 19:11:09 -08:00
< script setup >
import { ref } from 'vue' ;
2024-12-22 12:22:47 -08:00
import Markdown from '~/components/Markdown.vue' ;
2025-01-01 00:26:10 -08:00
import Card from '~/components/Card.vue' ;
2025-02-16 19:31:39 -08:00
import siteTitle from '~/assets/config'
import * as pages from "~/utils/page_updater/update_pagelist" ;
2024-12-21 19:11:09 -08:00
2025-01-04 02:47:38 -08:00
const aboutMe = ref ( '' ) ;
const test = ref ( '' ) ;
2024-12-21 19:11:09 -08:00
2025-02-16 19:31:39 -08:00
let blog _list _json = ( await import ( "~/assets/meta/post_list.json" ) ) . default ;
let blog _list = pages . PageList . fromJSON ( JSON . stringify ( blog _list _json ) ) ;
const { locale , setLocale } = useI18n ( ) ;
let currentLocale = locale . value . toLowerCase ( ) . replace ( /-/g , '_' ) ;
const aboutMePage = blog _list . languages [ currentLocale ] ? . categories [ 'Site' ] ? . posts . find (
post => {
const canonicalId = pages . PageList . getCanonicalId ( post . id ) ;
return canonicalId && canonicalId . toLowerCase ( ) . includes ( 'about_me' ) ;
}
) ;
if ( ! aboutMePage ) {
throw new Error ( ` "about_me" page not found for locale ${ currentLocale } . Available posts: ${ JSON . stringify ( blog _list . languages [ currentLocale ] ? . categories [ 'Site' ] ? . posts . map ( p => p . id ) ) } ` ) ;
}
console . log ( "url:" + aboutMePage . url )
const { data } = await useAsyncData ( 'about_me' , ( ) => queryContent ( aboutMePage . url ) . findOne ( ) ) ;
2024-12-21 19:11:09 -08:00
< / script >
< template >
2024-12-22 13:21:05 -08:00
< div class = "relative flex w-full justify-center text-white" >
2025-01-04 02:47:38 -08:00
<!-- Metadata -- >
2025-02-16 19:31:39 -08:00
< MetaSet title = "Home" :description = "siteTitle" background = "/images/me.png" tags = "home, personal, author" / >
2024-12-22 12:22:47 -08:00
< div class = "mt-8 flex-col text-center" >
< div class = "flex justify-center" >
2025-01-03 21:50:12 -08:00
< div id = "PFP" class = "shadow-md rounded-full shadow-highlight" >
2025-02-16 19:31:39 -08:00
< img class = "transition-all w-40 h-40 md:w-56 md:h-56 rounded-full" src = "/images/me.png"
alt = "User PFP" / >
2024-12-22 12:22:47 -08:00
< / div >
2025-01-25 19:37:29 -08:00
< / div >
< div class = "flex justify-center p-4" >
< div class = "card flex lg:max-w-96 justify-end bg-surface-1 rounded-full border-border border" >
2025-01-26 16:24:48 -08:00
< NuxtLink href = "https://github.com/mrrpnya" >
2025-01-25 19:37:29 -08:00
< button title = "GitHub Profile"
class = "m-2 p-2 bg-surface-2/[.5] border-2 border-border rounded-full shadow-sm hover:scale-110 hover:shadow-border-accent hover:border-accent transition-all duration-200 ease-in-out" >
< img class = "invert w-5"
src = "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/GitHub_Invertocat_Logo.svg/330px-GitHub_Invertocat_Logo.svg.png"
width = "24" height = "24" alt = "GitHub" / >
< / button >
< / NuxtLink >
< NuxtLink href = "https://social.smgames.club/@mrrp" >
< button title = "Mastodon Profile"
class = "m-2 p-2 bg-surface-2/[.5] border-2 border-border rounded-full shadow-sm hover:scale-110 hover:shadow-border-accent hover:border-accent transition-all duration-200 ease-in-out" >
< img class = "w-5" src = "/images/mastodon.svg" width = "24" height = "24" alt = "Sharkey" / >
< / button >
< / NuxtLink >
< a href = "/rss.xml" >
< button title = "RSS Feed"
class = "m-2 p-2 bg-surface-2/[.5] border-2 border-border rounded-full shadow-sm hover:scale-110 hover:shadow-border-accent hover:border-accent transition-all duration-200 ease-in-out" >
< img class = "w-5" src = "/images/rss.png" width = "24" height = "24" alt = "RSS" / >
< / button >
< / a >
< NuxtLink href = "https://git.smgames.club/SevenOfAces" >
< button title = "Forgejo"
class = "m-2 p-2 bg-surface-2/[.5] border-2 border-border rounded-full shadow-sm hover:scale-110 hover:shadow-border-accent hover:border-accent transition-all duration-200 ease-in-out" >
< img class = "w-5" src = "/images/forgejo.png" width = "24" height = "24" alt = "RSS" / >
< / button >
< / NuxtLink >
< NuxtLink href = "mailto:mrrpnya@proton.me" >
< button title = "Send an Email"
class = "m-2 p-2 bg-surface-2/[.5] border-2 border-border rounded-full shadow-sm hover:scale-110 hover:shadow-border-accent hover:border-accent transition-all duration-200 ease-in-out" >
< img class = "w-5" src = "/images/envelope.png" width = "24" height = "24" alt = "RSS" / >
< / button >
< / NuxtLink >
< / div >
2024-12-22 12:22:47 -08:00
< / div >
2025-01-01 00:26:10 -08:00
< Card class = "max-w-4xl mt-4 max-md:w-screen" >
2025-01-03 21:50:12 -08:00
< Markdown :input = "aboutMe" type = "markdown" > < / Markdown >
2025-01-04 02:47:38 -08:00
< ContentRendererMarkdown :value = "data" class = "md-content" / >
2025-01-01 00:26:10 -08:00
< / Card >
2024-12-22 12:22:47 -08:00
< / div >
< / div >
2025-01-03 21:50:12 -08:00
< / template >