diff options
Diffstat (limited to 'node_modules/vuepress/lib/default-theme/NavLink.vue')
| -rw-r--r-- | node_modules/vuepress/lib/default-theme/NavLink.vue | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/node_modules/vuepress/lib/default-theme/NavLink.vue b/node_modules/vuepress/lib/default-theme/NavLink.vue new file mode 100644 index 00000000..d9fa4886 --- /dev/null +++ b/node_modules/vuepress/lib/default-theme/NavLink.vue @@ -0,0 +1,49 @@ +<template> + <router-link + class="nav-link" + :to="link" + v-if="!isExternal(link)" + :exact="exact" + >{{ item.text }}</router-link> + <a + v-else + :href="link" + class="nav-link external" + :target="isMailto(link) || isTel(link) ? null : '_blank'" + :rel="isMailto(link) || isTel(link) ? null : 'noopener noreferrer'" + > + {{ item.text }} + <OutboundLink/> + </a> +</template> + +<script> +import { isExternal, isMailto, isTel, ensureExt } from './util' + +export default { + props: { + item: { + required: true + } + }, + + computed: { + link () { + return ensureExt(this.item.link) + }, + + exact () { + if (this.$site.locales) { + return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link) + } + return this.link === '/' + } + }, + + methods: { + isExternal, + isMailto, + isTel + } +} +</script> |
