- 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
19 lines
749 B
Vue
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>
|