mirror of
https://github.com/CodeF53/personal-site.git
synced 2024-09-20 06:10:34 +00:00
70 lines
1.5 KiB
Vue
70 lines
1.5 KiB
Vue
<script setup lang="ts">
|
|
import type { QueryBuilderParams } from '@nuxt/content/dist/runtime/types'
|
|
|
|
const query: QueryBuilderParams = {
|
|
path: '/',
|
|
sort: [{ sortDate: -1 }],
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<main id="portfolio">
|
|
<h1>Portfolio</h1>
|
|
<ul class="results col gap4">
|
|
<ContentList v-slot="{ list }" :query="query">
|
|
<li v-for="article in list" :key="article._path" class="interactive panel">
|
|
<NuxtLink :to="article._path">
|
|
<div class="wrap spaceBetween">
|
|
<h2 class="row gap1 centerChildren">
|
|
<img :src="article.image">
|
|
<span> {{ article.title }} </span>
|
|
</h2>
|
|
|
|
<div class="alignCenter wrap gap2">
|
|
<span v-for="(tag, i) in article.tags" :key="i" class="tag">
|
|
{{ tag }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
<p>{{ article.description }}</p>
|
|
</NuxtLink>
|
|
</li>
|
|
</ContentList>
|
|
</ul>
|
|
</main>
|
|
</template>
|
|
|
|
<style lang="scss">
|
|
#portfolio {
|
|
max-width: var(--content-width);
|
|
padding: 1rem 0;
|
|
|
|
.results {
|
|
max-width: var(--content-width);
|
|
list-style: none;
|
|
padding: 0;
|
|
|
|
> li {
|
|
&, & > * {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
img {
|
|
height: 1.5rem;
|
|
}
|
|
|
|
.tag {
|
|
background-color: var(--accent-light);
|
|
padding: .125rem .5rem;
|
|
border-radius: 1rem;
|
|
|
|
color: var(--accent-dark);
|
|
font-weight: bold;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|