| | |
| | | markdownLinkResolution: TransformOptions["strategy"] |
| | | /** Strips folders from a link so that it looks nice */ |
| | | prettyLinks: boolean |
| | | openLinksInNewTab: boolean |
| | | } |
| | | |
| | | const defaultOptions: Options = { |
| | | markdownLinkResolution: "absolute", |
| | | prettyLinks: true, |
| | | openLinksInNewTab: false, |
| | | } |
| | | |
| | | export const CrawlLinks: QuartzTransformerPlugin<Partial<Options> | undefined> = (userOpts) => { |
| | |
| | | node.properties.className ??= [] |
| | | node.properties.className.push(isAbsoluteUrl(dest) ? "external" : "internal") |
| | | |
| | | if (opts.openLinksInNewTab) { |
| | | node.properties.target = "_blank" |
| | | } |
| | | |
| | | // don't process external links or intra-document anchors |
| | | const isInternal = !(isAbsoluteUrl(dest) || dest.startsWith("#")) |
| | | if (isInternal) { |