Skip to content

Commit 458fc95

Browse files
Share md renderer, show Open details button on mobile
1 parent c440513 commit 458fc95

File tree

4 files changed

+18
-24
lines changed

4 files changed

+18
-24
lines changed
Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
<script lang="ts">
2-
import Markdown from "svelte-exmarkdown";
2+
/**
3+
* Markdown block using Marked.js under the hood, with custom renderers
4+
* for a cleaner look and using GitHub Flavored Markdown as an option
5+
*
6+
* @component
7+
*/
8+
import Markdown, { type Plugin } from "svelte-exmarkdown";
39
import { gfmPlugin } from "svelte-exmarkdown/gfm";
410
import { cn } from "$lib/utils";
511
612
export let markdown: string;
713
export let inline = false;
14+
export let additionalPlugins: Plugin[] = [];
815
916
let className: string | undefined | null = undefined;
1017
export { className as class };
@@ -17,5 +24,5 @@
1724
className
1825
)}
1926
>
20-
<Markdown md={markdown} plugins={[gfmPlugin()]} />
27+
<Markdown md={markdown} plugins={[gfmPlugin(), ...additionalPlugins]} />
2128
</span>

src/lib/renderers/ListElementRenderer.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@
3737
bind:this={data}
3838
class:dark:font-bold={data?.innerText.startsWith("breaking:")}
3939
class:font-semibold={data?.innerText.startsWith("breaking:")}
40-
class="group *:inline-block"
40+
class="group *:inline"
4141
>
4242
<slot />
4343
{#if allLinks.length > 0}
4444
<Button
4545
href={ghLinkToHref(allLinks[0] ?? "")}
4646
variant="link"
47-
class="ml-4 hidden h-auto -translate-x-2 p-0 opacity-0 transition-[transform,_opacity] duration-300 group-hover:translate-x-0 group-hover:opacity-100 md:inline-flex lg:mr-8"
47+
class="ml-2 !inline-flex h-auto p-0 transition-[transform,_opacity] duration-300 group-hover:translate-x-0 group-hover:opacity-100 md:ml-4 md:-translate-x-2 md:opacity-0 lg:mr-8"
4848
>
4949
Open details
5050
<ArrowRight class="ml-2 size-4" />

src/routes/+page.svelte

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
import ArrowUpRight from "lucide-svelte/icons/arrow-up-right";
55
import LoaderCircle from "lucide-svelte/icons/loader-circle";
66
import { MetaTags } from "svelte-meta-tags";
7-
import Markdown from "svelte-exmarkdown";
87
import semver from "semver";
9-
import { gfmPlugin } from "svelte-exmarkdown/gfm";
108
import type { Tab } from "../types";
119
import { localStorageStore } from "$lib/localStorageStore";
1210
import { tabState } from "$lib/tabState";
@@ -21,6 +19,7 @@
2119
import * as Tooltip from "$lib/components/ui/tooltip";
2220
import BlinkingBadge from "$lib/components/BlinkingBadge.svelte";
2321
import ListElementRenderer from "$lib/renderers/ListElementRenderer.svelte";
22+
import MarkdownRenderer from "$lib/components/MarkdownRenderer.svelte";
2423
2524
export let data;
2625
@@ -620,23 +619,11 @@
620619
<!-- Accordion content with markdown body and a link to open it on GitHub -->
621620
<Accordion.Content>
622621
<div class="flex flex-col gap-4 sm:flex-row sm:justify-between sm:gap-0">
623-
<div
624-
class="prose prose-sm max-w-full dark:prose-invert prose-p:my-0 prose-a:no-underline prose-a:underline-offset-4 hover:prose-a:underline"
625-
>
626-
<!-- Markdown block using Marked.js under the hood, with custom renderers -->
627-
<!-- for clean look and using GitHub Flavored Markdown as an option -->
628-
<Markdown
629-
md={releaseBody}
630-
plugins={[
631-
{
632-
renderer: {
633-
li: ListElementRenderer
634-
}
635-
},
636-
gfmPlugin()
637-
]}
638-
/>
639-
</div>
622+
<MarkdownRenderer
623+
markdown={releaseBody}
624+
additionalPlugins={[{ renderer: { li: ListElementRenderer } }]}
625+
class="prose-sm max-w-full prose-p:my-0"
626+
/>
640627
<!-- Open the release on GitHub in a new tab, with a nice hover animation -->
641628
<Button
642629
href={release.html_url}

src/routes/[pullOrIssue=poi]/[org]/[repo]/[id=number]/PageRenderer.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
import * as Avatar from "$lib/components/ui/avatar";
1313
import * as Tooltip from "$lib/components/ui/tooltip";
1414
import GHBadge from "$lib/components/GHBadge.svelte";
15+
import MarkdownRenderer from "$lib/components/MarkdownRenderer.svelte";
1516
import Step from "$lib/components/Step.svelte";
1617
import Steps from "$lib/components/Steps.svelte";
1718
import BottomCollapsible from "./BottomCollapsible.svelte";
18-
import MarkdownRenderer from "./MarkdownRenderer.svelte";
1919
2020
// Utils
2121
function formatToDateTime(date: string) {

0 commit comments

Comments
 (0)