feat: openLinksInNewTab option for link transformer
This commit is contained in:
		@@ -18,11 +18,13 @@ interface Options {
 | 
			
		||||
  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) => {
 | 
			
		||||
@@ -52,6 +54,10 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options> | undefined> =
 | 
			
		||||
                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) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user