feat: make relative links root absolute option

This commit is contained in:
NGPixel 2020-01-02 20:30:48 -05:00
parent 661b6044fa
commit edd11cd73f
2 changed files with 17 additions and 3 deletions

View File

@ -5,4 +5,10 @@ author: requarks.io
input: html
output: html
icon: mdi-language-html5
props: {}
props:
absoluteLinks:
type: Boolean
default: false
title: Treat relative links as root absolute
hint: For example, a link to foo/bar on page xyz will render as /foo/bar instead of /xyz/foo/bar.
order: 1

View File

@ -69,7 +69,11 @@ module.exports = {
if (WIKI.config.lang.namespacing) {
// -> Reformat paths
if (href.indexOf('/') !== 0) {
if (this.config.absoluteLinks) {
href = `/${this.page.localeCode}/${href}`
} else {
href = (this.page.path === 'home') ? `/${this.page.localeCode}/${href}` : `/${this.page.localeCode}/${this.page.path}/${href}`
}
} else if (href.charAt(3) !== '/') {
href = `/${this.page.localeCode}${href}`
}
@ -83,8 +87,12 @@ module.exports = {
} else {
// -> Reformat paths
if (href.indexOf('/') !== 0) {
if (this.config.absoluteLinks) {
href = `/${href}`
} else {
href = (this.page.path === 'home') ? `/${href}` : `/${this.page.path}/${href}`
}
}
try {
const parsedUrl = new URL(`http://x${href}`)