Skip to content

Commit 1fd997c

Browse files
fix(external_link): noopenner should be noopener (#5729)
* fix(external_link): noopenner should be noopener * fix(external_link): update tests
1 parent 3634960 commit 1fd997c

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

lib/plugins/filter/after_post_render/external_link.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function externalLinkFilter(this: Hexo, data: RenderData): void {
2323

2424
if (rRelAttr.test(str)) {
2525
str = str.replace(rRelStrAttr, (relStr, rel) => {
26-
return rel.includes('noopenner') ? relStr : `rel="${rel} noopener"`;
26+
return rel.includes('noopener') ? relStr : `rel="${rel} noopener"`;
2727
});
2828
return str.replace('href=', 'target="_blank" href=');
2929
}

lib/plugins/filter/after_render/external_link.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const rRelAttr = /rel=/i;
88
const rRelStrAttr = /rel=["']([^<>"']*)["']/i;
99

1010
const addNoopener = (relStr: string, rel: string) => {
11-
return rel.includes('noopenner') ? relStr : `rel="${rel} noopener"`;
11+
return rel.includes('noopener') ? relStr : `rel="${rel} noopener"`;
1212
};
1313

1414
function externalLinkFilter(this: Hexo, data: string): string {

test/scripts/filters/external_link.ts

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ describe('External link', () => {
5656
'2. External link with "rel" Attribute',
5757
'<a rel="external" href="https://hexo.io/">Hexo</a>',
5858
'<a href="https://hexo.io/" rel="external">Hexo</a>',
59-
'<a rel="noopenner" href="https://hexo.io/">Hexo</a>',
60-
'<a href="https://hexo.io/" rel="noopenner">Hexo</a>',
61-
'<a rel="external noopenner" href="https://hexo.io/">Hexo</a>',
62-
'<a href="https://hexo.io/" rel="external noopenner">Hexo</a>',
59+
'<a rel="noopener" href="https://hexo.io/">Hexo</a>',
60+
'<a href="https://hexo.io/" rel="noopener">Hexo</a>',
61+
'<a rel="external noopener" href="https://hexo.io/">Hexo</a>',
62+
'<a href="https://hexo.io/" rel="external noopener">Hexo</a>',
6363
'3. External link with Other Attributes',
6464
'<a class="img" href="https://hexo.io/">Hexo</a>',
6565
'<a href="https://hexo.io/" class="img">Hexo</a>',
@@ -82,10 +82,10 @@ describe('External link', () => {
8282
'2. External link with "rel" Attribute',
8383
'<a rel="external noopener" target="_blank" href="https://hexo.io/">Hexo</a>',
8484
'<a target="_blank" href="https://hexo.io/" rel="external noopener">Hexo</a>',
85-
'<a rel="noopenner" target="_blank" href="https://hexo.io/">Hexo</a>',
86-
'<a target="_blank" href="https://hexo.io/" rel="noopenner">Hexo</a>',
87-
'<a rel="external noopenner" target="_blank" href="https://hexo.io/">Hexo</a>',
88-
'<a target="_blank" href="https://hexo.io/" rel="external noopenner">Hexo</a>',
85+
'<a rel="noopener" target="_blank" href="https://hexo.io/">Hexo</a>',
86+
'<a target="_blank" href="https://hexo.io/" rel="noopener">Hexo</a>',
87+
'<a rel="external noopener" target="_blank" href="https://hexo.io/">Hexo</a>',
88+
'<a target="_blank" href="https://hexo.io/" rel="external noopener">Hexo</a>',
8989
'3. External link with Other Attributes',
9090
'<a class="img" target="_blank" rel="noopener" href="https://hexo.io/">Hexo</a>',
9191
'<a target="_blank" rel="noopener" href="https://hexo.io/" class="img">Hexo</a>',
@@ -198,10 +198,10 @@ describe('External link - post', () => {
198198
'3. External link with "rel" Attribute',
199199
'<a rel="external" href="https://hexo.io/">Hexo</a>',
200200
'<a href="https://hexo.io/" rel="external">Hexo</a>',
201-
'<a rel="noopenner" href="https://hexo.io/">Hexo</a>',
202-
'<a href="https://hexo.io/" rel="noopenner">Hexo</a>',
203-
'<a rel="external noopenner" href="https://hexo.io/">Hexo</a>',
204-
'<a href="https://hexo.io/" rel="external noopenner">Hexo</a>',
201+
'<a rel="noopener" href="https://hexo.io/">Hexo</a>',
202+
'<a href="https://hexo.io/" rel="noopener">Hexo</a>',
203+
'<a rel="external noopener" href="https://hexo.io/">Hexo</a>',
204+
'<a href="https://hexo.io/" rel="external noopener">Hexo</a>',
205205
'4. External link with Other Attributes',
206206
'<a class="img" href="https://hexo.io/">Hexo</a>',
207207
'<a href="https://hexo.io/" class="img">Hexo</a>',
@@ -229,10 +229,10 @@ describe('External link - post', () => {
229229
'3. External link with "rel" Attribute',
230230
'<a rel="external noopener" target="_blank" href="https://hexo.io/">Hexo</a>',
231231
'<a target="_blank" href="https://hexo.io/" rel="external noopener">Hexo</a>',
232-
'<a rel="noopenner" target="_blank" href="https://hexo.io/">Hexo</a>',
233-
'<a target="_blank" href="https://hexo.io/" rel="noopenner">Hexo</a>',
234-
'<a rel="external noopenner" target="_blank" href="https://hexo.io/">Hexo</a>',
235-
'<a target="_blank" href="https://hexo.io/" rel="external noopenner">Hexo</a>',
232+
'<a rel="noopener" target="_blank" href="https://hexo.io/">Hexo</a>',
233+
'<a target="_blank" href="https://hexo.io/" rel="noopener">Hexo</a>',
234+
'<a rel="external noopener" target="_blank" href="https://hexo.io/">Hexo</a>',
235+
'<a target="_blank" href="https://hexo.io/" rel="external noopener">Hexo</a>',
236236
'4. External link with Other Attributes',
237237
'<a class="img" target="_blank" rel="noopener" href="https://hexo.io/">Hexo</a>',
238238
'<a target="_blank" rel="noopener" href="https://hexo.io/" class="img">Hexo</a>',

0 commit comments

Comments
 (0)