diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8dcc382..911b5c1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,23 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [2.5.1](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.1) (2019-06-18)
+
+
+### Bug Fixes
+
+* **parser:** fix issue with escaping backslashes when enableEscapeTags is set ([#20](https://github.com/JiLiZART/bbob/issues/20)) ([8a9e930](https://github.com/JiLiZART/bbob/commit/8a9e930))
+
+
+### Features
+
+* **parse:** allow tags to be escaped with backslash ([#17](https://github.com/JiLiZART/bbob/issues/17)) ([c4f78c1](https://github.com/JiLiZART/bbob/commit/c4f78c1))
+* **preset-html5:** list type attribute support ([#18](https://github.com/JiLiZART/bbob/issues/18)) ([847c55e](https://github.com/JiLiZART/bbob/commit/847c55e))
+
+
+
+
# [2.5.0](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.0) (2019-06-17)
diff --git a/lerna.json b/lerna.json
index 63daafa..83b975a 100644
--- a/lerna.json
+++ b/lerna.json
@@ -15,5 +15,5 @@
"access": "public",
"registry": "https://registry.npmjs.org/"
},
- "version": "2.5.0"
+ "version": "2.5.1"
}
diff --git a/packages/bbob-cli/CHANGELOG.md b/packages/bbob-cli/CHANGELOG.md
index 39177f6..bd06245 100644
--- a/packages/bbob-cli/CHANGELOG.md
+++ b/packages/bbob-cli/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [2.5.1](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.1) (2019-06-18)
+
+
+
+
+**Note:** Version bump only for package @bbob/cli
+
# [2.5.0](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.0) (2019-06-17)
diff --git a/packages/bbob-cli/package.json b/packages/bbob-cli/package.json
index e221ab3..6a8dc3b 100644
--- a/packages/bbob-cli/package.json
+++ b/packages/bbob-cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@bbob/cli",
- "version": "2.5.0",
+ "version": "2.5.1",
"description": "Comand line bbcode parser",
"main": "lib/cli.js",
"bin": {
@@ -10,8 +10,8 @@
"lib": "lib"
},
"dependencies": {
- "@bbob/html": "^2.5.0",
- "@bbob/preset-html5": "^2.5.0",
+ "@bbob/html": "^2.5.1",
+ "@bbob/preset-html5": "^2.5.1",
"commander": "^2.15.1"
},
"repository": {
diff --git a/packages/bbob-core/CHANGELOG.md b/packages/bbob-core/CHANGELOG.md
index f874a32..aeac56e 100644
--- a/packages/bbob-core/CHANGELOG.md
+++ b/packages/bbob-core/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [2.5.1](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.1) (2019-06-18)
+
+
+
+
+**Note:** Version bump only for package @bbob/core
+
# [2.5.0](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.0) (2019-06-17)
diff --git a/packages/bbob-core/package.json b/packages/bbob-core/package.json
index 830d97e..3f6ec75 100644
--- a/packages/bbob-core/package.json
+++ b/packages/bbob-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@bbob/core",
- "version": "2.5.0",
+ "version": "2.5.1",
"description": "⚡️Blazing fast BBCode transforming and parsing tool in pure javascript, no dependencies ",
"keywords": [
"bbcode",
@@ -20,7 +20,7 @@
"core"
],
"dependencies": {
- "@bbob/parser": "^2.5.0"
+ "@bbob/parser": "^2.5.1"
},
"main": "lib/index.js",
"module": "es/index.js",
diff --git a/packages/bbob-html/CHANGELOG.md b/packages/bbob-html/CHANGELOG.md
index db0826e..cf781f0 100644
--- a/packages/bbob-html/CHANGELOG.md
+++ b/packages/bbob-html/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [2.5.1](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.1) (2019-06-18)
+
+
+
+
+**Note:** Version bump only for package @bbob/html
+
# [2.5.0](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.0) (2019-06-17)
diff --git a/packages/bbob-html/package.json b/packages/bbob-html/package.json
index d9ea337..5988720 100644
--- a/packages/bbob-html/package.json
+++ b/packages/bbob-html/package.json
@@ -1,10 +1,10 @@
{
"name": "@bbob/html",
- "version": "2.5.0",
+ "version": "2.5.1",
"description": "HTML renderer for @bbob bbcode parser",
"keywords": [],
"dependencies": {
- "@bbob/core": "^2.5.0",
+ "@bbob/core": "^2.5.1",
"@bbob/plugin-helper": "^2.4.0"
},
"main": "lib/index.js",
diff --git a/packages/bbob-parser/CHANGELOG.md b/packages/bbob-parser/CHANGELOG.md
index 4a316fb..5e7d800 100644
--- a/packages/bbob-parser/CHANGELOG.md
+++ b/packages/bbob-parser/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [2.5.1](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.1) (2019-06-18)
+
+
+### Bug Fixes
+
+* **parser:** fix issue with escaping backslashes when enableEscapeTags is set ([#20](https://github.com/JiLiZART/bbob/issues/20)) ([8a9e930](https://github.com/JiLiZART/bbob/commit/8a9e930))
+
+
+### Features
+
+* **parse:** allow tags to be escaped with backslash ([#17](https://github.com/JiLiZART/bbob/issues/17)) ([c4f78c1](https://github.com/JiLiZART/bbob/commit/c4f78c1))
+
+
+
+
# [2.5.0](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.0) (2019-06-17)
diff --git a/packages/bbob-parser/package.json b/packages/bbob-parser/package.json
index 0a9c33a..eb45b9c 100644
--- a/packages/bbob-parser/package.json
+++ b/packages/bbob-parser/package.json
@@ -1,6 +1,6 @@
{
"name": "@bbob/parser",
- "version": "2.5.0",
+ "version": "2.5.1",
"description": "Just parses BBcode to AST array. Part of @bbob bbcode parser",
"keywords": [
"bbcode",
diff --git a/packages/bbob-parser/src/lexer.js b/packages/bbob-parser/src/lexer.js
index 34255ca..f110b61 100644
--- a/packages/bbob-parser/src/lexer.js
+++ b/packages/bbob-parser/src/lexer.js
@@ -53,7 +53,7 @@ function createLexer(buffer, options = {}) {
const RESERVED_CHARS = [closeTag, openTag, QUOTEMARK, BACKSLASH, SPACE, TAB, EQ, N, EM];
const NOT_CHAR_TOKENS = [
...(options.enableEscapeTags ? [BACKSLASH] : []),
- openTag, SPACE, TAB, N, BACKSLASH,
+ openTag, SPACE, TAB, N,
];
const WHITESPACES = [SPACE, TAB];
const SPECIAL_CHARS = [EQ, SPACE, TAB];
@@ -163,6 +163,10 @@ function createLexer(buffer, options = {}) {
bufferGrabber.skip(); // skip the \ without emitting anything
bufferGrabber.skip(); // skip past the [ or ] as well
emitToken(createToken(TYPE_WORD, nextChar, row, col));
+ } else if (options.enableEscapeTags && currChar === BACKSLASH && nextChar === BACKSLASH) {
+ bufferGrabber.skip(); // skip the first \ without emitting anything
+ bufferGrabber.skip(); // skip past the second \ and emit it
+ emitToken(createToken(TYPE_WORD, nextChar, row, col));
} else if (currChar === openTag) {
bufferGrabber.skip(); // skip openTag
diff --git a/packages/bbob-parser/test/lexer.test.js b/packages/bbob-parser/test/lexer.test.js
index 1ee641d..3a92cff 100644
--- a/packages/bbob-parser/test/lexer.test.js
+++ b/packages/bbob-parser/test/lexer.test.js
@@ -305,6 +305,29 @@ describe('lexer', () => {
expectOutput(output, tokens);
});
+ test('escaped tag and escaped backslash', () => {
+ const tokenizeEscape = input => (createLexer(input, {
+ enableEscapeTags: true
+ }).tokenize());
+ const input = '\\\\\\[b\\\\\\]test\\\\\\[/b\\\\\\]';
+ const tokens = tokenizeEscape(input);
+ const output = [
+ [TYPE.WORD, '\\', '0', '0'],
+ [TYPE.WORD, '[', '0', '0'],
+ [TYPE.WORD, 'b', '0', '0'],
+ [TYPE.WORD, '\\', '0', '0'],
+ [TYPE.WORD, ']', '0', '0'],
+ [TYPE.WORD, 'test', '0', '0'],
+ [TYPE.WORD, '\\', '0', '0'],
+ [TYPE.WORD, '[', '0', '0'],
+ [TYPE.WORD, '/b', '0', '0'],
+ [TYPE.WORD, '\\', '0', '0'],
+ [TYPE.WORD, ']', '0', '0'],
+ ];
+
+ expectOutput(output, tokens);
+ });
+
describe('html', () => {
const tokenizeHTML = input => createLexer(input, { openTag: '<', closeTag: '>' }).tokenize();
diff --git a/packages/bbob-parser/test/parse.test.js b/packages/bbob-parser/test/parse.test.js
index 8ada554..00f3e8c 100644
--- a/packages/bbob-parser/test/parse.test.js
+++ b/packages/bbob-parser/test/parse.test.js
@@ -184,7 +184,7 @@ describe('Parser', () => {
]);
});
- test('parse escaped tags tags', () => {
+ test('parse escaped tags', () => {
const ast = parse('\\[b\\]test\\[/b\\]', {
enableEscapeTags: true
});
@@ -199,5 +199,25 @@ describe('Parser', () => {
']',
]);
});
+
+ test('parse escaped tags and escaped backslash', () => {
+ const ast = parse('\\\\\\[b\\\\\\]test\\\\\\[/b\\\\\\]', {
+ enableEscapeTags: true
+ });
+
+ expectOutput(ast, [
+ '\\',
+ '[',
+ 'b',
+ '\\',
+ ']',
+ 'test',
+ '\\',
+ '[',
+ '/b',
+ '\\',
+ ']',
+ ]);
+ });
});
});
diff --git a/packages/bbob-preset-html5/CHANGELOG.md b/packages/bbob-preset-html5/CHANGELOG.md
index 7c9edaa..8619b21 100644
--- a/packages/bbob-preset-html5/CHANGELOG.md
+++ b/packages/bbob-preset-html5/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [2.5.1](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.1) (2019-06-18)
+
+
+### Features
+
+* **preset-html5:** list type attribute support ([#18](https://github.com/JiLiZART/bbob/issues/18)) ([847c55e](https://github.com/JiLiZART/bbob/commit/847c55e))
+
+
+
+
# [2.5.0](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.0) (2019-06-17)
diff --git a/packages/bbob-preset-html5/package.json b/packages/bbob-preset-html5/package.json
index 6adb8dc..a3d2f94 100644
--- a/packages/bbob-preset-html5/package.json
+++ b/packages/bbob-preset-html5/package.json
@@ -1,6 +1,6 @@
{
"name": "@bbob/preset-html5",
- "version": "2.5.0",
+ "version": "2.5.1",
"description": "HTML5 preset to transform BBCode to HTML for @bbob/parser",
"keywords": [
"preset",
@@ -12,7 +12,7 @@
"@bbob/preset": "^2.4.0"
},
"devDependencies": {
- "@bbob/html": "^2.5.0"
+ "@bbob/html": "^2.5.1"
},
"main": "lib/index.js",
"module": "es/index.js",
diff --git a/packages/bbob-preset-react/CHANGELOG.md b/packages/bbob-preset-react/CHANGELOG.md
index d7dea30..7539432 100644
--- a/packages/bbob-preset-react/CHANGELOG.md
+++ b/packages/bbob-preset-react/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [2.5.1](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.1) (2019-06-18)
+
+
+
+
+**Note:** Version bump only for package @bbob/preset-react
+
# [2.5.0](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.0) (2019-06-17)
diff --git a/packages/bbob-preset-react/package.json b/packages/bbob-preset-react/package.json
index 4ae8754..f656ff6 100644
--- a/packages/bbob-preset-react/package.json
+++ b/packages/bbob-preset-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@bbob/preset-react",
- "version": "2.5.0",
+ "version": "2.5.1",
"description": "React preset to transform BBCode to React for @bbob/react",
"keywords": [
"bbob",
@@ -8,10 +8,10 @@
"react"
],
"dependencies": {
- "@bbob/preset-html5": "^2.5.0"
+ "@bbob/preset-html5": "^2.5.1"
},
"devDependencies": {
- "@bbob/core": "^2.5.0"
+ "@bbob/core": "^2.5.1"
},
"main": "lib/index.js",
"module": "es/index.js",
diff --git a/packages/bbob-react/CHANGELOG.md b/packages/bbob-react/CHANGELOG.md
index b8d8eed..fd083a8 100644
--- a/packages/bbob-react/CHANGELOG.md
+++ b/packages/bbob-react/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [2.5.1](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.1) (2019-06-18)
+
+
+
+
+**Note:** Version bump only for package @bbob/react
+
# [2.5.0](https://github.com/JiLiZART/bbob/compare/v2.4.1...v2.5.0) (2019-06-17)
diff --git a/packages/bbob-react/package.json b/packages/bbob-react/package.json
index 509944f..14c58d6 100644
--- a/packages/bbob-react/package.json
+++ b/packages/bbob-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@bbob/react",
- "version": "2.5.0",
+ "version": "2.5.1",
"description": "Render BBCode to React using @bbob/parser",
"keywords": [
"react",
@@ -9,8 +9,8 @@
"bbob"
],
"dependencies": {
- "@bbob/core": "^2.5.0",
- "@bbob/html": "^2.5.0",
+ "@bbob/core": "^2.5.1",
+ "@bbob/html": "^2.5.1",
"@bbob/plugin-helper": "^2.4.0"
},
"peerDependencies": {
@@ -18,7 +18,7 @@
"react": "15.x"
},
"devDependencies": {
- "@bbob/preset-react": "^2.5.0",
+ "@bbob/preset-react": "^2.5.1",
"enzyme": "^3.9.0",
"enzyme-adapter-react-15": "^1.0.6",
"react": "15.x",