Misskey-devメンバーを紹介するページ (#11)

* (midev-abouts) initial

* (add) team member

* fix

* (add) see more button

* (fix) column

* enhance(about-us): make avatars small

* change domains

* ✌️

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
This commit is contained in:
かっこかり 2023-11-12 10:38:15 +09:00 committed by GitHub
parent 4621e3434a
commit 9581ad416c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 294 additions and 140 deletions

View File

@ -0,0 +1,66 @@
export type MiHubMember = {
/** Github User ID */
id: number;
/** Github user name */
username: string;
/** 表示用の名前 */
name?: string;
/** 役割 */
occupation?: string;
/** 貢献回数 */
contributions?: number;
/** ついかふぃーるど(今のところつかってない) */
fields?: ({
type: 'twitter';
id: string;
} | {
type: 'fediverse';
acct: string;
} | {
type: 'website';
href: string;
})[];
};
/** 現行のコアチームメンバー */
export const coreTeamMember: MiHubMember[] = [
{
id: 4439005,
username: 'syuilo',
name: 'しゅいろ',
},
{
id: 7973572,
username: 'tamaina',
name: 'tamaina (aqz)',
},
{
id: 20679825,
username: 'acid-chicken',
name: 'Acid Chicken (硫酸鶏)',
},
{
id: 40626578,
username: 'tai-cha',
name: 'taichan',
},
{
id: 67428053,
username: 'kakkokari-gtyih',
name: 'かっこかり',
},
];
/** 過去のコアチームメンバー */
export const coreTeamEmeriti: MiHubMember[] = [
{
id: 30769358,
username: 'mei23',
name: 'MeiMei',
},
{
id: 8159402,
username: 'robflop',
name: 'robflop',
},
];

View File

@ -0,0 +1,23 @@
<template>
<GNuxtLink :to="`https://github.com/${member.username}`" target="_blank" class="block p-4 bg-slate-100 hover:bg-slate-200 dark:bg-slate-800 dark:hover:bg-slate-700 rounded-lg">
<div class="flex space-x-4 items-center">
<img :src="`https://avatars.githubusercontent.com/u/${member.id}?s=80&v=4`" class="block aspect-square flex-shrink-0 h-10 rounded-full" loading="lazy" />
<div>
<div class="text-lg">{{ member.name ?? '@' + member.username }}</div>
<div v-if="member.name" class="text-sm opacity-80">{{ '@' + member.username }}</div>
</div>
</div>
</GNuxtLink>
</template>
<script setup lang="ts">
import type { MiHubMember } from '@/assets/data/team-members';
defineProps<{
member: MiHubMember;
}>();
</script>
<style scoped>
</style>

View File

@ -2,8 +2,8 @@
<header>
<div class="container mx-auto max-w-screen-xl px-6 lg:min-h-[330px] py-4 space-y-6 lg:space-y-0 lg:flex items-center justify-between lg:space-x-6">
<div class="max-w-lg mx-auto lg:mx-0">
<h1 class="font-title font-bold text-center lg:text-start text-2xl lg:text-4xl mb-4"><slot name="title"></slot></h1>
<p class="opacity-90 lg:text-lg lg:leading-relaxed max-w-lg"><slot name="description"></slot></p>
<h1 class="font-title font-bold text-center lg:text-start text-2xl lg:text-4xl !leading-relaxed mb-4"><slot name="title"></slot></h1>
<p class="opacity-90 text-center lg:text-start lg:text-lg lg:leading-relaxed max-w-lg"><slot name="description"></slot></p>
</div>
<div>
<slot name="icon"></slot>

View File

@ -8,7 +8,7 @@
<div :class="['hidden sm:block ml-auto flex-shrink-0 relative h-40 w-auto', (item.cutBottom ? 'pt-4' : 'py-4'), (!item.cutLeft && 'pr-4')]">
<GDots class="absolute top-0 right-0 h-16 w-16 text-accent-600" />
<GDots class="absolute bottom-0 -left-2 h-12 w-16 text-accent-600" />
<img class="relative h-full" :src="item.img" />
<img class="relative h-full rounded-lg" :src="item.img" />
</div>
</GNuxtLink>
</div>

View File

@ -200,6 +200,26 @@ _aidConverter:
mode: "作成するid"
date: "日付時刻"
_aboutUs:
title: "Misskey Development Divisionについて"
description: "Misskey開発チームについての情報を掲載しています。"
_team:
title: "開発メンバー"
description: "Misskeyの開発に関わっている方を紹介しています。"
_core:
title: "コア チームメンバー"
description: "こちらのコアチームメンバーは、Misskey関連のプロジェクトを積極的にメンテナンスしています。"
_coreEmeriti:
title: "名誉コアチームメンバー"
description: "過去に価値のある貢献をしてくださっていた、元コアチームメンバーの皆さんです。"
_contributors:
title: "コントリビューター"
description: "こちらの皆さんは、Misskeyに特に貢献してくださっています。"
seeMore: "すべてのコントリビューター"
_orgPartner:
title: "企業・団体パートナー"
description: "こちらの企業・団体から、金銭的・技術的な観点でMisskeyの開発へご協力いただいております。"
_api:
_permissions:
title: "権限"

37
pages/about-us/index.vue Normal file
View File

@ -0,0 +1,37 @@
<template>
<div>
<GHero>
<template #title>{{ $t('_aboutUs.title') }}</template>
<template #description>
{{ $t('_aboutUs.description') }}
</template>
<template #icon>
<div class="hidden lg:block relative px-6 py-8">
<GDots class="absolute top-0 left-0 w-32 h-32 text-accent-600" />
<GDots class="absolute bottom-0 right-0 w-32 h-32 text-accent-600" />
<div class="relative lg:w-64 h-64 flex items-center">
<img class="drop-shadow-xl rounded-xl" src="/img/misc/midev.png" />
</div>
</div>
</template>
</GHero>
<div class="pb-12 lg:mt-12 pt-6 bg-white dark:bg-slate-950">
<div class="container mx-auto max-w-screen-xl px-6 space-y-6 lg:space-y-8">
<GLargeLinks :items="[
{
to: localePath('/about-us/team/'),
title: $t('_aboutUs._team.title'),
description: $t('_aboutUs._team.description'),
img: '/img/emojis/technologist_3d.png',
},
]" />
</div>
</div>
</div>
</template>
<script setup lang="ts">
const localePath = useLocalePath();
</script>
<style></style>

