ngx-showdown-angular-latest
Version:
An Angular 17 integration for Showdown
63 lines • 5.17 kB
JavaScript
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==