Files
vue-journal-layer/app/components/Journal/AuthorCard.vue
Jakub Zych 783426c5d8 feat: Journal author and tag pages, SEO, sitemap source and RSS route
- author pages resolve slug or login and canonicalise to the slug
- tag pages, per-page SEO meta and canonicals that keep ?page=N
- sitemap source pages the API and builds locs from journal.routes
- /rss.xml proxies the API feed with x-forwarded-for
- neutral README; version 0.1.0
2026-10-09 18:06:20 +02:00

19 lines
749 B
Vue

<script setup lang="ts">
// The author heading of an author page: the author's name from the public
// author endpoint. An app adds profile details by overriding this component
// or filling the default slot.
import type { JournalAuthor } from '../../utils/types.ts'
const props = defineProps<{ author: JournalAuthor; page?: number }>()
const name = computed(() => `${props.author.first_name} ${props.author.last_name}`.trim() || props.author.slug)
</script>
<template>
<header class="journal-author-card">
<h1 class="journal-author-card__name">
{{ $t('journal.author.title', { name }) }}<template v-if="page && page > 1"> · {{ $t('journal.pagination.pageTitle', { page }) }}</template>
</h1>
<slot />
</header>
</template>