97
pages/about-us/team.vue Normal file
View File

@ -0,0 +1,97 @@
<template>
<div>
<GHero>
<template #title>{{ $t('_aboutUs._team.title') }}</template>
<template #description>
{{ $t('_aboutUs._team.description') }}
</template>
<template #icon>
<div class="hidden lg:block relative px-6 py-8">
<GDots class="absolute top-0 left-0 w-32 h-32 text-accent-600" />
<GDots class="absolute bottom-0 right-0 w-32 h-32 text-accent-600" />
<div class="relative lg:w-64 h-64 flex items-center">
<img class="drop-shadow-xl rounded-xl" src="/img/emojis/technologist_3d.png" />
</div>
</div>
</template>
</GHero>
<div class="pb-12 lg:mt-12 pt-6 bg-white dark:bg-slate-950">
<div class="container mx-auto max-w-screen-xl px-6 pt-4 space-y-8">
<div class="grid gap-x-12 gap-y-4 w-full" :class="$style.teamRoot">
<div>
<div class="lg:sticky lg:top-32">
<h3 class="font-title font-bold text-2xl lg:text-2xl mb-2 lg:mb-4">{{ $t('_aboutUs._team._core.title') }}</h3>
<p>{{ $t('_aboutUs._team._core.description') }}</p>
</div>
</div>
<div class="grid md:grid-cols-2 gap-4">
<AboutUsTeamMember v-for="member in coreTeamMember" :member="member" />
</div>
</div>
<div class="grid gap-x-12 gap-y-4 w-full" :class="$style.teamRoot">
<div>
<div class="lg:sticky lg:top-32">
<h3 class="font-title font-bold text-2xl lg:text-2xl mb-2 lg:mb-4">{{ $t('_aboutUs._team._coreEmeriti.title') }}</h3>
<p>{{ $t('_aboutUs._team._coreEmeriti.description') }}</p>
</div>
</div>
<div class="grid md:grid-cols-2 gap-4">
<AboutUsTeamMember v-for="member in coreTeamEmeriti" :member="member" />
</div>
</div>
<div class="grid gap-x-12 gap-y-4 w-full" :class="$style.teamRoot">
<div>
<div class="lg:sticky lg:top-32">
<h3 class="font-title font-bold text-2xl lg:text-2xl mb-2 lg:mb-4">{{ $t('_aboutUs._team._contributors.title') }}</h3>
<p>{{ $t('_aboutUs._team._contributors.description') }}</p>
</div>
</div>
<div class="grid md:grid-cols-2 gap-4">
<AboutUsTeamMember v-for="member in contributors" :member="member" />
<GNuxtLink to="https://github.com/misskey-dev/misskey/graphs/contributors" target="_blank" class="block p-4 bg-slate-100 hover:bg-slate-200 dark:bg-slate-800 dark:hover:bg-slate-700 rounded-lg">
<div class="flex h-full w-full items-center">
<div class="text-lg">{{ $t('_aboutUs._team._contributors.seeMore') }}</div>
<ExtIco class="block ml-auto" />
</div>
</GNuxtLink>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">
import ExtIco from 'bi/box-arrow-up-right.svg';
import { coreTeamMember, coreTeamEmeriti } from '@/assets/data/team-members';
import type { MiHubMember } from '@/assets/data/team-members';
const { t } = useI18n();
const { data } = await useFetch<{ contributors: MiHubMember[] }>('https://ungh.cc/repos/misskey-dev/misskey/contributors', {
onRequestError: () => {
alert(t('_servers._system.fetchError'));
}
});
const contributors = computed(() =>
data.value?.contributors.filter((v) =>
!v.username?.includes('[bot]') && !coreTeamMember.map((e) => e.id).includes(v.id) && !coreTeamEmeriti.map((e) => e.id).includes(v.id))
);
const localePath = useLocalePath();
</script>
<style module>
.teamRoot {
grid-template-columns: 1fr;
}
@screen lg {
.teamRoot {
grid-template-columns: 300px 1fr;
}
}
</style>

