| | |
| | | externalLinkIcon: true, |
| | | } |
| | | |
| | | export const CrawlLinks: QuartzTransformerPlugin<Partial<Options> | undefined> = (userOpts) => { |
| | | export const CrawlLinks: QuartzTransformerPlugin<Partial<Options>> = (userOpts) => { |
| | | const opts = { ...defaultOptions, ...userOpts } |
| | | return { |
| | | name: "LinkProcessing", |
| | |
| | | } |
| | | node.properties.className = classes |
| | | |
| | | if (opts.openLinksInNewTab) { |
| | | if (isExternal && opts.openLinksInNewTab) { |
| | | node.properties.target = "_blank" |
| | | } |
| | | |
| | |
| | | |
| | | // url.resolve is considered legacy |
| | | // WHATWG equivalent https://nodejs.dev/en/api/v18/url/#urlresolvefrom-to |
| | | const url = new URL(dest, `https://base.com/${curSlug}`) |
| | | const url = new URL(dest, "https://base.com/" + stripSlashes(curSlug, true)) |
| | | const canonicalDest = url.pathname |
| | | let [destCanonical, _destAnchor] = splitAnchor(canonicalDest) |
| | | if (destCanonical.endsWith("/")) { |