Cards!
All checks were successful
Build and Deploy Nuxt / build (push) Successful in 2m26s

This commit is contained in:
2026-09-20 03:15:16 +02:00
parent ed187af3dd
commit 770f302bc3
34 changed files with 3302 additions and 677 deletions

View File

@@ -165,118 +165,118 @@ const sectionTargets = {
</script>
<template>
<TableHeader></TableHeader>
<h1 style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;">Aran Roig — Developer, Artist & Designer</h1>
<div id="top" style="scroll-margin-top: 60px;">&nbsp;</div>
<TableHeader></TableHeader>
<h1 style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;">Aran Roig — Developer, Artist & Designer</h1>
<div id="top" style="scroll-margin-top: 60px;">&nbsp;</div>
<FixedLayout>
<section class="intro-section">
<div class="intro-layout">
<div class="intro-content">
<Container>
<ContentRenderer v-if="markdown" :value="markdown"></ContentRenderer>
</Container>
<FixedLayout>
<section class="intro-section">
<div class="intro-layout">
<div class="intro-content">
<Container>
<ContentRenderer v-if="markdown" :value="markdown"></ContentRenderer>
</Container>
</div>
<div class="intro-sidebar">
<ServerStatus />
</div>
</div>
<div class="intro-sidebar">
<ServerStatus />
</div>
</div>
</section>
</section>
<section class="normal-section" id="place">
<Container>
<h2 class="section-title">{{ t('pages.place_heading') }}</h2>
<Place></Place>
</Container>
</section>
<section class="normal-section" id="place">
<Container>
<h2 class="section-title">{{ t('pages.place_heading') }}</h2>
<Place></Place>
</Container>
</section>
<section class="normal-section projects-section" id="scroll-projects" v-if="projects && projects.length > 0">
<Container>
<h2 class="section-title">{{ t('pages.projects_heading') }}</h2>
<div class="projects-grid">
<div
v-for="project in projects"
:key="project.slug"
class="project-card-wrapper"
>
<section class="normal-section projects-section" id="scroll-projects" v-if="projects && projects.length > 0">
<Container>
<h2 class="section-title">{{ t('pages.projects_heading') }}</h2>
<div class="projects-grid">
<div
class="project-card"
@click="navigateToProject(project)"
v-for="project in projects"
:key="project.slug"
class="project-card-wrapper"
>
<div class="project-layout">
<img
v-if="project.preview"
:src="project.preview"
:alt="`Preview of ${project.title}`"
class="project-preview"
/>
<div class="project-info">
<p class="project-title">{{ project.title }}</p>
<p class="project-description">{{ project.description }}</p>
<div class="project-tech">
<span v-for="tech in project.tech" :key="tech" class="tech-tag">{{ tech }}</span>
<div
class="project-card"
@click="navigateToProject(project)"
>
<div class="project-layout">
<img
v-if="project.preview"
:src="project.preview"
:alt="`Preview of ${project.title}`"
class="project-preview"
/>
<div class="project-info">
<p class="project-title">{{ project.title }}</p>
<p class="project-description">{{ project.description }}</p>
<div class="project-tech">
<span v-for="tech in project.tech" :key="tech" class="tech-tag">{{ tech }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</Container>
</section>
</Container>
</section>
<section class="normal-section" id="scroll-blog">
<Container>
<h2 class="section-title">{{ t('pages.blog_heading') }}</h2>
<ul class="tui-list">
<li v-for="post in displayedBlogPosts" :key="post.slug" class="blog-entry">
<NuxtLink :to="localePath({ name: 'blog-slug', params: { slug: post.slug } })" class="entry-link">
<span class="entry-title">{{ post.title }}</span>
<section class="normal-section" id="scroll-blog">
<Container>
<h2 class="section-title">{{ t('pages.blog_heading') }}</h2>
<ul class="tui-list">
<li v-for="post in displayedBlogPosts" :key="post.slug" class="blog-entry">
<NuxtLink :to="localePath({ name: 'blog-slug', params: { slug: post.slug } })" class="entry-link">
<span class="entry-title">{{ post.title }}</span>
</NuxtLink>
<span class="entry-meta">[{{ post.date }}] {{ post.description }}</span>
</li>
</ul>
<p v-if="posts && posts.length > 0" class="show-more-link">
<NuxtLink :to="localePath('/blog')" class="tui-link">{{ t('pages.show_more') }}</NuxtLink>
</p>
</Container>
</section>
<section class="normal-section" id="scroll-art">
<Container>
<h2 class="section-title">{{ t('pages.art_heading') }}</h2>
<div class="grid">
<NuxtLink v-for="art in displayedArtPosts" :key="art.slug"
class="selector"
:to="localePath(`/art/${art.slug}`)">
<span class="selector-border-top" aria-hidden="true">────────</span>
<img
:src="art.thumb"
:alt="art.title"
class="selector-img"
/>
<span class="selector-border-bottom" aria-hidden="true">────────</span>
<div class="overlay-label">{{ art.title }}</div>
</NuxtLink>
<span class="entry-meta">[{{ post.date }}] {{ post.description }}</span>
</li>
</ul>
<p v-if="posts && posts.length > 0" class="show-more-link">
<NuxtLink :to="localePath('/blog')" class="tui-link">{{ t('pages.show_more') }}</NuxtLink>
</p>
</Container>
</section>
</div>
<p v-if="artPosts && artPosts.length > 0" class="show-more-link">
<NuxtLink :to="localePath('/art')" class="tui-link">{{ t('pages.show_more') }}</NuxtLink>
</p>
</Container>
</section>
<section class="normal-section" id="scroll-art">
<Container>
<h2 class="section-title">{{ t('pages.art_heading') }}</h2>
<div class="grid">
<NuxtLink v-for="art in displayedArtPosts" :key="art.slug"
class="selector"
:to="localePath(`/art/${art.slug}`)">
<span class="selector-border-top" aria-hidden="true">────────</span>
<img
:src="art.thumb"
:alt="art.title"
class="selector-img"
/>
<span class="selector-border-bottom" aria-hidden="true">────────</span>
<div class="overlay-label">{{ art.title }}</div>
</NuxtLink>
</div>
<p v-if="artPosts && artPosts.length > 0" class="show-more-link">
<NuxtLink :to="localePath('/art')" class="tui-link">{{ t('pages.show_more') }}</NuxtLink>
</p>
</Container>
</section>
<section class="normal-section" id="scroll-contact">
<Container>
<h2 class="section-title">{{ t('pages.contact_heading') }}</h2>
<ContentRenderer v-if="contactMarkdown" :value="contactMarkdown"></ContentRenderer>
<ContactLinks />
</Container>
</section>
</FixedLayout>
<Footer></Footer>
<section class="normal-section" id="scroll-contact">
<Container>
<h2 class="section-title">{{ t('pages.contact_heading') }}</h2>
<ContentRenderer v-if="contactMarkdown" :value="contactMarkdown"></ContentRenderer>
<ContactLinks />
</Container>
</section>
</FixedLayout>
<Footer></Footer>
</template>
<style lang="scss" scoped>