From 8f91b65ebd28bd42e22310f092d00af6d302ef2b Mon Sep 17 00:00:00 2001 From: yisraelx Date: Thu, 31 Aug 2017 23:05:09 +0300 Subject: [PATCH] feat: update showdown options for current options add: backslashEscapesHTMLTags, rawHeaderId, rawPrefixHeaderId --- demo/src/app/app.component.ts | 3 +++ demo/src/app/app.module.ts | 2 ++ src/base-converter-options.provider.ts | 6 ++++++ src/base-converter.class.ts | 5 ++++- src/showdown.directive.ts | 9 ++++++--- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/demo/src/app/app.component.ts b/demo/src/app/app.component.ts index a24835b..87b886f 100644 --- a/demo/src/app/app.component.ts +++ b/demo/src/app/app.component.ts @@ -19,6 +19,7 @@ console.log(\`sum: \${sum}\`); options: IConverterOptionsChangeable = { customizedHeaderId: false, + backslashEscapesHTMLTags: false, disableForced4SpacesIndentedSublists: false, encodeEmails: true, excludeTrailingPunctuationFromURLs: false, @@ -34,6 +35,8 @@ console.log(\`sum: \${sum}\`); openLinksInNewWindow: false, parseImgDimensions: false, prefixHeaderId: false, + rawHeaderId: false, + rawPrefixHeaderId: false, requireSpaceBeforeHeadingText: false, simpleLineBreaks: false, simplifiedAutoLink: false, diff --git a/demo/src/app/app.module.ts b/demo/src/app/app.module.ts index eb2fe20..af129b1 100644 --- a/demo/src/app/app.module.ts +++ b/demo/src/app/app.module.ts @@ -1,6 +1,7 @@ import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MdInputModule, MdSlideToggleModule, @@ -17,6 +18,7 @@ import { ShowdownModule } from '../../../src'; @NgModule({ imports: [ BrowserModule, + BrowserAnimationsModule, FormsModule, ShowdownModule, // material diff --git a/src/base-converter-options.provider.ts b/src/base-converter-options.provider.ts index 97517fa..b6d383d 100644 --- a/src/base-converter-options.provider.ts +++ b/src/base-converter-options.provider.ts @@ -5,6 +5,7 @@ import { IConverterOptions } from './base-converter.class'; export class ConverterOptions { customizedHeaderId: boolean; + backslashEscapesHTMLTags: boolean; disableForced4SpacesIndentedSublists: boolean; encodeEmails: boolean; excludeTrailingPunctuationFromURLs: boolean; @@ -20,6 +21,8 @@ export class ConverterOptions { openLinksInNewWindow: boolean; parseImgDimensions: boolean; prefixHeaderId: string | boolean; + rawHeaderId: boolean; + rawPrefixHeaderId: boolean; requireSpaceBeforeHeadingText: boolean; simpleLineBreaks: boolean; simplifiedAutoLink: boolean; @@ -66,6 +69,7 @@ export class BaseConverterOptions extends ConverterOptions { constructor() { super({ customizedHeaderId: false, + backslashEscapesHTMLTags: false, disableForced4SpacesIndentedSublists: false, encodeEmails: true, excludeTrailingPunctuationFromURLs: false, @@ -82,6 +86,8 @@ export class BaseConverterOptions extends ConverterOptions { openLinksInNewWindow: false, parseImgDimensions: false, prefixHeaderId: false, + rawHeaderId: false, + rawPrefixHeaderId: false, requireSpaceBeforeHeadingText: false, simpleLineBreaks: false, simplifiedAutoLink: false, diff --git a/src/base-converter.class.ts b/src/base-converter.class.ts index c6dda5e..f5a6c59 100644 --- a/src/base-converter.class.ts +++ b/src/base-converter.class.ts @@ -3,7 +3,8 @@ import $ from './utils'; import { ConverterOptions } from './base-converter-options.provider'; export interface IConverterOptionsChangeable { - customizedHeaderId?: boolean; + customizedHeaderId?: boolean; + backslashEscapesHTMLTags?: boolean; disableForced4SpacesIndentedSublists?: boolean; encodeEmails?: boolean; excludeTrailingPunctuationFromURLs?: boolean; @@ -19,6 +20,8 @@ export interface IConverterOptionsChangeable { openLinksInNewWindow?: boolean; parseImgDimensions?: boolean; prefixHeaderId?: string | boolean; + rawHeaderId?: boolean; + rawPrefixHeaderId?: boolean; requireSpaceBeforeHeadingText?: boolean; simpleLineBreaks?: boolean; simplifiedAutoLink?: boolean; diff --git a/src/showdown.directive.ts b/src/showdown.directive.ts index ac5ecaf..5a2193d 100644 --- a/src/showdown.directive.ts +++ b/src/showdown.directive.ts @@ -4,7 +4,7 @@ import { ConverterOptions } from './base-converter-options.provider'; import { BaseConverter, IConverterOptionsChangeable } from './base-converter.class'; let optionsProperties: string[] = [ - 'customizedHeaderId', 'disableForced4SpacesIndentedSublists', 'encodeEmails', 'excludeTrailingPunctuationFromURLs', 'ghCodeBlocks', 'ghCompatibleHeaderId', 'ghMentions', 'ghMentionsLink', 'headerLevelStart', 'literalMidWordAsterisks', 'literalMidWordUnderscores', 'noHeaderId', 'omitExtraWLInCodeBlocks', 'openLinksInNewWindow', 'parseImgDimensions', 'prefixHeaderId', 'requireSpaceBeforeHeadingText', 'simpleLineBreaks', 'simplifiedAutoLink', 'smartIndentationFix', 'smoothLivePreview', 'strikethrough', 'tables', 'tablesHeaderId', 'tasklists', 'trimEachLine' + 'customizedHeaderId', 'backslashEscapesHTMLTags', 'disableForced4SpacesIndentedSublists', 'encodeEmails', 'excludeTrailingPunctuationFromURLs', 'ghCodeBlocks', 'ghCompatibleHeaderId', 'ghMentions', 'ghMentionsLink', 'headerLevelStart', 'literalMidWordAsterisks', 'literalMidWordUnderscores', 'noHeaderId', 'omitExtraWLInCodeBlocks', 'openLinksInNewWindow', 'parseImgDimensions', 'prefixHeaderId', 'rawHeaderId', 'rawPrefixHeaderId', 'requireSpaceBeforeHeadingText', 'simpleLineBreaks', 'simplifiedAutoLink', 'smartIndentationFix', 'smoothLivePreview', 'strikethrough', 'tables', 'tablesHeaderId', 'tasklists', 'trimEachLine' ]; export enum SHOWDOWN_DIRECTIVE_TYPES { @@ -74,6 +74,7 @@ export class ShowdownDirective extends BaseConverter implements OnInit { // options getter setter dynamic definition (the code after the class) public customizedHeaderId?: boolean; + public backslashEscapesHTMLTags?: boolean; public disableForced4SpacesIndentedSublists?: boolean; public encodeEmails?: boolean; public excludeTrailingPunctuationFromURLs?: boolean; @@ -89,6 +90,8 @@ export class ShowdownDirective extends BaseConverter implements OnInit { public openLinksInNewWindow?: boolean; public parseImgDimensions?: boolean; public prefixHeaderId?: string | boolean; + public rawHeaderId?: boolean; + public rawPrefixHeaderId?: boolean; public requireSpaceBeforeHeadingText?: boolean; public simpleLineBreaks?: boolean; public simplifiedAutoLink?: boolean; @@ -205,10 +208,10 @@ export class ShowdownDirective extends BaseConverter implements OnInit { // define options properties getter setter for angular directive and direct access optionsProperties.forEach((key: string) => { Object.defineProperty(ShowdownDirective.prototype, key, { - set(value: any): void { + set (value: any): void { this.setOption(key, $.isEmpty(value) ? true : value); }, - get(): any { + get (): any { return this.getOption(key); }, enumerable: true,