linkifier.ts (608B)
1 import {Inject, Pipe, PipeTransform} from '@angular/core'; 2 import * as linkify from 'linkifyjs'; 3 import * as linkifyStr from 'linkifyjs/string'; 4 import hashtag from 'linkifyjs/plugins/hashtag'; 5 import mention from 'linkifyjs/plugins/mention'; 6 import {DOCUMENT} from '@angular/common'; 7 8 @Pipe({name: 'linkify'}) 9 export class LinkifyPipe implements PipeTransform { 10 constructor( 11 @Inject(DOCUMENT) dom: Document) { 12 hashtag(linkify); 13 mention(linkify); 14 } 15 transform(str: string): string { 16 return str ? linkifyStr(str, {target: '_blank', attributes: {rel: 'noopener noreferrer'}}) : str; 17 } 18 }