Make anchor links base uri independent

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Tilman Vatteroth 2021-07-26 22:29:24 +02:00
parent 9f65e64b01
commit c767bad386
No known key found for this signature in database
GPG key ID: B97799103358209B

View file

@ -575,6 +575,14 @@ export function postProcess (code) {
// also add noopener to prevent clickjacking // also add noopener to prevent clickjacking
// See details: https://mathiasbynens.github.io/rel-noopener/ // See details: https://mathiasbynens.github.io/rel-noopener/
result.find('a:not([href^="#"]):not([target])').attr('target', '_blank').attr('rel', 'noopener') result.find('a:not([href^="#"]):not([target])').attr('target', '_blank').attr('rel', 'noopener')
// If it's hashtag link then make it base uri independent
result.find('a[href^="#"]').each((index, linkTag) => {
const currentLocation = new URL(window.location)
currentLocation.hash = linkTag.hash
linkTag.href = currentLocation.toString()
})
// update continue line numbers // update continue line numbers
const linenumberdivs = result.find('.gutter.linenumber').toArray() const linenumberdivs = result.find('.gutter.linenumber').toArray()
for (let i = 0; i < linenumberdivs.length; i++) { for (let i = 0; i < linenumberdivs.length; i++) {