From 47ba613cac644a20075a09dfe6445cb65e7377cc Mon Sep 17 00:00:00 2001 From: freddy Date: Thu, 24 Mar 2016 15:59:44 +0100 Subject: [PATCH 01/19] support headers 4 5 and 6 --- src/stateToMarkdown.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/stateToMarkdown.js b/src/stateToMarkdown.js index 1bfe776..8941d41 100644 --- a/src/stateToMarkdown.js +++ b/src/stateToMarkdown.js @@ -63,6 +63,21 @@ class MarkupGenerator { this.output.push('### ' + this.renderBlockContent(block) + '\n'); break; } + case BLOCK_TYPE.HEADER_FOUR: { + this.insertLineBreaks(1); + this.output.push('#### ' + this.renderBlockContent(block) + '\n'); + break; + } + case BLOCK_TYPE.HEADER_FIVE: { + this.insertLineBreaks(1); + this.output.push('##### ' + this.renderBlockContent(block) + '\n'); + break; + } + case BLOCK_TYPE.HEADER_SIX: { + this.insertLineBreaks(1); + this.output.push('###### ' + this.renderBlockContent(block) + '\n'); + break; + } case BLOCK_TYPE.UNORDERED_LIST_ITEM: { let blockDepth = block.getDepth(); let lastBlock = this.getLastBlock(); From 4ff8c227e5b425e80f6fa5a4ba2b2546767c2daf Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Fri, 25 Mar 2016 14:58:52 +0700 Subject: [PATCH 02/19] package.json: update contributers --- package.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/package.json b/package.json index 7017cf1..6fcce2d 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,16 @@ "export-markdown" ], "author": "sstur@me.com", + "contributors": [ + { + "name": "Freddy Harris", + "url": "https://github.com/Freddy03h" + }, + { + "name": "Simon Sturmer", + "url": "https://github.com/sstur" + } + ], "license": "ISC", "bugs": { "url": "https://github.com/sstur/draft-js-export-markdown/issues" From 35d3a340a7026e8de31f01d7fd8bd600905b6e55 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Fri, 25 Mar 2016 14:59:05 +0700 Subject: [PATCH 03/19] 0.1.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6fcce2d..3991530 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "draft-js-export-markdown", - "version": "0.1.2", + "version": "0.1.3", "description": "DraftJS: Export ContentState to Markdown", "main": "lib/main.js", "scripts": { From e624487568d43298292d5df0ded7784b4e3119bb Mon Sep 17 00:00:00 2001 From: Greg Ziegan Date: Sun, 10 Apr 2016 01:37:39 -0700 Subject: [PATCH 04/19] Support image export based on entity attributes Requires Image enum value from `draft-js-utils`. --- src/stateToMarkdown.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/stateToMarkdown.js b/src/stateToMarkdown.js index 8941d41..c2de257 100644 --- a/src/stateToMarkdown.js +++ b/src/stateToMarkdown.js @@ -225,6 +225,11 @@ class MarkupGenerator { let url = data.url || ''; let title = data.title ? ` "${escapeTitle(data.title)}"` : ''; return `[${content}](${encodeURL(url)}${title})`; + } else if (entity != null && entity.getType() === ENTITY_TYPE.IMAGE) { + let data = entity.getData(); + let src = data.src || ''; + let alt = data.alt ? ` "${escapeTitle(data.alt)}"` : ''; + return `![${alt}](${encodeURL(src)})`; } else { return content; } From a764aa6dfdc0824e316212e9aa5db97b0d1d31f1 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Sun, 17 Apr 2016 09:47:50 +0700 Subject: [PATCH 05/19] explicitly pass paths to mocha --- package.json | 2 +- test/mocha.opts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 3991530..fb39fcf 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "lint": "eslint --max-warnings 0 .", "prepublish": "npm run build", "test": "npm run lint && npm run test-src", - "test-src": "mocha" + "test-src": "mocha src/__tests__/*.js src/**/__tests__/*.js" }, "dependencies": { "draft-js-tools": "^0.1.2" diff --git a/test/mocha.opts b/test/mocha.opts index 67c5129..ccd1f09 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,2 +1 @@ --compilers js:babel-core/register -src/__tests__/*.js src/**/__tests__/*.js From e8de2a01497a68f5d26fc5d8852e6892be2a0b13 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Sun, 17 Apr 2016 09:57:23 +0700 Subject: [PATCH 06/19] update deps --- package.json | 26 ++++++++++++++------------ src/stateToMarkdown.js | 2 +- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index fb39fcf..38c85c1 100644 --- a/package.json +++ b/package.json @@ -11,25 +11,27 @@ "test-src": "mocha src/__tests__/*.js src/**/__tests__/*.js" }, "dependencies": { - "draft-js-tools": "^0.1.2" + "draft-js-utils": "^0.1.4" + }, + "peerDependencies": { + "draft-js": "^0.5.0", + "immutable": "^3.8.0" }, "devDependencies": { - "babel-core": "^6.7.2", - "babel-eslint": "^5.0.0", + "babel-core": "^6.7.6", + "babel-eslint": "^6.0.2", "babel-plugin-transform-class-properties": "^6.6.0", "babel-preset-es2015": "^6.6.0", "babel-preset-react": "^6.5.0", "babel-preset-stage-2": "^6.5.0", - "draft-js": "^0.2.2", - "eslint": "2.2.0", - "eslint-plugin-babel": "^3.1.0", - "eslint-plugin-flow-vars": "^0.2.1", - "eslint-plugin-react": "^4.2.1", - "expect": "^1.15.2", - "immutable": "^3.7.6", + "eslint": "^2.8.0", + "eslint-plugin-babel": "^3.2.0", + "eslint-plugin-flow-vars": "^0.3.0", + "eslint-plugin-react": "^4.3.0", + "expect": "^1.16.0", "mocha": "^2.4.5", - "react": "^0.14.7", - "react-dom": "^0.14.7" + "react": "^15.0.1", + "react-dom": "^15.0.1" }, "repository": { "type": "git", diff --git a/src/stateToMarkdown.js b/src/stateToMarkdown.js index c2de257..c23f3ea 100644 --- a/src/stateToMarkdown.js +++ b/src/stateToMarkdown.js @@ -5,7 +5,7 @@ import { BLOCK_TYPE, ENTITY_TYPE, INLINE_STYLE, -} from 'draft-js-tools'; +} from 'draft-js-utils'; import {Entity} from 'draft-js'; import type {ContentState, ContentBlock} from 'draft-js'; From 31a8b25f5e977626f7ee5ceeb6481e907568399c Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Sun, 17 Apr 2016 10:10:59 +0700 Subject: [PATCH 07/19] add flow, npm run typecheck --- .flowconfig | 1 + package.json | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.flowconfig b/.flowconfig index 6f52e39..0575b6a 100644 --- a/.flowconfig +++ b/.flowconfig @@ -1,6 +1,7 @@ [ignore] .*node_modules/babel.* .*node_modules/fbjs.* +.*node_modules/json5.* [include] diff --git a/package.json b/package.json index 38c85c1..a414370 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,9 @@ "scripts": { "build": "babel src --ignore '_*' --out-dir lib", "lint": "eslint --max-warnings 0 .", + "typecheck": "flow", "prepublish": "npm run build", - "test": "npm run lint && npm run test-src", + "test": "npm run lint && npm run typecheck && npm run test-src", "test-src": "mocha src/__tests__/*.js src/**/__tests__/*.js" }, "dependencies": { @@ -29,6 +30,7 @@ "eslint-plugin-flow-vars": "^0.3.0", "eslint-plugin-react": "^4.3.0", "expect": "^1.16.0", + "flow-bin": "^0.23.0", "mocha": "^2.4.5", "react": "^15.0.1", "react-dom": "^15.0.1" From 5b4ac350311515b71a326c3868f17869c12e17e6 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Sun, 17 Apr 2016 10:11:38 +0700 Subject: [PATCH 08/19] 0.1.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a414370..fbd3b23 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "draft-js-export-markdown", - "version": "0.1.3", + "version": "0.1.4", "description": "DraftJS: Export ContentState to Markdown", "main": "lib/main.js", "scripts": { From 6c1eb926e92dca8af9d83c2c71396fca8f88b1dd Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Thu, 21 Apr 2016 08:05:53 +0700 Subject: [PATCH 09/19] add missing dev dependency --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index fbd3b23..44b87d5 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "immutable": "^3.8.0" }, "devDependencies": { + "babel-cli": "^6.7.5", "babel-core": "^6.7.6", "babel-eslint": "^6.0.2", "babel-plugin-transform-class-properties": "^6.6.0", From a4367a619690842783561366c2a45e69545ece28 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Thu, 21 Apr 2016 08:05:54 +0700 Subject: [PATCH 10/19] 0.1.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 44b87d5..f50f651 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "draft-js-export-markdown", - "version": "0.1.4", + "version": "0.1.5", "description": "DraftJS: Export ContentState to Markdown", "main": "lib/main.js", "scripts": { From b21c4b4090fd9ea6ceffced3d90847504bd8807f Mon Sep 17 00:00:00 2001 From: Jakub Zmudzinski Date: Fri, 13 May 2016 13:47:00 +0200 Subject: [PATCH 11/19] Fixed support for image type entity --- package.json | 2 +- src/stateToMarkdown.js | 2 +- test/test-cases.txt | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f50f651..88be38c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "draft-js-export-markdown", - "version": "0.1.5", + "version": "0.1.6", "description": "DraftJS: Export ContentState to Markdown", "main": "lib/main.js", "scripts": { diff --git a/src/stateToMarkdown.js b/src/stateToMarkdown.js index c23f3ea..bff2e01 100644 --- a/src/stateToMarkdown.js +++ b/src/stateToMarkdown.js @@ -225,7 +225,7 @@ class MarkupGenerator { let url = data.url || ''; let title = data.title ? ` "${escapeTitle(data.title)}"` : ''; return `[${content}](${encodeURL(url)}${title})`; - } else if (entity != null && entity.getType() === ENTITY_TYPE.IMAGE) { + } else if (entity != null && entity.getType().toUpperCase() === ENTITY_TYPE.IMAGE) { let data = entity.getData(); let src = data.src || ''; let alt = data.alt ? ` "${escapeTitle(data.alt)}"` : ''; diff --git a/test/test-cases.txt b/test/test-cases.txt index baca361..00e5151 100644 --- a/test/test-cases.txt +++ b/test/test-cases.txt @@ -14,6 +14,14 @@ _**BoldItalic**_ {"entityMap":{},"blocks":[{"key":"9nc73","text":"BoldItalic","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":4,"length":6,"style":"BOLD"},{"offset":0,"length":4,"style":"ITALIC"}],"entityRanges":[]}]} _Bold_**Italic** +>> Image with alt +{"entityMap":{"0":{"type":"IMAGE","mutability":"MUTABLE","data":{"src":"/a.jpg","alt":"x"}}},"blocks":[{"key":"f131g","text":"Hello World.","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":5,"length":1,"key":0}]}]} +Hello![ "x"](/a.jpg)World. + +>> Image with empty alt +{"entityMap":{"0":{"type":"image","mutability":"MUTABLE","data":{"src":"/a.jpg","alt":""}}},"blocks":[{"key":"f131g","text":"Hello World.","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":5,"length":1,"key":0}]}]} +Hello![](/a.jpg)World. + >> Link without title {"entityMap":{"0":{"type":"LINK","mutability":"MUTABLE","data":{"url":"/a","foo":"x"}}},"blocks":[{"key":"f131g","text":"Hello World.","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":6,"length":5,"key":0}]}]} Hello [World](/a). From 116c99fe4da57ffff69056904c490035d6de6181 Mon Sep 17 00:00:00 2001 From: Jakub Zmudzinski Date: Fri, 13 May 2016 14:21:26 +0200 Subject: [PATCH 12/19] Better test case name --- test/test-cases.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test-cases.txt b/test/test-cases.txt index 00e5151..972f0dd 100644 --- a/test/test-cases.txt +++ b/test/test-cases.txt @@ -18,7 +18,7 @@ _Bold_**Italic** {"entityMap":{"0":{"type":"IMAGE","mutability":"MUTABLE","data":{"src":"/a.jpg","alt":"x"}}},"blocks":[{"key":"f131g","text":"Hello World.","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":5,"length":1,"key":0}]}]} Hello![ "x"](/a.jpg)World. ->> Image with empty alt +>> Image with empty alt and type written in lower case {"entityMap":{"0":{"type":"image","mutability":"MUTABLE","data":{"src":"/a.jpg","alt":""}}},"blocks":[{"key":"f131g","text":"Hello World.","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":5,"length":1,"key":0}]}]} Hello![](/a.jpg)World. From 8fef4cca06ebf1df0ab64f511e71fd8125cc740a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=BBmudzi=C5=84ski?= Date: Fri, 13 May 2016 18:32:07 +0200 Subject: [PATCH 13/19] Removed redundant .toUpperCase() (#8) --- src/stateToMarkdown.js | 2 +- test/test-cases.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/stateToMarkdown.js b/src/stateToMarkdown.js index bff2e01..c23f3ea 100644 --- a/src/stateToMarkdown.js +++ b/src/stateToMarkdown.js @@ -225,7 +225,7 @@ class MarkupGenerator { let url = data.url || ''; let title = data.title ? ` "${escapeTitle(data.title)}"` : ''; return `[${content}](${encodeURL(url)}${title})`; - } else if (entity != null && entity.getType().toUpperCase() === ENTITY_TYPE.IMAGE) { + } else if (entity != null && entity.getType() === ENTITY_TYPE.IMAGE) { let data = entity.getData(); let src = data.src || ''; let alt = data.alt ? ` "${escapeTitle(data.alt)}"` : ''; diff --git a/test/test-cases.txt b/test/test-cases.txt index 972f0dd..799d13a 100644 --- a/test/test-cases.txt +++ b/test/test-cases.txt @@ -18,8 +18,8 @@ _Bold_**Italic** {"entityMap":{"0":{"type":"IMAGE","mutability":"MUTABLE","data":{"src":"/a.jpg","alt":"x"}}},"blocks":[{"key":"f131g","text":"Hello World.","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":5,"length":1,"key":0}]}]} Hello![ "x"](/a.jpg)World. ->> Image with empty alt and type written in lower case -{"entityMap":{"0":{"type":"image","mutability":"MUTABLE","data":{"src":"/a.jpg","alt":""}}},"blocks":[{"key":"f131g","text":"Hello World.","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":5,"length":1,"key":0}]}]} +>> Image with empty alt +{"entityMap":{"0":{"type":"IMAGE","mutability":"MUTABLE","data":{"src":"/a.jpg","alt":""}}},"blocks":[{"key":"f131g","text":"Hello World.","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":5,"length":1,"key":0}]}]} Hello![](/a.jpg)World. >> Link without title From 6faa3d325b28bde36c6bd175930da218d02260fb Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Thu, 19 May 2016 08:29:35 -0500 Subject: [PATCH 14/19] peer dependency versions to be less strict --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 88be38c..4c3f06a 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,8 @@ "draft-js-utils": "^0.1.4" }, "peerDependencies": { - "draft-js": "^0.5.0", - "immutable": "^3.8.0" + "draft-js": ">=0.5.0", + "immutable": "3.x.x" }, "devDependencies": { "babel-cli": "^6.7.5", From 6f8f9c59f765d5a19e55e0a9fba845d03f648a75 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Thu, 19 May 2016 08:37:28 -0500 Subject: [PATCH 15/19] update versions of dependencies --- package.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 4c3f06a..b94bc23 100644 --- a/package.json +++ b/package.json @@ -12,29 +12,29 @@ "test-src": "mocha src/__tests__/*.js src/**/__tests__/*.js" }, "dependencies": { - "draft-js-utils": "^0.1.4" + "draft-js-utils": "^0.1.5" }, "peerDependencies": { "draft-js": ">=0.5.0", "immutable": "3.x.x" }, "devDependencies": { - "babel-cli": "^6.7.5", - "babel-core": "^6.7.6", - "babel-eslint": "^6.0.2", - "babel-plugin-transform-class-properties": "^6.6.0", - "babel-preset-es2015": "^6.6.0", + "babel-cli": "^6.9.0", + "babel-core": "^6.9.0", + "babel-eslint": "^6.0.4", + "babel-plugin-transform-class-properties": "^6.9.0", + "babel-preset-es2015": "^6.9.0", "babel-preset-react": "^6.5.0", "babel-preset-stage-2": "^6.5.0", - "eslint": "^2.8.0", + "eslint": "^2.10.2", "eslint-plugin-babel": "^3.2.0", - "eslint-plugin-flow-vars": "^0.3.0", - "eslint-plugin-react": "^4.3.0", - "expect": "^1.16.0", - "flow-bin": "^0.23.0", + "eslint-plugin-flow-vars": "^0.4.0", + "eslint-plugin-react": "^5.1.1", + "expect": "^1.20.1", + "flow-bin": "^0.25.0", "mocha": "^2.4.5", - "react": "^15.0.1", - "react-dom": "^15.0.1" + "react": "^15.0.2", + "react-dom": "^15.0.2" }, "repository": { "type": "git", From 74e07a27a59d81dc37e35f253a15830fede05ad2 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Thu, 19 May 2016 08:38:04 -0500 Subject: [PATCH 16/19] 0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b94bc23..1ed5b17 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "draft-js-export-markdown", - "version": "0.1.6", + "version": "0.2.0", "description": "DraftJS: Export ContentState to Markdown", "main": "lib/main.js", "scripts": { From a4cb949a480d94d7a6a4db0e9f514aec3b86a2a7 Mon Sep 17 00:00:00 2001 From: Waldir Pimenta Date: Thu, 7 Jul 2016 02:05:38 +0100 Subject: [PATCH 17/19] fix license name (#11) per package.json and the contents of the LICENSE file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd2d83c..6fe4451 100644 --- a/README.md +++ b/README.md @@ -12,4 +12,4 @@ This project is still under development. If you want to help out, please open an ## License -This software is [BSD Licensed](/LICENSE). +This software is [ISC Licensed](/LICENSE). From a5bfba721f1319750f31f26fcce027d68b4009b3 Mon Sep 17 00:00:00 2001 From: Waldir Pimenta Date: Thu, 7 Jul 2016 02:09:16 +0100 Subject: [PATCH 18/19] add license title (#12) --- LICENSE | 2 ++ 1 file changed, 2 insertions(+) diff --git a/LICENSE b/LICENSE index 2684d70..9197c59 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,5 @@ +ISC License + Copyright (c) 2016, Simon Sturmer Permission to use, copy, modify, and/or distribute this software for any From 54ffc222619ad9ab54f5a9f6b22362dba246e245 Mon Sep 17 00:00:00 2001 From: Rose Robertson Date: Fri, 15 Jul 2016 23:11:57 -0700 Subject: [PATCH 19/19] Do not include whitespace when applying inline markdown styles If you test out markdown on a gist, markdown like this: ```markdown **Test ** ``` (with trailing or leading whitespace) is not properly parsed. This change only surrounds the text with markdown inline styles and preserves the whitespace, but doesn't attempt to style it, fixing the issue of incompatibility with markdown parsers. --- src/stateToMarkdown.js | 11 ++++++----- test/test-cases.txt | 8 ++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/stateToMarkdown.js b/src/stateToMarkdown.js index c23f3ea..fbb1072 100644 --- a/src/stateToMarkdown.js +++ b/src/stateToMarkdown.js @@ -19,6 +19,7 @@ const { } = INLINE_STYLE; const CODE_INDENT = ' '; +const STRIP_WHITESPACE = /([\s]*)([\W\w]*[^\s]+)([\s]*)/; class MarkupGenerator { blocks: Array; @@ -201,21 +202,21 @@ class MarkupGenerator { } let content = encodeContent(text); if (style.has(BOLD)) { - content = `**${content}**`; + content = content.replace(STRIP_WHITESPACE, '$1**$2**$3'); } if (style.has(UNDERLINE)) { // TODO: encode `+`? - content = `++${content}++`; + content = content.replace(STRIP_WHITESPACE, '$1++$2++$3'); } if (style.has(ITALIC)) { - content = `_${content}_`; + content = content.replace(STRIP_WHITESPACE, '$1_$2_$3'); } if (style.has(STRIKETHROUGH)) { // TODO: encode `~`? - content = `~~${content}~~`; + content = content.replace(STRIP_WHITESPACE, '$1~~$2~~$3'); } if (style.has(CODE)) { - content = (blockType === BLOCK_TYPE.CODE) ? content : '`' + content + '`'; + content = (blockType === BLOCK_TYPE.CODE) ? content : content.replace(STRIP_WHITESPACE, '$1`$2`$3'); } return content; }).join(''); diff --git a/test/test-cases.txt b/test/test-cases.txt index 799d13a..1ab30a4 100644 --- a/test/test-cases.txt +++ b/test/test-cases.txt @@ -6,10 +6,18 @@ a {"entityMap":{},"blocks":[{"key":"99n0j","text":"asdf","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":3,"length":1,"style":"BOLD"}],"entityRanges":[]}]} asd**f** +>> Inline style with whitespace +{"entityMap":{},"blocks":[{"key":"99n0j","text":"asdf ","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":0,"length":6,"style":"BOLD"}],"entityRanges":[]}]} +**asdf** + >> Nested Inline Style {"entityMap":{},"blocks":[{"key":"9nc73","text":"BoldItalic","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":0,"length":10,"style":"BOLD"},{"offset":0,"length":10,"style":"ITALIC"}],"entityRanges":[]}]} _**BoldItalic**_ +>> Nested Inline Style with whitespace +{"entityMap":{},"blocks":[{"key":"9nc73","text":"BoldItalic ","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":0,"length":14,"style":"BOLD"},{"offset":0,"length":10,"style":"ITALIC"}],"entityRanges":[]}]} +_**BoldItalic**_ + >> Adjacent Inline Style {"entityMap":{},"blocks":[{"key":"9nc73","text":"BoldItalic","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":4,"length":6,"style":"BOLD"},{"offset":0,"length":4,"style":"ITALIC"}],"entityRanges":[]}]} _Bold_**Italic**