Skip to content

Commit eede567

Browse files
refactor(details): replace home-made linkifiers with remark-github
Also fix incorrect bottom buttons links when referencing items from other repos
1 parent d8fc67f commit eede567

File tree

6 files changed

+62
-61
lines changed

6 files changed

+62
-61
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"prettier-plugin-svelte": "^3.4.0",
5454
"prettier-plugin-tailwindcss": "^0.6.12",
5555
"rehype-raw": "^7.0.0",
56+
"remark-github": "^12.0.0",
5657
"runed": "^0.28.0",
5758
"semver": "^7.7.2",
5859
"shiki": "^3.6.0",

pnpm-lock.yaml

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib/components/renderers/AnchorRenderer.svelte

Lines changed: 0 additions & 28 deletions
This file was deleted.

src/lib/components/renderers/BodyRenderer.svelte

Lines changed: 0 additions & 28 deletions
This file was deleted.

src/lib/server/github-cache.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,12 @@ export type DiscussionComment = {
113113
>;
114114

115115
export type LinkedItem = {
116+
repository: {
117+
owner: {
118+
login: string;
119+
};
120+
name: string;
121+
};
116122
number: number;
117123
title: string;
118124
author?: {
@@ -449,6 +455,12 @@ export class GitHubCache {
449455
... on ConnectedEvent {
450456
subject {
451457
... on PullRequest {
458+
repository {
459+
owner {
460+
login
461+
}
462+
name
463+
}
452464
number
453465
title
454466
author {
@@ -463,6 +475,12 @@ export class GitHubCache {
463475
... on CrossReferencedEvent {
464476
source {
465477
... on PullRequest {
478+
repository {
479+
owner {
480+
login
481+
}
482+
name
483+
}
466484
number
467485
title
468486
author {
@@ -524,6 +542,12 @@ export class GitHubCache {
524542
pullRequest(number: $prNumber) {
525543
closingIssuesReferences(first: 50) {
526544
nodes {
545+
repository {
546+
owner {
547+
login
548+
}
549+
name
550+
}
527551
number
528552
title
529553
author {

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

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import rehypeShikiFromHighlighter from "@shikijs/rehype/core";
3333
import { transformerNotationDiff } from "@shikijs/transformers";
3434
import posthog from "posthog-js";
35+
import remarkGithub from "remark-github";
3536
import type { SpecialLanguage } from "shiki";
3637
import type { Plugin } from "svelte-exmarkdown";
3738
import type {
@@ -51,8 +52,6 @@
5152
import Reactions from "$lib/components/Reactions.svelte";
5253
import Step from "$lib/components/Step.svelte";
5354
import Steps from "$lib/components/Steps.svelte";
54-
import AnchorRenderer from "$lib/components/renderers/AnchorRenderer.svelte";
55-
import BodyRenderer from "$lib/components/renderers/BodyRenderer.svelte";
5655
import BottomCollapsible from "./BottomCollapsible.svelte";
5756
5857
const shikiPlugin: Plugin = {
@@ -316,7 +315,15 @@
316315
markdown={entity.body || "_No description provided_"}
317316
parseRawHtml
318317
class="max-w-full text-base"
319-
additionalPlugins={[{ renderer: { p: BodyRenderer, a: AnchorRenderer } }, shikiPlugin]}
318+
additionalPlugins={[
319+
{
320+
remarkPlugin: [
321+
remarkGithub,
322+
{ repository: `${entity.repository.owner.login}/${entity.repository.name}` }
323+
]
324+
},
325+
shikiPlugin
326+
]}
320327
/>
321328
</Accordion.Content>
322329
</Accordion.Item>
@@ -388,7 +395,10 @@
388395
markdown={info.body || "_No description provided_"}
389396
parseRawHtml
390397
class="max-w-full"
391-
additionalPlugins={[{ renderer: { p: BodyRenderer, a: AnchorRenderer } }, shikiPlugin]}
398+
additionalPlugins={[
399+
{ remarkPlugin: [remarkGithub, { repository: `${metadata.org}/${metadata.repo}` }] },
400+
shikiPlugin
401+
]}
392402
/>
393403
{#if "reactions" in info}
394404
<Reactions reactions={info.reactions} release_url={info.html_url} class="mt-4" />
@@ -597,7 +607,7 @@
597607
<Button
598608
href="/{metadata.type === 'pull'
599609
? 'issues'
600-
: 'pull'}/{metadata.org}/{metadata.repo}/{closingIssue.number}"
610+
: 'pull'}/{closingIssue.repository.owner.login}/{closingIssue.repository.name}/{closingIssue.number}"
601611
variant="secondary"
602612
>
603613
Open {metadata.type === "pull" ? "issue" : "pull request"} #{closingIssue.number}

0 commit comments

Comments
 (0)