-
+
diff --git a/docs/.vitepress/vitepress/styles/content.scss b/docs/.vitepress/vitepress/styles/content.scss
index 1dd3b07a59..32419c5700 100644
--- a/docs/.vitepress/vitepress/styles/content.scss
+++ b/docs/.vitepress/vitepress/styles/content.scss
@@ -18,4 +18,14 @@
}
}
}
+
+ .doc-content a {
+ display: inline-flex;
+ align-items: center;
+ .link-icon {
+ margin-left: 0.25rem;
+ height: 1em;
+ width: 1em;
+ }
+ }
}
diff --git a/docs/.vitepress/vitepress/utils.ts b/docs/.vitepress/vitepress/utils.ts
index 9cd3cd4d9f..42043df0b1 100644
--- a/docs/.vitepress/vitepress/utils.ts
+++ b/docs/.vitepress/vitepress/utils.ts
@@ -4,6 +4,7 @@ import {
endingSlashRE,
isExternal,
} from 'vitepress/dist/client/theme-default/utils'
+import { inBrowser } from 'vitepress'
import type { Route } from 'vitepress'
@@ -69,3 +70,48 @@ export function createCrowdinUrl(targetLang: string) {
}
return `https://crowdin.com/translate/element-plus/all/en-${translateLang}`
}
+
+export function insertLinkIcon(contentRef: any) {
+ if (!inBrowser) return
+ const links = Array.from(
+ contentRef.value?.$el.querySelectorAll('a:not(.header-anchor)') ?? []
+ )
+
+ links.forEach((link: any) => {
+ if (
+ !link.href.startsWith(window.origin) &&
+ !link.innerHTML.includes('
![]()
+
+
+
+
+
+ `
+ }
+ })
+}