UNPKG

ngx-showdown-angular-latest

Version:
63 lines 5.17 kB
import { Pipe } from '@angular/core'; import { ShowdownConverter } from './showdown-converter.provider'; import * as i0 from "@angular/core"; /** * A angular pipe to transform `Markdown` to `HTML`. * * ### Example * * Setup as standalone * ```typescript * import { NgModule } from '@angular/core'; * import { ShowdownPipe } from 'ngx-showdown'; * * @NgModule({ * declarations: [ ShowdownPipe ]; * }) * export class AppModule {} * ``` * * Transform markdown value to html. * ```html * <input type="text" placeholder="Name" [(ngModel)]="name"/> * <div [innerHTML]="'**Hello '+(name || 'nobody')+'!**' | showdown"> * ``` * * Transform markdown value to html with `options`. * ```typescript * import * as Showdown from 'showdown'; * * @Component({ * selector: 'some', * template: `<div innerHTML="{{ text | showdown: options }}"></div>` * }) * export class SomeComponent { * text: string = "__Some Underline__"; * options: Showdown.ShowdownOptions = { underline: true }; * // ... * } * ``` */ export class ShowdownPipe extends ShowdownConverter { /** * Transform markdown value to html. * * @param value - The markdown value to transform to html. * @param options - A `Showdown` converter options. * @returns Returns the transform result of `value` to html. */ transform(value, options) { this.setOptions(options); return this.makeHtml(value); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ShowdownPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: ShowdownPipe, name: "showdown", pure: false }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ShowdownPipe, decorators: [{ type: Pipe, args: [{ name: 'showdown', pure: false }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvd2Rvd24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaG93ZG93bi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUVsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0NHO0FBS0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxpQkFBaUI7SUFFakQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLEtBQWEsRUFBRSxPQUFrQztRQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQVpVLFlBQVk7cUdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIFNob3dkb3duIGZyb20gJ3Nob3dkb3duJztcclxuaW1wb3J0IHsgU2hvd2Rvd25Db252ZXJ0ZXIgfSBmcm9tICcuL3Nob3dkb3duLWNvbnZlcnRlci5wcm92aWRlcic7XHJcblxyXG4vKipcclxuICogQSBhbmd1bGFyIHBpcGUgdG8gdHJhbnNmb3JtIGBNYXJrZG93bmAgdG8gYEhUTUxgLlxyXG4gKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBTZXR1cCBhcyBzdGFuZGFsb25lXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuICogaW1wb3J0IHsgU2hvd2Rvd25QaXBlIH0gZnJvbSAnbmd4LXNob3dkb3duJztcclxuICpcclxuICogQE5nTW9kdWxlKHtcclxuICogICBkZWNsYXJhdGlvbnM6IFsgU2hvd2Rvd25QaXBlIF07XHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cclxuICogYGBgXHJcbiAqXHJcbiAqIFRyYW5zZm9ybSBtYXJrZG93biB2YWx1ZSB0byBodG1sLlxyXG4gKiBgYGBodG1sXHJcbiAqIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiTmFtZVwiIFsobmdNb2RlbCldPVwibmFtZVwiLz5cclxuICogPGRpdiBbaW5uZXJIVE1MXT1cIicqKkhlbGxvICcrKG5hbWUgfHwgJ25vYm9keScpKychKionIHwgc2hvd2Rvd25cIj5cclxuICogYGBgXHJcbiAqXHJcbiAqIFRyYW5zZm9ybSBtYXJrZG93biB2YWx1ZSB0byBodG1sIHdpdGggYG9wdGlvbnNgLlxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGltcG9ydCAqIGFzIFNob3dkb3duIGZyb20gJ3Nob3dkb3duJztcclxuICpcclxuICogQENvbXBvbmVudCh7XHJcbiAqICAgc2VsZWN0b3I6ICdzb21lJyxcclxuICogICB0ZW1wbGF0ZTogYDxkaXYgaW5uZXJIVE1MPVwie3sgdGV4dCB8IHNob3dkb3duOiBvcHRpb25zIH19XCI+PC9kaXY+YFxyXG4gKiB9KVxyXG4gKiBleHBvcnQgY2xhc3MgU29tZUNvbXBvbmVudCB7XHJcbiAqICAgdGV4dDogc3RyaW5nID0gXCJfX1NvbWUgVW5kZXJsaW5lX19cIjtcclxuICogICBvcHRpb25zOiBTaG93ZG93bi5TaG93ZG93bk9wdGlvbnMgPSB7IHVuZGVybGluZTogdHJ1ZSB9O1xyXG4gKiAgIC8vIC4uLlxyXG4gKiB9XHJcbiAqIGBgYFxyXG4gKi9cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzaG93ZG93bicsXHJcbiAgcHVyZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFNob3dkb3duUGlwZSBleHRlbmRzIFNob3dkb3duQ29udmVydGVyIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYW5zZm9ybSBtYXJrZG93biB2YWx1ZSB0byBodG1sLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIG1hcmtkb3duIHZhbHVlIHRvIHRyYW5zZm9ybSB0byBodG1sLlxyXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gQSBgU2hvd2Rvd25gIGNvbnZlcnRlciBvcHRpb25zLlxyXG4gICAqIEByZXR1cm5zIFJldHVybnMgdGhlIHRyYW5zZm9ybSByZXN1bHQgb2YgYHZhbHVlYCB0byBodG1sLlxyXG4gICAqL1xyXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogU2hvd2Rvd24uU2hvd2Rvd25PcHRpb25zKTogc3RyaW5nIHtcclxuICAgIHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zKTtcclxuICAgIHJldHVybiB0aGlzLm1ha2VIdG1sKHZhbHVlKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==