@banta/sdk 4.7.1 → 4.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,7 +34,7 @@ export class BantaMarkdownToHtmlPipe {
34
34
  const linkRenderer = this.renderer.link;
35
35
  this.renderer.link = (href, title, text) => {
36
36
  const html = linkRenderer.call(this.renderer, href, title, text);
37
- return html.replace(/^<a /, '<a target="_blank" rel="noopener nofollow" ');
37
+ return html.replace(/^<a /, '<a target="_blank" rel="noopener noreferrer nofollow" ');
38
38
  };
39
39
  }
40
40
  transform(value) {
@@ -48,7 +48,7 @@ export class BantaMarkdownToHtmlPipe {
48
48
  if ('target' in node) {
49
49
  node.setAttribute('target', '_blank');
50
50
  // prevent https://www.owasp.org/index.php/Reverse_Tabnabbing
51
- node.setAttribute('rel', 'noopener noreferrer');
51
+ node.setAttribute('rel', 'noopener noreferrer nofollow');
52
52
  }
53
53
  // set non-HTML/MathML links to xlink:show=new
54
54
  if (!node.hasAttribute('target')
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
73
73
  name: 'markdownToHtml'
74
74
  }]
75
75
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tdG8taHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbW9uL21hcmtkb3duLXRvLWh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLGVBQWUsTUFBTSxXQUFXLENBQUM7OztBQUd4QyxNQUFNLFNBQVMsR0FBRztJQUNkLElBQUksRUFBRSxXQUFXO0lBQ2pCLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDakIsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQywrQkFBK0I7UUFDOUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLEtBQUssRUFBRTtZQUNQLE9BQU87Z0JBQ0gsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNiLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSwrQkFBK0I7YUFDbEYsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFLO1FBQ1YsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzNELENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7Q0FDMUIsQ0FBQyxDQUFDO0FBS0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxZQUNZLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDaEMsWUFBWSxFQUFFLEVBQUU7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsNkNBQTZDLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUM7SUFDTixDQUFDO0lBR0QsU0FBUyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLEtBQUs7WUFDTixPQUFPLEVBQUUsQ0FBQztRQUVkLElBQUksUUFBUSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2Qyx1SEFBdUg7UUFDdkgsaURBQWlEO1FBQ2pELFFBQVEsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsVUFBUyxJQUF1QztZQUN4RixrREFBa0Q7WUFDbEQsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBQyxRQUFRLENBQUMsQ0FBQztnQkFDckMsNkRBQTZEO2dCQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO2FBQ25EO1lBQ0QsOENBQThDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQzttQkFDekIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQzt1QkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMxQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUN6QyxRQUFRLENBQUMsUUFBUSxDQUNiLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDMUIsQ0FBQyxFQUNGO1lBQ0ksV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3JDLFlBQVksRUFBRSxJQUFJO1NBQ3JCLENBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQzs7cUhBakRRLHVCQUF1QjttSEFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBSG5DLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIG1hcmtlZCBmcm9tICdtYXJrZWQnO1xyXG5pbXBvcnQgY3JlYXRlRE9NUHVyaWZ5IGZyb20gJ2RvbXB1cmlmeSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuY29uc3QgdW5kZXJsaW5lID0ge1xyXG4gICAgbmFtZTogJ3VuZGVybGluZScsXHJcbiAgICBsZXZlbDogJ2lubGluZScsIC8vIElzIHRoaXMgYSBibG9jay1sZXZlbCBvciBpbmxpbmUtbGV2ZWwgdG9rZW5pemVyP1xyXG4gICAgc3RhcnQoc3JjKSB7IHJldHVybiBzcmMubWF0Y2goL1xcK1xcKy8pPy5pbmRleDsgfSwgLy8gSGludCB0byBNYXJrZWQuanMgdG8gc3RvcCBhbmQgY2hlY2sgZm9yIGEgbWF0Y2hcclxuICAgIHRva2VuaXplcihzcmMsIHRva2Vucykge1xyXG4gICAgICAgIGNvbnN0IHJ1bGUgPSAvXlxcK1xcKyguKj8pXFwrXFwrLzsgLy8gUmVnZXggZm9yIHRoZSBjb21wbGV0ZSB0b2tlblxyXG4gICAgICAgIGNvbnN0IG1hdGNoID0gcnVsZS5leGVjKHNyYyk7XHJcbiAgICAgICAgaWYgKG1hdGNoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IC8vIFRva2VuIHRvIGdlbmVyYXRlXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndW5kZXJsaW5lJywgLy8gU2hvdWxkIG1hdGNoIFwibmFtZVwiIGFib3ZlXHJcbiAgICAgICAgICAgICAgICByYXc6IG1hdGNoWzBdLCAvLyBUZXh0IHRvIGNvbnN1bWUgZnJvbSB0aGUgc291cmNlXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLmxleGVyLmlubGluZVRva2VucyhtYXRjaFsxXS50cmltKCkpLCAvLyBBZGRpdGlvbmFsIGN1c3RvbSBwcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHJlbmRlcmVyKHRva2VuKSB7XHJcbiAgICAgICAgcmV0dXJuIGA8dT4ke3RoaXMucGFyc2VyLnBhcnNlSW5saW5lKHRva2VuLnRleHQpfTwvdT5gO1xyXG4gICAgfVxyXG59O1xyXG5cclxubWFya2VkLm1hcmtlZC51c2Uoe1xyXG4gICAgZXh0ZW5zaW9uczogW3VuZGVybGluZV1cclxufSk7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnbWFya2Rvd25Ub0h0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYW50YU1hcmtkb3duVG9IdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlciA9IG5ldyBtYXJrZWQuUmVuZGVyZXIoe1xyXG4gICAgICAgICAgICBoZWFkZXJQcmVmaXg6ICcnXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgbGlua1JlbmRlcmVyID0gdGhpcy5yZW5kZXJlci5saW5rO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIubGluayA9IChocmVmLCB0aXRsZSwgdGV4dCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBodG1sID0gbGlua1JlbmRlcmVyLmNhbGwodGhpcy5yZW5kZXJlciwgaHJlZiwgdGl0bGUsIHRleHQpO1xyXG4gICAgICAgICAgICByZXR1cm4gaHRtbC5yZXBsYWNlKC9ePGEgLywgJzxhIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vZm9sbG93XCIgJyk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXJlcjogbWFya2VkLlJlbmRlcmVyO1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIXZhbHVlKVxyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcblxyXG4gICAgICAgIGxldCBwdXJpZmllciA9IGNyZWF0ZURPTVB1cmlmeSh3aW5kb3cpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJlNTMvRE9NUHVyaWZ5L2Jsb2IvZTFjMTljZjY0MDdkNzgyYjY2NmNiMWQwMmE2YWYxOTFmOWNiYzA5ZS9kZW1vcy9ob29rcy10YXJnZXQtYmxhbmstZGVtby5odG1sXHJcbiAgICAgICAgLy8gQWRkIGEgaG9vayB0byBtYWtlIGFsbCBsaW5rcyBvcGVuIGEgbmV3IHdpbmRvd1xyXG4gICAgICAgIHB1cmlmaWVyLmFkZEhvb2soJ2FmdGVyU2FuaXRpemVBdHRyaWJ1dGVzJywgZnVuY3Rpb24obm9kZTogSFRNTEVsZW1lbnQgJiB7IHRhcmdldD86IHN0cmluZyB9KSB7XHJcbiAgICAgICAgICAgIC8vIHNldCBhbGwgZWxlbWVudHMgb3duaW5nIHRhcmdldCB0byB0YXJnZXQ9X2JsYW5rXHJcbiAgICAgICAgICAgIGlmICgndGFyZ2V0JyBpbiBub2RlKSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgndGFyZ2V0JywnX2JsYW5rJyk7XHJcbiAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGh0dHBzOi8vd3d3Lm93YXNwLm9yZy9pbmRleC5waHAvUmV2ZXJzZV9UYWJuYWJiaW5nXHJcbiAgICAgICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgncmVsJywgJ25vb3BlbmVyIG5vcmVmZXJyZXInKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBzZXQgbm9uLUhUTUwvTWF0aE1MIGxpbmtzIHRvIHhsaW5rOnNob3c9bmV3XHJcbiAgICAgICAgICAgIGlmICghbm9kZS5oYXNBdHRyaWJ1dGUoJ3RhcmdldCcpXHJcbiAgICAgICAgICAgICAgICAmJiAobm9kZS5oYXNBdHRyaWJ1dGUoJ3hsaW5rOmhyZWYnKVxyXG4gICAgICAgICAgICAgICAgICAgIHx8IG5vZGUuaGFzQXR0cmlidXRlKCdocmVmJykpKSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgneGxpbms6c2hvdycsICduZXcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXHJcbiAgICAgICAgICAgIHB1cmlmaWVyLnNhbml0aXplKFxyXG4gICAgICAgICAgICAgICAgbWFya2VkLm1hcmtlZC5wYXJzZSh2YWx1ZSwge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyOiB0aGlzLnJlbmRlcmVyXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBGT1JCSURfVEFHUzogWydoMScsICdoMicsICdoMycsICdoNCddLFxyXG4gICAgICAgICAgICAgICAgICAgIEtFRVBfQ09OVEVOVDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufSJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tdG8taHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbW9uL21hcmtkb3duLXRvLWh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLGVBQWUsTUFBTSxXQUFXLENBQUM7OztBQUd4QyxNQUFNLFNBQVMsR0FBRztJQUNkLElBQUksRUFBRSxXQUFXO0lBQ2pCLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDakIsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQywrQkFBK0I7UUFDOUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLEtBQUssRUFBRTtZQUNQLE9BQU87Z0JBQ0gsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNiLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSwrQkFBK0I7YUFDbEYsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFLO1FBQ1YsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzNELENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7Q0FDMUIsQ0FBQyxDQUFDO0FBS0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxZQUNZLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDaEMsWUFBWSxFQUFFLEVBQUU7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsd0RBQXdELENBQUMsQ0FBQztRQUMxRixDQUFDLENBQUM7SUFDTixDQUFDO0lBR0QsU0FBUyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLEtBQUs7WUFDTixPQUFPLEVBQUUsQ0FBQztRQUVkLElBQUksUUFBUSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2Qyx1SEFBdUg7UUFDdkgsaURBQWlEO1FBQ2pELFFBQVEsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsVUFBUyxJQUF1QztZQUN4RixrREFBa0Q7WUFDbEQsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBQyxRQUFRLENBQUMsQ0FBQztnQkFDckMsNkRBQTZEO2dCQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO2FBQzVEO1lBQ0QsOENBQThDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQzttQkFDekIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQzt1QkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMxQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUN6QyxRQUFRLENBQUMsUUFBUSxDQUNiLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDMUIsQ0FBQyxFQUNGO1lBQ0ksV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3JDLFlBQVksRUFBRSxJQUFJO1NBQ3JCLENBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQzs7cUhBakRRLHVCQUF1QjttSEFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBSG5DLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIG1hcmtlZCBmcm9tICdtYXJrZWQnO1xyXG5pbXBvcnQgY3JlYXRlRE9NUHVyaWZ5IGZyb20gJ2RvbXB1cmlmeSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuY29uc3QgdW5kZXJsaW5lID0ge1xyXG4gICAgbmFtZTogJ3VuZGVybGluZScsXHJcbiAgICBsZXZlbDogJ2lubGluZScsIC8vIElzIHRoaXMgYSBibG9jay1sZXZlbCBvciBpbmxpbmUtbGV2ZWwgdG9rZW5pemVyP1xyXG4gICAgc3RhcnQoc3JjKSB7IHJldHVybiBzcmMubWF0Y2goL1xcK1xcKy8pPy5pbmRleDsgfSwgLy8gSGludCB0byBNYXJrZWQuanMgdG8gc3RvcCBhbmQgY2hlY2sgZm9yIGEgbWF0Y2hcclxuICAgIHRva2VuaXplcihzcmMsIHRva2Vucykge1xyXG4gICAgICAgIGNvbnN0IHJ1bGUgPSAvXlxcK1xcKyguKj8pXFwrXFwrLzsgLy8gUmVnZXggZm9yIHRoZSBjb21wbGV0ZSB0b2tlblxyXG4gICAgICAgIGNvbnN0IG1hdGNoID0gcnVsZS5leGVjKHNyYyk7XHJcbiAgICAgICAgaWYgKG1hdGNoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IC8vIFRva2VuIHRvIGdlbmVyYXRlXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndW5kZXJsaW5lJywgLy8gU2hvdWxkIG1hdGNoIFwibmFtZVwiIGFib3ZlXHJcbiAgICAgICAgICAgICAgICByYXc6IG1hdGNoWzBdLCAvLyBUZXh0IHRvIGNvbnN1bWUgZnJvbSB0aGUgc291cmNlXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLmxleGVyLmlubGluZVRva2VucyhtYXRjaFsxXS50cmltKCkpLCAvLyBBZGRpdGlvbmFsIGN1c3RvbSBwcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHJlbmRlcmVyKHRva2VuKSB7XHJcbiAgICAgICAgcmV0dXJuIGA8dT4ke3RoaXMucGFyc2VyLnBhcnNlSW5saW5lKHRva2VuLnRleHQpfTwvdT5gO1xyXG4gICAgfVxyXG59O1xyXG5cclxubWFya2VkLm1hcmtlZC51c2Uoe1xyXG4gICAgZXh0ZW5zaW9uczogW3VuZGVybGluZV1cclxufSk7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnbWFya2Rvd25Ub0h0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYW50YU1hcmtkb3duVG9IdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlciA9IG5ldyBtYXJrZWQuUmVuZGVyZXIoe1xyXG4gICAgICAgICAgICBoZWFkZXJQcmVmaXg6ICcnXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgbGlua1JlbmRlcmVyID0gdGhpcy5yZW5kZXJlci5saW5rO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIubGluayA9IChocmVmLCB0aXRsZSwgdGV4dCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBodG1sID0gbGlua1JlbmRlcmVyLmNhbGwodGhpcy5yZW5kZXJlciwgaHJlZiwgdGl0bGUsIHRleHQpO1xyXG4gICAgICAgICAgICByZXR1cm4gaHRtbC5yZXBsYWNlKC9ePGEgLywgJzxhIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXIgbm9mb2xsb3dcIiAnKTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcmVyOiBtYXJrZWQuUmVuZGVyZXI7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIGlmICghdmFsdWUpXHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuXHJcbiAgICAgICAgbGV0IHB1cmlmaWVyID0gY3JlYXRlRE9NUHVyaWZ5KHdpbmRvdyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2N1cmU1My9ET01QdXJpZnkvYmxvYi9lMWMxOWNmNjQwN2Q3ODJiNjY2Y2IxZDAyYTZhZjE5MWY5Y2JjMDllL2RlbW9zL2hvb2tzLXRhcmdldC1ibGFuay1kZW1vLmh0bWxcclxuICAgICAgICAvLyBBZGQgYSBob29rIHRvIG1ha2UgYWxsIGxpbmtzIG9wZW4gYSBuZXcgd2luZG93XHJcbiAgICAgICAgcHVyaWZpZXIuYWRkSG9vaygnYWZ0ZXJTYW5pdGl6ZUF0dHJpYnV0ZXMnLCBmdW5jdGlvbihub2RlOiBIVE1MRWxlbWVudCAmIHsgdGFyZ2V0Pzogc3RyaW5nIH0pIHtcclxuICAgICAgICAgICAgLy8gc2V0IGFsbCBlbGVtZW50cyBvd25pbmcgdGFyZ2V0IHRvIHRhcmdldD1fYmxhbmtcclxuICAgICAgICAgICAgaWYgKCd0YXJnZXQnIGluIG5vZGUpIHtcclxuICAgICAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCdfYmxhbmsnKTtcclxuICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgaHR0cHM6Ly93d3cub3dhc3Aub3JnL2luZGV4LnBocC9SZXZlcnNlX1RhYm5hYmJpbmdcclxuICAgICAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKCdyZWwnLCAnbm9vcGVuZXIgbm9yZWZlcnJlciBub2ZvbGxvdycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIHNldCBub24tSFRNTC9NYXRoTUwgbGlua3MgdG8geGxpbms6c2hvdz1uZXdcclxuICAgICAgICAgICAgaWYgKCFub2RlLmhhc0F0dHJpYnV0ZSgndGFyZ2V0JylcclxuICAgICAgICAgICAgICAgICYmIChub2RlLmhhc0F0dHJpYnV0ZSgneGxpbms6aHJlZicpXHJcbiAgICAgICAgICAgICAgICAgICAgfHwgbm9kZS5oYXNBdHRyaWJ1dGUoJ2hyZWYnKSkpIHtcclxuICAgICAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKCd4bGluazpzaG93JywgJ25ldycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcclxuICAgICAgICAgICAgcHVyaWZpZXIuc2FuaXRpemUoXHJcbiAgICAgICAgICAgICAgICBtYXJrZWQubWFya2VkLnBhcnNlKHZhbHVlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXI6IHRoaXMucmVuZGVyZXJcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIEZPUkJJRF9UQUdTOiBbJ2gxJywgJ2gyJywgJ2gzJywgJ2g0J10sXHJcbiAgICAgICAgICAgICAgICAgICAgS0VFUF9DT05URU5UOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il19
@@ -3,7 +3,14 @@ export class YouTubeAttachmentResolver {
3
3
  if (fragment.type !== 'url')
4
4
  return null;
5
5
  let videoId;
6
- if (fragment.text.match(/https?:\/\/(www\.|m\.)?youtube.com\/watch\?v=/)) {
6
+ // https://youtu.be/jXzJ7FlqX6M
7
+ if (fragment.text.match(/^https:\/\/youtu\.be\//)) {
8
+ let match = /^https:\/\/youtu\.be\/([^\/]+)/.exec(fragment.text);
9
+ if (match) {
10
+ videoId = match[1];
11
+ }
12
+ }
13
+ if (!videoId && fragment.text.match(/^https?:\/\/(www\.|m\.)?youtube.com\/watch\?v=/)) {
7
14
  let match = /watch\?v=([^&]+)/.exec(fragment.text);
8
15
  if (match) {
9
16
  videoId = match[1];
@@ -19,4 +26,4 @@ export class YouTubeAttachmentResolver {
19
26
  return null;
20
27
  }
21
28
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW91dHViZS1hdHRhY2htZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL3lvdXR1YmUtYXR0YWNobWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQW9CLEVBQUUsUUFBNEI7UUFDcEUsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLEtBQUs7WUFDdkIsT0FBTyxJQUFJLENBQUM7UUFFaEIsSUFBSSxPQUFlLENBQUM7UUFFcEIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxFQUFFO1lBQ3RFLElBQUksS0FBSyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkQsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0QjtTQUNKO1FBRUQsSUFBSSxPQUFPLEVBQUU7WUFDVCxPQUFPO2dCQUNILElBQUksRUFBRSxRQUFRO2dCQUNkLEdBQUcsRUFBRSxpQ0FBaUMsT0FBTyxFQUFFO2dCQUMvQyxLQUFLLEVBQUUsT0FBTzthQUNqQixDQUFDO1NBQ0w7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VBdHRhY2htZW50IH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgQXR0YWNobWVudEZyYWdtZW50LCBBdHRhY2htZW50UmVzb2x2ZXIgfSBmcm9tIFwiLi9hdHRhY2htZW50LXNjcmFwZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBZb3VUdWJlQXR0YWNobWVudFJlc29sdmVyIGltcGxlbWVudHMgQXR0YWNobWVudFJlc29sdmVyIHtcclxuICAgIGFzeW5jIHJlc29sdmVGcmFnbWVudChtZXNzYWdlOiBDaGF0TWVzc2FnZSwgZnJhZ21lbnQ6IEF0dGFjaG1lbnRGcmFnbWVudCk6IFByb21pc2U8Q2hhdE1lc3NhZ2VBdHRhY2htZW50PiB7XHJcbiAgICAgICAgaWYgKGZyYWdtZW50LnR5cGUgIT09ICd1cmwnKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgbGV0IHZpZGVvSWQ6IHN0cmluZztcclxuXHJcbiAgICAgICAgaWYgKGZyYWdtZW50LnRleHQubWF0Y2goL2h0dHBzPzpcXC9cXC8od3d3XFwufG1cXC4pP3lvdXR1YmUuY29tXFwvd2F0Y2hcXD92PS8pKSB7XHJcbiAgICAgICAgICAgIGxldCBtYXRjaCA9IC93YXRjaFxcP3Y9KFteJl0rKS8uZXhlYyhmcmFnbWVudC50ZXh0KTtcclxuICAgICAgICAgICAgaWYgKG1hdGNoKSB7XHJcbiAgICAgICAgICAgICAgICB2aWRlb0lkID0gbWF0Y2hbMV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2aWRlb0lkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnaWZyYW1lJyxcclxuICAgICAgICAgICAgICAgIHVybDogYGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7dmlkZW9JZH1gLFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6ICdibG9jaydcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW91dHViZS1hdHRhY2htZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL3lvdXR1YmUtYXR0YWNobWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQW9CLEVBQUUsUUFBNEI7UUFDcEUsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLEtBQUs7WUFDdkIsT0FBTyxJQUFJLENBQUM7UUFFaEIsSUFBSSxPQUFlLENBQUM7UUFFcEIsK0JBQStCO1FBRS9CLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsRUFBRTtZQUMvQyxJQUFJLEtBQUssR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLElBQUksS0FBSyxFQUFFO2dCQUNQLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEI7U0FDSjtRQUVELElBQUksQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0RBQWdELENBQUMsRUFBRTtZQUNuRixJQUFJLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELElBQUksS0FBSyxFQUFFO2dCQUNQLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEI7U0FDSjtRQUVELElBQUksT0FBTyxFQUFFO1lBQ1QsT0FBTztnQkFDSCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxHQUFHLEVBQUUsaUNBQWlDLE9BQU8sRUFBRTtnQkFDL0MsS0FBSyxFQUFFLE9BQU87YUFDakIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdE1lc3NhZ2UsIENoYXRNZXNzYWdlQXR0YWNobWVudCB9IGZyb20gXCJAYmFudGEvY29tbW9uXCI7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRGcmFnbWVudCwgQXR0YWNobWVudFJlc29sdmVyIH0gZnJvbSBcIi4vYXR0YWNobWVudC1zY3JhcGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgWW91VHViZUF0dGFjaG1lbnRSZXNvbHZlciBpbXBsZW1lbnRzIEF0dGFjaG1lbnRSZXNvbHZlciB7XHJcbiAgICBhc3luYyByZXNvbHZlRnJhZ21lbnQobWVzc2FnZTogQ2hhdE1lc3NhZ2UsIGZyYWdtZW50OiBBdHRhY2htZW50RnJhZ21lbnQpOiBQcm9taXNlPENoYXRNZXNzYWdlQXR0YWNobWVudD4ge1xyXG4gICAgICAgIGlmIChmcmFnbWVudC50eXBlICE9PSAndXJsJylcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgIGxldCB2aWRlb0lkOiBzdHJpbmc7XHJcblxyXG4gICAgICAgIC8vIGh0dHBzOi8veW91dHUuYmUvalh6SjdGbHFYNk1cclxuXHJcbiAgICAgICAgaWYgKGZyYWdtZW50LnRleHQubWF0Y2goL15odHRwczpcXC9cXC95b3V0dVxcLmJlXFwvLykpIHtcclxuICAgICAgICAgICAgbGV0IG1hdGNoID0gL15odHRwczpcXC9cXC95b3V0dVxcLmJlXFwvKFteXFwvXSspLy5leGVjKGZyYWdtZW50LnRleHQpO1xyXG4gICAgICAgICAgICBpZiAobWF0Y2gpIHtcclxuICAgICAgICAgICAgICAgIHZpZGVvSWQgPSBtYXRjaFsxXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF2aWRlb0lkICYmIGZyYWdtZW50LnRleHQubWF0Y2goL15odHRwcz86XFwvXFwvKHd3d1xcLnxtXFwuKT95b3V0dWJlLmNvbVxcL3dhdGNoXFw/dj0vKSkge1xyXG4gICAgICAgICAgICBsZXQgbWF0Y2ggPSAvd2F0Y2hcXD92PShbXiZdKykvLmV4ZWMoZnJhZ21lbnQudGV4dCk7XHJcbiAgICAgICAgICAgIGlmIChtYXRjaCkge1xyXG4gICAgICAgICAgICAgICAgdmlkZW9JZCA9IG1hdGNoWzFdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmlkZW9JZCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2lmcmFtZScsXHJcbiAgICAgICAgICAgICAgICB1cmw6IGBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke3ZpZGVvSWR9YCxcclxuICAgICAgICAgICAgICAgIHN0eWxlOiAnYmxvY2snXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -224,7 +224,7 @@ class BantaMarkdownToHtmlPipe {
224
224
  const linkRenderer = this.renderer.link;
225
225
  this.renderer.link = (href, title, text) => {
226
226
  const html = linkRenderer.call(this.renderer, href, title, text);
227
- return html.replace(/^<a /, '<a target="_blank" rel="noopener nofollow" ');
227
+ return html.replace(/^<a /, '<a target="_blank" rel="noopener noreferrer nofollow" ');
228
228
  };
229
229
  }
230
230
  transform(value) {
@@ -238,7 +238,7 @@ class BantaMarkdownToHtmlPipe {
238
238
  if ('target' in node) {
239
239
  node.setAttribute('target', '_blank');
240
240
  // prevent https://www.owasp.org/index.php/Reverse_Tabnabbing
241
- node.setAttribute('rel', 'noopener noreferrer');
241
+ node.setAttribute('rel', 'noopener noreferrer nofollow');
242
242
  }
243
243
  // set non-HTML/MathML links to xlink:show=new
244
244
  if (!node.hasAttribute('target')
@@ -10466,7 +10466,14 @@ class YouTubeAttachmentResolver {
10466
10466
  if (fragment.type !== 'url')
10467
10467
  return null;
10468
10468
  let videoId;
10469
- if (fragment.text.match(/https?:\/\/(www\.|m\.)?youtube.com\/watch\?v=/)) {
10469
+ // https://youtu.be/jXzJ7FlqX6M
10470
+ if (fragment.text.match(/^https:\/\/youtu\.be\//)) {
10471
+ let match = /^https:\/\/youtu\.be\/([^\/]+)/.exec(fragment.text);
10472
+ if (match) {
10473
+ videoId = match[1];
10474
+ }
10475
+ }
10476
+ if (!videoId && fragment.text.match(/^https?:\/\/(www\.|m\.)?youtube.com\/watch\?v=/)) {
10470
10477
  let match = /watch\?v=([^&]+)/.exec(fragment.text);
10471
10478
  if (match) {
10472
10479
  videoId = match[1];