mirror of
https://github.com/andatoshiki/toshiki-home-nuxt3.git
synced 2026-06-06 09:16:46 +00:00
Compare commits
3 Commits
012cced6ce
...
b2e6631497
| Author | SHA1 | Date | |
|---|---|---|---|
| b2e6631497 | |||
| af6bf329ce | |||
| ae18ce014c |
@ -6,7 +6,7 @@ const description =
|
|||||||
'Former full time INTP & current INTJ & part time ISTP whom is caffein overdosed hyperboosted by Monster meanwhile an egoistic capitalist that overthinks ;)'
|
'Former full time INTP & current INTJ & part time ISTP whom is caffein overdosed hyperboosted by Monster meanwhile an egoistic capitalist that overthinks ;)'
|
||||||
|
|
||||||
const Head: NuxtOptionsHead = {
|
const Head: NuxtOptionsHead = {
|
||||||
title: 'toshiki.dev',
|
title: 'Toshiki\'s Homepage',
|
||||||
meta: [
|
meta: [
|
||||||
{ charset: 'utf-8' },
|
{ charset: 'utf-8' },
|
||||||
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
||||||
@ -34,7 +34,7 @@ const Head: NuxtOptionsHead = {
|
|||||||
{
|
{
|
||||||
hid: 'twitter:title',
|
hid: 'twitter:title',
|
||||||
name: 'twitter:title',
|
name: 'twitter:title',
|
||||||
content: 'andatoshiki'
|
content: 'Toshiki\'s Homepage'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
hid: 'twitter:description',
|
hid: 'twitter:description',
|
||||||
@ -92,7 +92,8 @@ const Head: NuxtOptionsHead = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
rel: 'stylesheet',
|
rel: 'stylesheet',
|
||||||
href: 'https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css' },
|
href: 'https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css'
|
||||||
|
},
|
||||||
// mastodon profile website verification indicator a tag
|
// mastodon profile website verification indicator a tag
|
||||||
{
|
{
|
||||||
rel: 'me',
|
rel: 'me',
|
||||||
|
|||||||
@ -52,7 +52,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
const tags = getTags?.join(', ') || title
|
const tags = getTags?.join(', ') || title
|
||||||
const href = `https://toshiki.dev${this.$route?.path}`
|
const href = `https://toshiki.dev${this.$route?.path}`
|
||||||
const image = `https://toshiki.dev/og-images/${post.slug}.png`
|
const image = `/og-images/${post.slug}.png`
|
||||||
|
|
||||||
return {
|
return {
|
||||||
bodyAttrs: {
|
bodyAttrs: {
|
||||||
@ -71,7 +71,7 @@ export default Vue.extend({
|
|||||||
description,
|
description,
|
||||||
image,
|
image,
|
||||||
keywords: `${tags}, toshiki, andatoshiki, blog, Anda Toshiki, homepage, portfolio, website, personal, personal website, real life, programming, coding`,
|
keywords: `${tags}, toshiki, andatoshiki, blog, Anda Toshiki, homepage, portfolio, website, personal, personal website, real life, programming, coding`,
|
||||||
url: href,
|
url: href
|
||||||
},
|
},
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -97,31 +97,6 @@ export default Vue.extend({
|
|||||||
{
|
{
|
||||||
name: 'twitter:data2',
|
name: 'twitter:data2',
|
||||||
content: `${this.getReadingTime} minutes`
|
content: `${this.getReadingTime} minutes`
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'twitter:image',
|
|
||||||
content: image
|
|
||||||
},
|
|
||||||
// open graph
|
|
||||||
{
|
|
||||||
name: 'og:type',
|
|
||||||
content: 'article'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'og:site_name',
|
|
||||||
content: `toshiki.dev/${this.$route?.path}`
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'og:description',
|
|
||||||
content: description
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'og:image',
|
|
||||||
content: image
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'og:url',
|
|
||||||
content: href
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -234,7 +209,6 @@ export default Vue.extend({
|
|||||||
|
|
||||||
<!-- <Waline /> -->
|
<!-- <Waline /> -->
|
||||||
|
|
||||||
|
|
||||||
<div class="mt-16 space-y-10">
|
<div class="mt-16 space-y-10">
|
||||||
<div v-if="getRelatedPosts.length > 0" class="space-y-2">
|
<div v-if="getRelatedPosts.length > 0" class="space-y-2">
|
||||||
<h3 class="text-sm dark:text-white/30 text-black/50">Similar Posts</h3>
|
<h3 class="text-sm dark:text-white/30 text-black/50">Similar Posts</h3>
|
||||||
|
|||||||
@ -16,7 +16,6 @@ export default Vue.extend({
|
|||||||
posts: [] as (Post[] & FetchReturn) | (Post[] & FetchReturn)[]
|
posts: [] as (Post[] & FetchReturn) | (Post[] & FetchReturn)[]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fetchOnServer: false,
|
|
||||||
async fetch() {
|
async fetch() {
|
||||||
const posts = await this.$content('blog').sortBy('createdAt', 'desc').without(['body']).fetch<Post[]>()
|
const posts = await this.$content('blog').sortBy('createdAt', 'desc').without(['body']).fetch<Post[]>()
|
||||||
|
|
||||||
@ -24,7 +23,8 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
head() {
|
head() {
|
||||||
const title = "Toshiki's Blog"
|
const title = "Toshiki's Blog"
|
||||||
const description = 'Real life stories anecdotes & developmental journeys for embarking your inspirations.'
|
const description =
|
||||||
|
"Real life stories anecdotes & developmental journeys for embarking your inspirations."
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: 'Blog',
|
title: 'Blog',
|
||||||
@ -77,9 +77,7 @@ export default Vue.extend({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<LoadersBlog v-if="$fetchState.pending || $fetchState.error !== null" />
|
<div class="pt-12 space-y-10 margin">
|
||||||
|
|
||||||
<div v-else class="mt-12 space-y-10">
|
|
||||||
<section v-for="[year, posts] in getYearGroupedPosts" :key="year" class="space-y-4">
|
<section v-for="[year, posts] in getYearGroupedPosts" :key="year" class="space-y-4">
|
||||||
<h1 class="text-3xl font-bold text-black/90 dark:text-white/90">
|
<h1 class="text-3xl font-bold text-black/90 dark:text-white/90">
|
||||||
{{ year }}
|
{{ year }}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user