summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop-electron/src/main/markdown.ts
blob: b956f487602271c7a948607f47104282111846b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { marked, type Tokens } from "marked"

const renderer = new marked.Renderer()

renderer.link = ({ href, title, text }: Tokens.Link) => {
  const titleAttr = title ? ` title="${title}"` : ""
  return `<a href="${href}"${titleAttr} class="external-link" target="_blank" rel="noopener noreferrer">${text}</a>`
}

export function parseMarkdown(input: string) {
  return marked(input, {
    renderer,
    breaks: false,
    gfm: true,
  })
}