Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b24f4560f |
@@ -1,6 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { onMount, untrack } from 'svelte';
|
||||
import { goto, invalidateAll } from '$app/navigation';
|
||||
import { page } from '$app/state';
|
||||
import type { PageData } from './$types';
|
||||
import CommentsSection from '$lib/components/CommentsSection.svelte';
|
||||
import StarRating from '$lib/components/StarRating.svelte';
|
||||
@@ -660,6 +661,28 @@
|
||||
|
||||
<svelte:head>
|
||||
<title>{data.scraping ? m.book_detail_scraping() : (data.book?.title ?? 'Book')} — libnovel</title>
|
||||
{#if data.book && !data.scraping}
|
||||
{@const ogTitle = `${data.book.title} — libnovel`}
|
||||
{@const ogDesc = data.book.summary ? (data.book.summary.length > 200 ? data.book.summary.slice(0, 200) + '…' : data.book.summary) : `${data.book.total_chapters} chapters · ${data.book.author}`}
|
||||
{@const ogUrl = `${page.url.origin}/books/${data.book.slug}`}
|
||||
<link rel="canonical" href={ogUrl} />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:site_name" content="libnovel" />
|
||||
<meta property="og:url" content={ogUrl} />
|
||||
<meta property="og:title" content={ogTitle} />
|
||||
<meta property="og:description" content={ogDesc} />
|
||||
{#if data.book.cover}
|
||||
<meta property="og:image" content={data.book.cover} />
|
||||
<meta property="og:image:width" content="300" />
|
||||
<meta property="og:image:height" content="450" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:image" content={data.book.cover} />
|
||||
{:else}
|
||||
<meta name="twitter:card" content="summary" />
|
||||
{/if}
|
||||
<meta name="twitter:title" content={ogTitle} />
|
||||
<meta name="twitter:description" content={ogDesc} />
|
||||
{/if}
|
||||
</svelte:head>
|
||||
|
||||
{#if data.scraping}
|
||||
|
||||
@@ -332,6 +332,23 @@
|
||||
|
||||
<svelte:head>
|
||||
<title>{cleanTitle} — {data.book.title} — libnovel</title>
|
||||
<link rel="canonical" href="{page.url.origin}/books/{data.book.slug}/chapters/{data.chapter.number}" />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:site_name" content="libnovel" />
|
||||
<meta property="og:url" content="{page.url.origin}/books/{data.book.slug}/chapters/{data.chapter.number}" />
|
||||
<meta property="og:title" content="{cleanTitle} — {data.book.title} — libnovel" />
|
||||
<meta property="og:description" content="Chapter {data.chapter.number} of {data.book.title}" />
|
||||
{#if data.book.cover}
|
||||
<meta property="og:image" content={data.book.cover} />
|
||||
<meta property="og:image:width" content="300" />
|
||||
<meta property="og:image:height" content="450" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:image" content={data.book.cover} />
|
||||
{:else}
|
||||
<meta name="twitter:card" content="summary" />
|
||||
{/if}
|
||||
<meta name="twitter:title" content="{cleanTitle} — {data.book.title} — libnovel" />
|
||||
<meta name="twitter:description" content="Chapter {data.chapter.number} of {data.book.title}" />
|
||||
</svelte:head>
|
||||
|
||||
<!-- Reading progress bar (scroll mode, fixed at top of viewport) -->
|
||||
|
||||
Reference in New Issue
Block a user