diff src/formats/bbcode.js @ 41:7491026f7623

remove isSelfClosing
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 19 Aug 2022 19:27:03 -0600
parents 0c4e4b5ef40d
children ab2dc8736d88
line wrap: on
line diff
--- a/src/formats/bbcode.js	Fri Aug 19 18:45:17 2022 -0600
+++ b/src/formats/bbcode.js	Fri Aug 19 19:27:03 2022 -0600
@@ -148,7 +148,7 @@
 			txtExec: ['[table][tr][td]', '[/td][/tr][/table]']
 		},
 		horizontalrule: {
-			txtExec: ['[hr]']
+			txtExec: ['[hr][/hr]']
 		},
 		code: {
 			txtExec: ['[code]', '[/code]']
@@ -529,9 +529,8 @@
 				hr: null
 			},
 			allowsEmpty: true,
-			isSelfClosing: true,
 			isInline: false,
-			format: '[hr]{0}',
+			format: '[hr][/hr]',
 			html: '<hr />'
 		},
 		// END_COMMAND
@@ -1294,16 +1293,16 @@
 						addTag(token);
 						bbcode = bbcodeHandlers[token.name];
 
-						// If this tag is not self closing and it has a closing
+						// If this tag has a closing
 						// tag then it is open and has children so add it to the
 						// list of open tags. If has the closedBy property then
 						// it is closed by other tags so include everything as
 						// it's children until one of those tags is reached.
-						if (bbcode && !bbcode.isSelfClosing &&
+						if (bbcode &&
 							(bbcode.closedBy ||
 								hasTag(token.name, TOKEN_CLOSE, toks))) {
 							openTags.push(token);
-						} else if (!bbcode || !bbcode.isSelfClosing) {
+						} else {
 							token.type = TOKEN_CONTENT;
 						}
 						break;
@@ -1467,8 +1466,7 @@
 
 					// Handle the start and end new lines
 					// e.g. [tag]\n and \n[/tag]
-					if (!onlyRemoveBreakAfter && parentBBCode &&
-						parentBBCode.isSelfClosing !== true) {
+					if (!onlyRemoveBreakAfter && parentBBCode) {
 						// First child of parent so must be opening line break
 						// (breakStartBlock, breakStart) e.g. [tag]\n
 						if (!left) {
@@ -1701,8 +1699,7 @@
 				// are all removed this one doesn't think it's not empty.
 				removeEmpty(token.children);
 
-				if (isTokenWhiteSpace(token.children) && bbcode &&
-					!bbcode.isSelfClosing && !bbcode.allowsEmpty) {
+				if (isTokenWhiteSpace(token.children) && bbcode && !bbcode.allowsEmpty) {
 					tokens.splice.apply(tokens, [i, 1].concat(token.children));
 				}
 			}
@@ -1849,7 +1846,7 @@
 		 * @private
 		 */
 		function convertToBBCode(toks) {
-			var	token, attr, bbcode, isBlock, isSelfClosing, quoteType,
+			var	token, attr, bbcode, isBlock, quoteType,
 				breakBefore, breakStart, breakEnd, breakAfter,
 				ret = '';
 
@@ -1860,13 +1857,12 @@
 				// TODO: tidy this
 				bbcode        = bbcodeHandlers[token.name];
 				isBlock       = !(!bbcode || bbcode.isInline !== false);
-				isSelfClosing = bbcode && bbcode.isSelfClosing;
 
 				breakBefore = (isBlock && base.opts.breakBeforeBlock &&
 						bbcode.breakBefore !== false) ||
 					(bbcode && bbcode.breakBefore);
 
-				breakStart = (isBlock && !isSelfClosing &&
+				breakStart = (isBlock &&
 						base.opts.breakStartBlock &&
 						bbcode.breakStart !== false) ||
 					(bbcode && bbcode.breakStart);
@@ -1918,7 +1914,7 @@
 					}
 
 					// add closing tag if not self closing
-					if (!isSelfClosing && !bbcode.excludeClosing) {
+					if (!bbcode.excludeClosing) {
 						if (breakEnd) {
 							ret += '\n';
 						}
@@ -1929,12 +1925,6 @@
 					if (breakAfter) {
 						ret += '\n';
 					}
-
-					// preserve whatever was recognized as the
-					// closing tag if it is a self closing tag
-					if (token.closing && isSelfClosing) {
-						ret += token.closing.val;
-					}
 				} else {
 					ret += token.val;
 				}