@turnipxenon/pineapple 4.1.4 → 4.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/overrideable_meta/OverridableMeta.svelte +22 -35
- package/dist/modules/overrideable_meta/OverridableMeta.svelte.d.ts +1 -1
- package/dist/modules/parsnip/route-util/ParsnipBlog.svelte +1 -1
- package/dist/ui/templates/PinyaBase.svelte +15 -1
- package/dist/ui/templates/runes.svelte.d.ts +8 -0
- package/dist/ui/templates/runes.svelte.js +9 -0
- package/package.json +1 -1
|
@@ -17,50 +17,37 @@ export const load = async (): Promise<OverridableMetaProps> => {
|
|
|
17
17
|
-->
|
|
18
18
|
|
|
19
19
|
<script lang="ts">
|
|
20
|
-
import
|
|
20
|
+
import { pinyaHead } from "../../ui/templates/runes.svelte";
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
import { page } from "$app/stores";
|
|
24
|
-
import type { OverridableMetaProps } from "./OverridableMetaProps";
|
|
25
22
|
interface Props {
|
|
26
23
|
rootUrl?: string;
|
|
27
24
|
title?: string;
|
|
28
25
|
ogTitle?: string;
|
|
29
26
|
ogDescription?: string;
|
|
30
|
-
ogImage?:
|
|
27
|
+
ogImage?: string[];
|
|
31
28
|
}
|
|
32
29
|
|
|
33
30
|
let {
|
|
34
|
-
rootUrl =
|
|
35
|
-
title =
|
|
36
|
-
ogTitle =
|
|
37
|
-
ogDescription =
|
|
38
|
-
ogImage =
|
|
31
|
+
rootUrl = undefined,
|
|
32
|
+
title = undefined,
|
|
33
|
+
ogTitle = undefined,
|
|
34
|
+
ogDescription = undefined,
|
|
35
|
+
ogImage = undefined
|
|
39
36
|
}: Props = $props();
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
38
|
+
if (rootUrl) {
|
|
39
|
+
pinyaHead.rootUrl = rootUrl;
|
|
40
|
+
}
|
|
41
|
+
if (title) {
|
|
42
|
+
pinyaHead.title = title;
|
|
43
|
+
}
|
|
44
|
+
if (ogTitle) {
|
|
45
|
+
pinyaHead.ogTitle = ogTitle;
|
|
46
|
+
}
|
|
47
|
+
if (ogDescription) {
|
|
48
|
+
pinyaHead.ogDescription = ogDescription;
|
|
49
|
+
}
|
|
50
|
+
if (ogImage) {
|
|
51
|
+
pinyaHead.ogImage = ogImage;
|
|
52
|
+
}
|
|
56
53
|
</script>
|
|
57
|
-
|
|
58
|
-
<svelte:head>
|
|
59
|
-
<meta charset="utf-8" />
|
|
60
|
-
<title>{data.title}</title>
|
|
61
|
-
<meta name="twitter:card" content="summary" />
|
|
62
|
-
<meta property="og:url" content={data.ogUrl} />
|
|
63
|
-
<meta property="og:title" content={data.ogTitle} />
|
|
64
|
-
<meta property="og:description" content={data.ogDescription} />
|
|
65
|
-
<meta property="og:image" content={data.ogImage} />
|
|
66
|
-
</svelte:head>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
title={parsnipEntry.basename}
|
|
23
23
|
ogTitle={parsnipEntry.basename}
|
|
24
24
|
ogDescription={parsnipEntry.tagline}
|
|
25
|
-
ogImage={`${getCmsBaseUrl()}/${parsnipEntry.preview}`}
|
|
25
|
+
ogImage={[`${getCmsBaseUrl()}/${parsnipEntry.preview}`]}
|
|
26
26
|
/>
|
|
27
27
|
|
|
28
28
|
<BlogTemplate pageMeta={pageMeta}>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { pinyaHead } from "./runes.svelte";
|
|
2
3
|
import { ModeWatcher } from "mode-watcher";
|
|
3
4
|
import { Modals } from "svelte-modals";
|
|
4
5
|
import { page } from "$app/state";
|
|
@@ -9,8 +10,21 @@
|
|
|
9
10
|
import { ToastProvider } from "@skeletonlabs/skeleton-svelte";
|
|
10
11
|
|
|
11
12
|
let { children } = $props();
|
|
13
|
+
|
|
14
|
+
const ogUrl = $derived(`${pinyaHead.rootUrl}${page.url.pathname}`);
|
|
12
15
|
</script>
|
|
13
16
|
|
|
17
|
+
<svelte:head>
|
|
18
|
+
<meta charset="utf-8" />
|
|
19
|
+
<title>{pinyaHead.title}</title>
|
|
20
|
+
<meta property="og:url" content={ogUrl} />
|
|
21
|
+
<meta property="og:title" content={pinyaHead.ogTitle} />
|
|
22
|
+
<meta property="og:description" content={pinyaHead.ogDescription} />
|
|
23
|
+
{#each pinyaHead.ogImage ?? [] as imgUrl, idx (`${idx}_${imgUrl}`)}
|
|
24
|
+
<meta property="og:image" content={imgUrl} />
|
|
25
|
+
{/each}
|
|
26
|
+
</svelte:head>
|
|
27
|
+
|
|
14
28
|
<Modals>
|
|
15
29
|
<!-- shown when any modal is opened -->
|
|
16
30
|
{#snippet backdrop({ close })}
|
|
@@ -45,4 +59,4 @@
|
|
|
45
59
|
background: rgba(0, 0, 0, 0.50);
|
|
46
60
|
backdrop-filter: blur(4px);
|
|
47
61
|
}
|
|
48
|
-
</style>
|
|
62
|
+
</style>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import WebThumbnailImage from "../../assets/placeholder/placeholder_circle.png";
|
|
2
|
+
const defaultData = {
|
|
3
|
+
rootUrl: "http://localhost:5173",
|
|
4
|
+
title: "Welcome to my portfolio",
|
|
5
|
+
ogTitle: "Turnip time!",
|
|
6
|
+
ogDescription: "Welcome to Turnip's test portfolio",
|
|
7
|
+
ogImage: [WebThumbnailImage]
|
|
8
|
+
};
|
|
9
|
+
export const pinyaHead = $state({ ...defaultData });
|
package/package.json
CHANGED