Browse Source

feat: make relative links root absolute option

pull/1365/head
NGPixel 4 years ago
parent
commit
edd11cd73f
2 changed files with 17 additions and 3 deletions
  1. 8
      server/modules/rendering/html-core/definition.yml
  2. 12
      server/modules/rendering/html-core/renderer.js

8
server/modules/rendering/html-core/definition.yml

@ -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

12
server/modules/rendering/html-core/renderer.js

@ -69,7 +69,11 @@ module.exports = {
if (WIKI.config.lang.namespacing) {
// -> Reformat paths
if (href.indexOf('/') !== 0) {
href = (this.page.path === 'home') ? `/${this.page.localeCode}/${href}` : `/${this.page.localeCode}/${this.page.path}/${href}`
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,7 +87,11 @@ module.exports = {
} else {
// -> Reformat paths
if (href.indexOf('/') !== 0) {
href = (this.page.path === 'home') ? `/${href}` : `/${this.page.path}/${href}`
if (this.config.absoluteLinks) {
href = `/${href}`
} else {
href = (this.page.path === 'home') ? `/${href}` : `/${this.page.path}/${href}`
}
}
try {

Loading…
Cancel
Save