View File

@ -56,6 +56,12 @@
cutBottom: true,
cutLeft: true,
},
{
to: localePath('/about-us/'),
title: $t('_aboutUs.title'),
description: $t('_aboutUs.description'),
img: '/img/misc/midev.png',
},
]" />
</div>
</div>

View File

@ -1,4 +1,4 @@
lockfileVersion: '6.0'
lockfileVersion: '6.1'
settings:
autoInstallPeers: true
@ -21,13 +21,13 @@ devDependencies:
version: 1.0.4(vite@4.5.0)
'@nuxt/content':
specifier: npm:@nuxt/content-edge@2.9.0-28315240.7dcbf13
version: /@nuxt/content-edge@2.9.0-28315240.7dcbf13(nuxt@3.8.1)(vue@3.3.7)
version: /@nuxt/content-edge@2.9.0-28315240.7dcbf13(nuxt@3.8.1)(vue@3.3.8)
'@nuxtjs/color-mode':
specifier: ^3.3.0
version: 3.3.0
'@nuxtjs/i18n':
specifier: 8.0.0-beta.13
version: 8.0.0-beta.13(vue@3.3.7)
version: 8.0.0-beta.13(vue@3.3.8)
'@types/js-yaml':
specifier: ^4.0.5
version: 4.0.8
@ -889,7 +889,7 @@ packages:
magic-string: 0.30.5
mlly: 1.4.2
source-map-js: 1.0.2
vue-i18n: 9.3.0-beta.22(vue@3.3.7)
vue-i18n: 9.3.0-beta.22(vue@3.3.8)
yaml-eslint-parser: 1.2.2
dev: true
@ -973,7 +973,7 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
unplugin: 1.5.0
vue-i18n: 9.3.0-beta.22(vue@3.3.7)
vue-i18n: 9.3.0-beta.22(vue@3.3.8)
transitivePeerDependencies:
- rollup
- supports-color
@ -1004,10 +1004,10 @@ packages:
vue-i18n-bridge:
optional: true
dependencies:
vue-i18n: 9.3.0-beta.22(vue@3.3.7)
vue-i18n: 9.3.0-beta.22(vue@3.3.8)
dev: true
/@intlify/vue-router-bridge@0.8.0(vue@3.3.7):
/@intlify/vue-router-bridge@0.8.0(vue@3.3.8):
resolution: {integrity: sha512-CNxOgvyQcRhtGmRrksicL+HGjDijXtz+J/x04C/RslZ74CFdZkxjCe8MABkeD3xr+ry8G8tCm2nV2hLjZbynQw==}
engines: {node: '>= 12'}
hasBin: true
@ -1021,7 +1021,7 @@ packages:
vue-router:
optional: true
dependencies:
vue-demi: 0.13.11(vue@3.3.7)
vue-demi: 0.13.11(vue@3.3.8)
transitivePeerDependencies:
- vue
dev: true
@ -1255,14 +1255,14 @@ packages:
- supports-color
dev: true
/@nuxt/content-edge@2.9.0-28315240.7dcbf13(nuxt@3.8.1)(vue@3.3.7):
/@nuxt/content-edge@2.9.0-28315240.7dcbf13(nuxt@3.8.1)(vue@3.3.8):
resolution: {integrity: sha512-/XW5dk+EdhMo9+l87SRExGcCoiqp1PMMbKQ/CO3MzvvEtfyAIDxAEjdjgPYuDjkUI9NWcu4h67DUg+5xeQrmMQ==}
dependencies:
'@nuxt/kit': 3.8.1
'@nuxtjs/mdc': 0.2.6
'@vueuse/core': 10.5.0(vue@3.3.7)
'@vueuse/head': 2.0.0(vue@3.3.7)
'@vueuse/nuxt': 10.5.0(nuxt@3.8.1)(vue@3.3.7)
'@vueuse/core': 10.5.0(vue@3.3.8)
'@vueuse/head': 2.0.0(vue@3.3.8)
'@vueuse/nuxt': 10.5.0(nuxt@3.8.1)(vue@3.3.8)
consola: 3.2.3
defu: 6.1.3
destr: 2.0.2
@ -1604,7 +1604,7 @@ packages:
- supports-color
dev: true
/@nuxtjs/i18n@8.0.0-beta.13(vue@3.3.7):
/@nuxtjs/i18n@8.0.0-beta.13(vue@3.3.8):
resolution: {integrity: sha512-h0OqoSSdD9MGCXYZIDpYgQNN90r7MQ/sKVtyBQnrpGQLh1pqI7uLXoAVz4l4r09JzE2nNXK5U0thcx7Tq7ONUg==}
engines: {node: ^14.16.0 || >=16.11.0}
dependencies:
@ -1628,8 +1628,8 @@ packages:
ufo: 1.3.1
unplugin: 1.5.0
unstorage: 1.9.0
vue-i18n: 9.3.0-beta.22(vue@3.3.7)
vue-i18n-routing: 0.13.4(vue-i18n@9.3.0-beta.22)(vue@3.3.7)
vue-i18n: 9.3.0-beta.22(vue@3.3.8)
vue-i18n-routing: 0.13.4(vue-i18n@9.3.0-beta.22)(vue@3.3.8)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@ -1657,7 +1657,7 @@ packages:
'@nuxt/kit': 3.8.1
'@types/hast': 3.0.2
'@types/mdast': 4.0.2
'@vue/compiler-core': 3.3.7
'@vue/compiler-core': 3.3.8
consola: 3.2.3
defu: 6.1.3
destr: 2.0.2
@ -2370,13 +2370,6 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
/@unhead/dom@1.8.0:
resolution: {integrity: sha512-6L/KS/R8GdnsAA/bS8qTc4AML6zp+v+L9cDtS1CBb8ra5ZjEkOpqFFqSbdvrlkQZqB0t7LPQxNAXl9HIAudUnA==}
dependencies:
'@unhead/schema': 1.8.0
'@unhead/shared': 1.8.0
dev: true
/@unhead/dom@1.8.3:
resolution: {integrity: sha512-rPj9PiRTDf+Qy7tSK/UCGxwKfsOOQ+YniANxQy9v2AhWsDy2amW7kbfgR9fVaSlOFdpsyuh2wLCbMcyj9Wn0Jw==}
dependencies:
@ -2384,13 +2377,6 @@ packages:
'@unhead/shared': 1.8.3
dev: true
/@unhead/schema@1.8.0:
resolution: {integrity: sha512-4xI8wgC2bobvuhNG/MbZcFdmS/Xx0JgPc2xgSimvrvSeZUZzFvsXvzerMT9R4XXuSaQt2g8DwjJrF3dh7suGNA==}
dependencies:
hookable: 5.5.3
zhead: 2.2.4
dev: true
/@unhead/schema@1.8.3:
resolution: {integrity: sha512-3XbcJzdlyLr/RV2TKaygI21YorlU6XPgHn/MoWjQvH4PYiHkH8PtTGg8Je6k3gvcUURSiDfucFKaGEYdJXAVqQ==}
dependencies:
@ -2398,25 +2384,12 @@ packages:
zhead: 2.2.4
dev: true
/@unhead/shared@1.8.0:
resolution: {integrity: sha512-BoOgy/B4tgFvX3Obw0QzHhlReodenQxRPs5V5E+UJATUmz9/A8cOu4n731u+EM50dCAbJB1xEz8BGF67XCUY+Q==}
dependencies:
'@unhead/schema': 1.8.0
dev: true
/@unhead/shared@1.8.3:
resolution: {integrity: sha512-E1knEiAO0iENLzZd+LjWA4mUp8JRaSxo5V0vMjSENyf5hSVB/SxAVjDPmTIelLY7KrP5mJrNMen2ZmQrr/AZJw==}
dependencies:
'@unhead/schema': 1.8.3
dev: true
/@unhead/ssr@1.8.0:
resolution: {integrity: sha512-uuDKVbto5gqBZiPgbbQgK9EHxFsZJp1dD8AmVUbSmezDM1FnMkVS5oH9UfMmJ1RtYnPTqkOcoKmRXZmqEyrv9g==}
dependencies:
'@unhead/schema': 1.8.0
'@unhead/shared': 1.8.0
dev: true
/@unhead/ssr@1.8.3:
resolution: {integrity: sha512-GSTkUCL4qymGkPU8BXiV74Epj0yyXJgmfTSJ3EqalpQTYyJHl910Mq2oDWk7Xyl5lHBrz2Bn0lzNXfSkS7Ao0Q==}
dependencies:
@ -2424,18 +2397,6 @@ packages:
'@unhead/shared': 1.8.3
dev: true
/@unhead/vue@1.8.0(vue@3.3.7):
resolution: {integrity: sha512-gpKVw3qHpTfOFVujlPalXdDrK6abGwwAs7VNkwZ2BjwK5RvPA7mujG6Nw5XkTh0bxY3U0yOknEZ7TWO8ep0pZQ==}
peerDependencies:
vue: '>=2.7 || >=3'
dependencies:
'@unhead/schema': 1.8.0
'@unhead/shared': 1.8.0
hookable: 5.5.3
unhead: 1.8.0
vue: 3.3.7(typescript@5.2.2)
dev: true
/@unhead/vue@1.8.3(vue@3.3.8):
resolution: {integrity: sha512-sj/1VosMreUQXd68rn5jDLdpgFVdN0mKrjW/8eZMWbomZkzbzs7FxyRUApd584xNjFVdtyWrTepmrNSKmEwKgg==}
peerDependencies:
@ -2639,25 +2600,12 @@ packages:
magic-string: 0.30.5
dev: true
/@vue/reactivity@3.3.7:
resolution: {integrity: sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==}
dependencies:
'@vue/shared': 3.3.7
dev: true
/@vue/reactivity@3.3.8:
resolution: {integrity: sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==}
dependencies:
'@vue/shared': 3.3.8
dev: true
/@vue/runtime-core@3.3.7:
resolution: {integrity: sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==}
dependencies:
'@vue/reactivity': 3.3.7
'@vue/shared': 3.3.7
dev: true
/@vue/runtime-core@3.3.8:
resolution: {integrity: sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==}
dependencies:
@ -2665,14 +2613,6 @@ packages:
'@vue/shared': 3.3.8
dev: true
/@vue/runtime-dom@3.3.7:
resolution: {integrity: sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==}
dependencies:
'@vue/runtime-core': 3.3.7
'@vue/shared': 3.3.7
csstype: 3.1.2
dev: true
/@vue/runtime-dom@3.3.8:
resolution: {integrity: sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==}
dependencies:
@ -2681,16 +2621,6 @@ packages:
csstype: 3.1.2
dev: true
/@vue/server-renderer@3.3.7(vue@3.3.7):
resolution: {integrity: sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==}
peerDependencies:
vue: 3.3.7
dependencies:
'@vue/compiler-ssr': 3.3.7
'@vue/shared': 3.3.7
vue: 3.3.7(typescript@5.2.2)
dev: true
/@vue/server-renderer@3.3.8(vue@3.3.8):
resolution: {integrity: sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==}
peerDependencies:
@ -2709,45 +2639,45 @@ packages:
resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==}
dev: true
/@vueuse/core@10.5.0(vue@3.3.7):
/@vueuse/core@10.5.0(vue@3.3.8):
resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==}
dependencies:
'@types/web-bluetooth': 0.0.18
'@vueuse/metadata': 10.5.0
'@vueuse/shared': 10.5.0(vue@3.3.7)
vue-demi: 0.14.6(vue@3.3.7)
'@vueuse/shared': 10.5.0(vue@3.3.8)
vue-demi: 0.14.6(vue@3.3.8)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
dev: true
/@vueuse/head@2.0.0(vue@3.3.7):
/@vueuse/head@2.0.0(vue@3.3.8):
resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==}
peerDependencies:
vue: '>=2.7 || >=3'
dependencies:
'@unhead/dom': 1.8.0
'@unhead/schema': 1.8.0
'@unhead/ssr': 1.8.0
'@unhead/vue': 1.8.0(vue@3.3.7)
vue: 3.3.7(typescript@5.2.2)
'@unhead/dom': 1.8.3
'@unhead/schema': 1.8.3
'@unhead/ssr': 1.8.3
'@unhead/vue': 1.8.3(vue@3.3.8)
vue: 3.3.8(typescript@5.2.2)
dev: true
/@vueuse/metadata@10.5.0:
resolution: {integrity: sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==}
dev: true
/@vueuse/nuxt@10.5.0(nuxt@3.8.1)(vue@3.3.7):
/@vueuse/nuxt@10.5.0(nuxt@3.8.1)(vue@3.3.8):
resolution: {integrity: sha512-x1mpjwcPB5DGA3cTM29Hf3bralslrma3Jr0fXm3Js3dbUHdadC/iVMf831W+sKPjZBhiZxR0S94B8gmGlvZ/1Q==}
peerDependencies:
nuxt: ^3.0.0
dependencies:
'@nuxt/kit': 3.8.1
'@vueuse/core': 10.5.0(vue@3.3.7)
'@vueuse/core': 10.5.0(vue@3.3.8)
'@vueuse/metadata': 10.5.0
local-pkg: 0.5.0
nuxt: 3.8.1(@types/node@18.18.7)(sass@1.69.5)(typescript@5.2.2)(vite@4.5.0)
vue-demi: 0.14.6(vue@3.3.7)
vue-demi: 0.14.6(vue@3.3.8)
transitivePeerDependencies:
- '@vue/composition-api'
- rollup
@ -2755,10 +2685,10 @@ packages:
- vue
dev: true
/@vueuse/shared@10.5.0(vue@3.3.7):
/@vueuse/shared@10.5.0(vue@3.3.8):
resolution: {integrity: sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==}
dependencies:
vue-demi: 0.14.6(vue@3.3.7)
vue-demi: 0.14.6(vue@3.3.8)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -8379,15 +8309,6 @@ packages:
pathe: 1.1.1
dev: true
/unhead@1.8.0:
resolution: {integrity: sha512-k/o6SonFWrzgyVW1BmFKeYbkCKLrA2z6YKf/+28YoEDoN53pguMgLH9qWBla/GNkNXXWPGAt0Ax8S1/VJaX+3g==}
dependencies:
'@unhead/dom': 1.8.0
'@unhead/schema': 1.8.0
'@unhead/shared': 1.8.0
hookable: 5.5.3
dev: true
/unhead@1.8.3:
resolution: {integrity: sha512-2/5NJs7nY1MgCkUNuyevALM9nSgGp2loRv5QPhYyZXUPdF+F76CpKvkqATEOEJ/1yDzWjCaWrNh4u5lS6BEioA==}
dependencies:
@ -8958,7 +8879,7 @@ packages:
ufo: 1.3.1
dev: true
/vue-demi@0.13.11(vue@3.3.7):
/vue-demi@0.13.11(vue@3.3.8):
resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
engines: {node: '>=12'}
hasBin: true
@ -8970,10 +8891,10 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
vue: 3.3.7(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: true
/vue-demi@0.14.6(vue@3.3.7):
/vue-demi@0.14.6(vue@3.3.8):
resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
engines: {node: '>=12'}
hasBin: true
@ -8985,14 +8906,14 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
vue: 3.3.7(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: true
/vue-devtools-stub@0.1.0:
resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==}
dev: true
/vue-i18n-routing@0.13.4(vue-i18n@9.3.0-beta.22)(vue@3.3.7):
/vue-i18n-routing@0.13.4(vue-i18n@9.3.0-beta.22)(vue@3.3.8):
resolution: {integrity: sha512-cihM/X4c6dgAnSVoIc3wUoiGG6B/Y+a3B3+Xt+7b9n2mjnKQ+ZkQ6oKVQxOd8WFRdJyohlP5dyL3Xsho4HZjBw==}
engines: {node: '>= 14.6'}
peerDependencies:
@ -9015,14 +8936,14 @@ packages:
dependencies:
'@intlify/shared': 9.4.1
'@intlify/vue-i18n-bridge': 0.8.0(vue-i18n@9.3.0-beta.22)
'@intlify/vue-router-bridge': 0.8.0(vue@3.3.7)
'@intlify/vue-router-bridge': 0.8.0(vue@3.3.8)
ufo: 1.3.1
vue: 3.3.7(typescript@5.2.2)
vue-demi: 0.14.6(vue@3.3.7)
vue-i18n: 9.3.0-beta.22(vue@3.3.7)
vue: 3.3.8(typescript@5.2.2)
vue-demi: 0.14.6(vue@3.3.8)
vue-i18n: 9.3.0-beta.22(vue@3.3.8)
dev: true
/vue-i18n@9.3.0-beta.22(vue@3.3.7):
/vue-i18n@9.3.0-beta.22(vue@3.3.8):
resolution: {integrity: sha512-i/MQ1x5kEXTMzmg5Cg9dnXDaTWv0S+O0ZTf8+qLWhFJDT4ERa5GLh5V+Ya748x1D+kwpStJxIW3kZGESJG7XCg==}
engines: {node: '>= 16'}
peerDependencies:
@ -9032,7 +8953,7 @@ packages:
'@intlify/shared': 9.3.0-beta.22
'@intlify/vue-devtools': 9.3.0-beta.22
'@vue/devtools-api': 6.5.1
vue: 3.3.7(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: true
/vue-router@4.2.5(vue@3.3.8):
@ -9044,22 +8965,6 @@ packages:
vue: 3.3.8(typescript@5.2.2)
dev: true
/vue@3.3.7(typescript@5.2.2):
resolution: {integrity: sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@vue/compiler-dom': 3.3.7
'@vue/compiler-sfc': 3.3.7
'@vue/runtime-dom': 3.3.7
'@vue/server-renderer': 3.3.7(vue@3.3.7)
'@vue/shared': 3.3.7
typescript: 5.2.2
dev: true
/vue@3.3.8(typescript@5.2.2):
resolution: {integrity: sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==}
peerDependencies:

View File

@ -1,4 +1,4 @@
# (For preview purposes on kakkokari-gtyih account)
# (For preview purposes until it's released)
https://misskey-hub.pages.dev/*
X-Robots-Tag: noindex

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
public/img/misc/midev.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB