From 870cb9e2bb705688bf2ac3d61bfc8e678ae5abf1 Mon Sep 17 00:00:00 2001 From: Georgios Valotasios Date: Mon, 28 Dec 2015 18:07:37 +0100 Subject: [PATCH 1/5] Added a MarkedRenderer definition --- marked/marked-tests.ts | 3 ++- marked/marked.d.ts | 31 +++++++++++++++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/marked/marked-tests.ts b/marked/marked-tests.ts index 44be0f0e8..efb671548 100644 --- a/marked/marked-tests.ts +++ b/marked/marked-tests.ts @@ -14,7 +14,8 @@ var options: MarkedOptions = { return ''; }, langPrefix: 'lang-', - smartypants: false + smartypants: false, + renderer: new marked.Renderer() }; function callback() { diff --git a/marked/marked.d.ts b/marked/marked.d.ts index 198cd2626..bfce2eab5 100644 --- a/marked/marked.d.ts +++ b/marked/marked.d.ts @@ -3,7 +3,6 @@ // Definitions by: William Orr // Definitions: https://github.com/borisyankov/DefinitelyTyped - interface MarkedStatic { /** * Compiles markdown to HTML. @@ -60,6 +59,34 @@ interface MarkedStatic { * @param options Hash of options */ setOptions(options: MarkedOptions): MarkedStatic; + + Renderer: { + new(): MarkedRenderer + } +} + +interface MarkedRenderer { + code(code: string, language: string): any; + blockquote(quote: string): any; + html(html: string): any; + heading(text: string, level: number): any; + hr(): any; + list(body: string, ordered: boolean): any; + listitem(text: string): any; + paragraph(text: string): any; + table(header: string, body: string): any; + tablerow(content: string): any; + tablecell(content: string, flags: { + header: boolean, + align: string + }): any; + strong(text: string): any; + em(text: string): any; + codespan(code: string): any; + br(): any; + del(text: string): any; + link(href: string, title: string, text: string): any; + image(href: string, title: string, text: string): any; } interface MarkedOptions { @@ -68,7 +95,7 @@ interface MarkedOptions { * * An object containing functions to render tokens to HTML. */ - renderer?: Object; + renderer?: MarkedRenderer; /** * Enable GitHub flavored markdown. From 7f6e0444b14c2779f15c3b0305932b071c5c2485 Mon Sep 17 00:00:00 2001 From: Georgios Valotasios Date: Mon, 28 Dec 2015 20:16:38 +0100 Subject: [PATCH 2/5] Added the text function to the MarkedRenderer interface --- marked/marked.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/marked/marked.d.ts b/marked/marked.d.ts index bfce2eab5..44850f3db 100644 --- a/marked/marked.d.ts +++ b/marked/marked.d.ts @@ -87,6 +87,7 @@ interface MarkedRenderer { del(text: string): any; link(href: string, title: string, text: string): any; image(href: string, title: string, text: string): any; + text(text: string): any; } interface MarkedOptions { From 38ad9c5fa46b4a9b84d2b5d12fcad3040751f97e Mon Sep 17 00:00:00 2001 From: Georgios Valotasios Date: Mon, 28 Dec 2015 22:33:30 +0100 Subject: [PATCH 3/5] Exposed the Parser --- marked/marked.d.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/marked/marked.d.ts b/marked/marked.d.ts index 44850f3db..70659dbed 100644 --- a/marked/marked.d.ts +++ b/marked/marked.d.ts @@ -61,7 +61,11 @@ interface MarkedStatic { setOptions(options: MarkedOptions): MarkedStatic; Renderer: { - new(): MarkedRenderer + new(): MarkedRenderer; + } + + Parser: { + new(options: MarkedOptions): MarkedParser; } } @@ -90,6 +94,10 @@ interface MarkedRenderer { text(text: string): any; } +interface MarkedParser { + parse(source: string): string +} + interface MarkedOptions { /** * Type: object Default: new Renderer() From e31174ef24d252485501c85c67ba626ea735d2c4 Mon Sep 17 00:00:00 2001 From: Georgios Valotasios Date: Mon, 28 Dec 2015 22:41:36 +0100 Subject: [PATCH 4/5] Parser parses tokens --- marked/marked.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/marked/marked.d.ts b/marked/marked.d.ts index 70659dbed..66030ed94 100644 --- a/marked/marked.d.ts +++ b/marked/marked.d.ts @@ -95,7 +95,7 @@ interface MarkedRenderer { } interface MarkedParser { - parse(source: string): string + parse(source: any[]): string } interface MarkedOptions { From 493d3b6882c79289cd9597a45c287250297d5b9d Mon Sep 17 00:00:00 2001 From: Georgios Valotasios Date: Wed, 30 Dec 2015 17:51:07 +0100 Subject: [PATCH 5/5] Changed the MarkedRendere's functions return type from any to string --- marked/marked.d.ts | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/marked/marked.d.ts b/marked/marked.d.ts index 66030ed94..85103b020 100644 --- a/marked/marked.d.ts +++ b/marked/marked.d.ts @@ -70,28 +70,28 @@ interface MarkedStatic { } interface MarkedRenderer { - code(code: string, language: string): any; - blockquote(quote: string): any; - html(html: string): any; - heading(text: string, level: number): any; - hr(): any; - list(body: string, ordered: boolean): any; - listitem(text: string): any; - paragraph(text: string): any; - table(header: string, body: string): any; - tablerow(content: string): any; + code(code: string, language: string): string; + blockquote(quote: string): string; + html(html: string): string; + heading(text: string, level: number): string; + hr(): string; + list(body: string, ordered: boolean): string; + listitem(text: string): string; + paragraph(text: string): string; + table(header: string, body: string): string; + tablerow(content: string): string; tablecell(content: string, flags: { header: boolean, align: string - }): any; - strong(text: string): any; - em(text: string): any; - codespan(code: string): any; - br(): any; - del(text: string): any; - link(href: string, title: string, text: string): any; - image(href: string, title: string, text: string): any; - text(text: string): any; + }): string; + strong(text: string): string; + em(text: string): string; + codespan(code: string): string; + br(): string; + del(text: string): string; + link(href: string, title: string, text: string): string; + image(href: string, title: string, text: string): string; + text(text: string): string; } interface MarkedParser {