Skip to content

Commit 8bbba99

Browse files
feat(layout): add support for markdown in news banner, add v2 news
1 parent 2f65f44 commit 8bbba99

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

src/lib/components/MarkdownRenderer.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*
66
* @component
77
*/
8+
import type { ClassValue } from "svelte/elements";
89
import Markdown, { type Plugin } from "svelte-exmarkdown";
910
import { gfmPlugin } from "svelte-exmarkdown/gfm";
1011
import rehypeRaw from "rehype-raw";
@@ -15,7 +16,7 @@
1516
inline?: boolean;
1617
parseRawHtml?: boolean;
1718
additionalPlugins?: Plugin[];
18-
class?: string | undefined | null;
19+
class?: ClassValue;
1920
};
2021
2122
let {

src/lib/news/news.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
"id": 3,
2121
"content": "New! Improved engine brings support for svelte-preprocess, rollup-plugin-svelte and prettier-plugin-svelte",
2222
"endDate": "2024-09-09"
23+
},
24+
{
25+
"id": 4,
26+
"content": "Svelte Changelog v2 is here. [Read the announcement](/blog/v2).",
27+
"endDate": "2025-05-01"
2328
}
2429
]
2530
}

src/routes/+layout.svelte

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import { ModeWatcher, resetMode, setMode } from "mode-watcher";
1111
import { news } from "$lib/news/news.json";
1212
import { cn } from "$lib/utils";
13+
import MarkdownRenderer from "$lib/components/MarkdownRenderer.svelte";
1314
import ScreenSize from "$lib/components/ScreenSize.svelte";
1415
import { buttonVariants, Button } from "$lib/components/ui/button";
1516
import { Toaster } from "$lib/components/ui/sonner";
@@ -193,7 +194,11 @@
193194
</div>
194195
{#if newsToDisplay}
195196
<div class="flex items-center bg-primary/90">
196-
<span class="mx-auto my-1 px-4 text-center">{newsToDisplay.content}</span>
197+
<MarkdownRenderer
198+
markdown={newsToDisplay.content}
199+
inline
200+
class="mx-auto my-1 px-4 text-center text-foreground prose-a:font-semibold prose-a:text-foreground prose-a:underline"
201+
/>
197202
<Button
198203
variant="ghost"
199204
class="mr-4 h-auto rounded-none px-3 py-2 transition-transform hover:scale-110 hover:rotate-90 hover:bg-background/0"

0 commit comments

Comments
 (0)