Nuxt 초기 세팅 추가
This commit is contained in:
23
components/site/LeftSidebar.vue
Normal file
23
components/site/LeftSidebar.vue
Normal file
@@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<aside class="left-sidebar hidden w-[287px] lg:block">
|
||||
<div class="left-sidebar__block py-3 pl-0 pr-3">
|
||||
<p class="left-sidebar__eyebrow text-xs font-semibold uppercase text-muted">
|
||||
Categories
|
||||
</p>
|
||||
<nav class="left-sidebar__nav mt-4 grid gap-2 text-sm">
|
||||
<NuxtLink class="left-sidebar__nav-link hover:text-muted" to="/tags/dev">
|
||||
DEV
|
||||
</NuxtLink>
|
||||
<NuxtLink class="left-sidebar__nav-link hover:text-muted" to="/tags/note">
|
||||
NOTE
|
||||
</NuxtLink>
|
||||
<NuxtLink class="left-sidebar__nav-link hover:text-muted" to="/tags/review">
|
||||
REVIEW
|
||||
</NuxtLink>
|
||||
<NuxtLink class="left-sidebar__nav-link hover:text-muted" to="/tags/play">
|
||||
PLAY
|
||||
</NuxtLink>
|
||||
</nav>
|
||||
</div>
|
||||
</aside>
|
||||
</template>
|
||||
5
components/site/MainColumn.vue
Normal file
5
components/site/MainColumn.vue
Normal file
@@ -0,0 +1,5 @@
|
||||
<template>
|
||||
<div class="main-column w-full lg:w-[720px]">
|
||||
<slot />
|
||||
</div>
|
||||
</template>
|
||||
26
components/site/PostCard.vue
Normal file
26
components/site/PostCard.vue
Normal file
@@ -0,0 +1,26 @@
|
||||
<script setup>
|
||||
defineProps({
|
||||
post: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<article class="post-card site-section">
|
||||
<div class="post-card__body site-section-body">
|
||||
<p class="post-card__meta text-xs font-semibold uppercase text-muted">
|
||||
{{ post.tag }} · {{ post.publishedAt }}
|
||||
</p>
|
||||
<h2 class="post-card__title mt-3 text-2xl font-semibold leading-tight">
|
||||
<NuxtLink class="post-card__title-link hover:text-muted" :to="post.to">
|
||||
{{ post.title }}
|
||||
</NuxtLink>
|
||||
</h2>
|
||||
<p class="post-card__excerpt mt-3 text-sm leading-6 text-muted">
|
||||
{{ post.excerpt }}
|
||||
</p>
|
||||
</div>
|
||||
</article>
|
||||
</template>
|
||||
17
components/site/RightSidebar.vue
Normal file
17
components/site/RightSidebar.vue
Normal file
@@ -0,0 +1,17 @@
|
||||
<template>
|
||||
<aside class="right-sidebar hidden w-[287px] lg:block">
|
||||
<div class="right-sidebar__block py-5 pl-5 pr-0">
|
||||
<p class="right-sidebar__eyebrow text-xs font-semibold uppercase text-muted">
|
||||
Portal
|
||||
</p>
|
||||
<div class="right-sidebar__links mt-4 grid gap-3 text-sm">
|
||||
<NuxtLink class="right-sidebar__link hover:text-muted" to="/pages/projects">
|
||||
Projects
|
||||
</NuxtLink>
|
||||
<NuxtLink class="right-sidebar__link hover:text-muted" to="/pages/contact">
|
||||
Contact
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
</template>
|
||||
20
components/site/SiteHeader.vue
Normal file
20
components/site/SiteHeader.vue
Normal file
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<header class="site-header sticky top-0 z-20 h-[57px] border-b border-line bg-paper/95 backdrop-blur">
|
||||
<div class="site-header__inner mx-auto flex h-full max-w-[1294px] items-center justify-between px-4 lg:px-0">
|
||||
<NuxtLink class="site-header__brand text-[19px] font-semibold tracking-normal" to="/">
|
||||
sori.studio
|
||||
</NuxtLink>
|
||||
<nav class="site-header__nav flex items-center gap-5 text-sm text-muted">
|
||||
<NuxtLink class="site-header__nav-link hover:text-ink" to="/pages/about">
|
||||
About
|
||||
</NuxtLink>
|
||||
<NuxtLink class="site-header__nav-link hover:text-ink" to="/pages/links">
|
||||
Links
|
||||
</NuxtLink>
|
||||
<NuxtLink class="site-header__nav-link hover:text-ink" to="/admin">
|
||||
Admin
|
||||
</NuxtLink>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
</template>
|
||||
28
components/site/TagHeader.vue
Normal file
28
components/site/TagHeader.vue
Normal file
@@ -0,0 +1,28 @@
|
||||
<script setup>
|
||||
defineProps({
|
||||
title: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
description: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<section class="tag-header site-section">
|
||||
<div class="tag-header__inner site-section-header">
|
||||
<p class="tag-header__eyebrow text-xs font-semibold uppercase text-muted">
|
||||
Tag
|
||||
</p>
|
||||
<h1 class="tag-header__title mt-3 text-4xl font-semibold leading-tight">
|
||||
{{ title }}
|
||||
</h1>
|
||||
<p v-if="description" class="tag-header__description mt-3 text-sm leading-6 text-muted">
|
||||
{{ description }}
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
Reference in New Issue
Block a user