mirror of
https://github.com/docsifyjs/docsify.git
synced 2025-12-08 19:55:52 +00:00
commit
378d7bb492
@ -418,6 +418,19 @@ window.$docsify = {
|
||||
};
|
||||
```
|
||||
|
||||
## externalLinkRel
|
||||
|
||||
- type: `String`
|
||||
- default: `noopener`
|
||||
|
||||
Default `'noopener'` (no opener) prevents the newly opened external page (when [externalLinkTarget](#externallinktarget) is `'_blank'`) from having the ability to control our page. No `rel` is set when its not `'_blank'`.
|
||||
|
||||
```js
|
||||
window.$docsify = {
|
||||
externalLinkTarget: '' // default: 'noopener'
|
||||
};
|
||||
```
|
||||
|
||||
## routerMode
|
||||
|
||||
- type: `String`
|
||||
|
||||
@ -27,6 +27,7 @@ export default function () {
|
||||
externalLinkTarget: '_blank',
|
||||
// this config for the corner
|
||||
cornerExternalLinkTarget: '_blank',
|
||||
externalLinkRel: 'noopener',
|
||||
routerMode: 'hash',
|
||||
noCompileLinks: [],
|
||||
relativePath: false
|
||||
|
||||
@ -78,6 +78,7 @@ export class Compiler {
|
||||
this.toc = []
|
||||
this.cacheTOC = {}
|
||||
this.linkTarget = config.externalLinkTarget || '_blank'
|
||||
this.linkRel = this.linkTarget === '_blank' ? (config.externalLinkRel || 'noopener') : ''
|
||||
this.contentBase = router.getBasePath()
|
||||
|
||||
const renderer = this._initRenderer()
|
||||
@ -185,7 +186,7 @@ export class Compiler {
|
||||
|
||||
_initRenderer() {
|
||||
const renderer = new marked.Renderer()
|
||||
const {linkTarget, router, contentBase} = this
|
||||
const {linkTarget, linkRel, router, contentBase} = this
|
||||
const _self = this
|
||||
const origin = {}
|
||||
|
||||
@ -243,6 +244,7 @@ export class Compiler {
|
||||
href = router.toURL(href, null, router.getCurrentPath())
|
||||
} else {
|
||||
attrs += href.indexOf('mailto:') === 0 ? '' : ` target="${linkTarget}"`
|
||||
attrs += href.indexOf('mailto:') === 0 ? '' : (linkRel !== '' ? ` rel="${linkRel}"` : '')
|
||||
}
|
||||
|
||||
if (config.target) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user