From 1afa1d37c77b9508a4256e32c4e1fea27113033f Mon Sep 17 00:00:00 2001
From: hmhealey <harrisonmhealey@gmail.com>
Date: Tue, 22 Sep 2015 14:30:50 -0400
Subject: Moved text formatting code to only occur inside of markdown text
 nodes

---
 web/react/utils/markdown.jsx | 13 +++++++++++++
 1 file changed, 13 insertions(+)

(limited to 'web/react/utils/markdown.jsx')

diff --git a/web/react/utils/markdown.jsx b/web/react/utils/markdown.jsx
index 96da54217..0a876a3e3 100644
--- a/web/react/utils/markdown.jsx
+++ b/web/react/utils/markdown.jsx
@@ -1,9 +1,18 @@
 // Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
 // See License.txt for license information.
 
+const TextFormatting = require('./text_formatting.jsx');
+
 const marked = require('marked');
 
 export class MattermostMarkdownRenderer extends marked.Renderer {
+    constructor(options, formattingOptions = {}) {
+        super(options);
+
+        this.text = this.text.bind(this);
+
+        this.formattingOptions = formattingOptions;
+    }
     link(href, title, text) {
         let outHref = href;
 
@@ -19,4 +28,8 @@ export class MattermostMarkdownRenderer extends marked.Renderer {
 
         return output;
     }
+
+    text(text) {
+        return TextFormatting.doFormatText(text, this.formattingOptions);
+    }
 }
-- 
cgit v1.2.3-1-g7c22


From 018b036e5ddfc4632c5b1f9f255bc338173bcf03 Mon Sep 17 00:00:00 2001
From: hmhealey <harrisonmhealey@gmail.com>
Date: Tue, 22 Sep 2015 15:23:39 -0400
Subject: Added CSS classes to markdown headings, links, and tables

---
 web/react/utils/markdown.jsx | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

(limited to 'web/react/utils/markdown.jsx')

diff --git a/web/react/utils/markdown.jsx b/web/react/utils/markdown.jsx
index 0a876a3e3..347024e1a 100644
--- a/web/react/utils/markdown.jsx
+++ b/web/react/utils/markdown.jsx
@@ -9,10 +9,17 @@ export class MattermostMarkdownRenderer extends marked.Renderer {
     constructor(options, formattingOptions = {}) {
         super(options);
 
+        this.heading = this.heading.bind(this);
         this.text = this.text.bind(this);
 
         this.formattingOptions = formattingOptions;
     }
+
+    heading(text, level, raw) {
+        const id = `${this.options.headerPrefix}${raw.toLowerCase().replace(/[^\w]+/g, '-')}`;
+        return `<h${level} id="${id}" class="markdown__heading">${text}</h${level}>`;
+    }
+
     link(href, title, text) {
         let outHref = href;
 
@@ -20,7 +27,7 @@ export class MattermostMarkdownRenderer extends marked.Renderer {
             outHref = `http://${outHref}`;
         }
 
-        let output = '<a class="theme" href="' + outHref + '"';
+        let output = '<a class="theme markdown__link" href="' + outHref + '"';
         if (title) {
             output += ' title="' + title + '"';
         }
@@ -29,6 +36,10 @@ export class MattermostMarkdownRenderer extends marked.Renderer {
         return output;
     }
 
+    table(header, body) {
+        return `<table class="markdown__table"><thead>${header}</thead><tbody>${body}</tbody></table>`;
+    }
+
     text(text) {
         return TextFormatting.doFormatText(text, this.formattingOptions);
     }
-- 
cgit v1.2.3-1-g7c22

