Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№103-03-2021 11:12:10

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1647
UA: Firefox 78.0

Кнопка вызывающая панель BBCode

Панель с BBCode
   
Подключается в user_chrome_files
Основное обсуждение самого user_chrome_files в теме Настройка внешнего вида Firefox в userChrome.css
   

ySE5iBb.jpg

   
Все кнопки имеют подсказки на русском. В конце документа некоторые инструкции по редактированию скрипта.
   
Скрипт

Выделить код

Код:

// Этот скрипт можно использовать для создания кнопок с помощью CustomizableUI.createWidget

// BBCode - Multi от Dumby
// https://forum.mozilla-russia.org/viewtopic.php?pid=788834#p788834
// эта модификация
// https://forum.mozilla-russia.org/viewtopic.php?id=76415
// Для custom_script.js в user_chrome_files

(async (data, bbc) => CustomizableUI.createWidget(bbc = {
	label: "BBCode - Multi",
	id: "ucf-cbbtn-BBCode-Multi",
	tooltiptext: "BBCode pane",
	localized: false,
  
	onCreated(btn) {
		btn._handleClick = this.click;
		btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA6ElEQVQ4Ec1S2xGDIBAEhjJShfqhqSMxfaQQ+9BYR/RDbSJdOI5ml1EmOGj8SxiOO7hl7wFC/HrItm3TaZryOZE0iqLHbHtV0zRXOAqIkFLeFA0KN8MwVLT3hBhiF4xejDAMi67rEmR0Xs58GpdfQRAUyMRkbQkIHsfxDn2BbE6UW8LJMqCEcAhQv3UY74HFIUBazCDZuFchQLb22SauHUf3Tga+CN+IHAKUwD+w20QQlghke+UQKKUydJkkwPknn/HTYwnw/mnf9884jnc/U13XJ2IRyPDYJuIg11pvvYABcyGGWNr/IW9K61Coe1UGFwAAAABJRU5ErkJggg==");
	},
	click() {
		var document = this.ownerDocument;

		var names = ["menupopup", "hbox", "popupset", "button"];
		var btnAttrs = ["label", "tooltiptext", "value1", "value2", "popup", "image"];
		var prefixId = "ucf-cbbtn-BBCode-node";

		var rep = str => str.replace(/%dot%/g, ".").replace(/%sym%/g, "|");

		for(var str of data.split("\n")) if (str) {
			var nm = str.split(".").map(rep);

			var name = names[nm[0]];
			var id = parseInt(nm[1]) && (prefixId + nm[1]);
			var parent = document.getElementById(prefixId + nm[2]) || this;
			var attrs = nm[3] ? nm[3].split("|").map(rep) : [];

			var node = document.createXULElement(name);
			if (id) node.id = id;
			if (name == "button") {
				btnAttrs.forEach((attr, i) => attrs[i] && node.setAttribute(
					attr, (attr == "label" ? " " : "") + attrs[i]
				));
				//node.setAttribute("height", "8px");
				var p = node.getAttribute("popup");
				p && node.setAttribute("popup", prefixId + p);
			}
			else {
				if (name == "menupopup") node.style.cssText =
					"-moz-appearance: none !important; border: 1px solid gray !important;";
				for(let str of attrs)
					node.setAttribute(...str.split("="));
			}
			parent.append(node);
		}
		for(var btn of document.getElementById(prefixId + 23).children) {
			btn.setAttribute("image", "data:image/x-icon;base64,AAABAAEAIA4AAAEAIABgBwAAFgAAACgAAAAgAAAAHAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAH////5////+f////n////5////+f////n////5////+f////n////5////+f////gAAAAA=");
			btn.setAttribute("value1", "color");
			btn.icon.style.setProperty(
				"background-color", btn.getAttribute("value2"), "important"
			);
		}
		for(var hbox of this.lastChild.querySelectorAll(
			":not(#ucf-cbbtn-BBCode-node23) > button > hbox"
		)) {
			hbox.removeAttribute("pack");
			hbox.style.paddingLeft = "5px";
		}
		bbc.popup = this.lastChild.cloneNode(true);

		var click = this._handleClick = function() {
			var trg = this.ownerGlobal.event.target;
			trg == this ? this.lastChild.openPopup(this) : bbc.bbc(trg);
		}
		bbc.click = function(e) {
			this.append(this.ownerDocument.importNode(bbc.popup, true));
			(this._handleClick = click).call(this);
		}
		click.call(this);
	},
	async bbc(trg) {
		var v1 = trg.getAttribute("value1");
		if (!v1) return;

		var win = trg.ownerGlobal;
		var v2 = trg.getAttribute("value2");
		var dc = "", plus = false, u, pno = false
		if (v2) {
			if (/^%(\+?)no%$/.test(v2)) {
				u = this.url(encodeURIComponent(v1), "", false, true, Boolean(RegExp.$1));
			} else {
				var re = /%(\+)?(d)?clipboard%/;
				if (re.test(v2)) {
					var {$1, $2, leftContext} = RegExp;
					var cb = await win.navigator.clipboard.readText();
					if ($2) {
						if ($1) { // +dclip
							plus = true;
							var r = v2.slice(leftContext.length);
							v2 = "=" + leftContext;
							dc = r.replace(re, cb);
						}
						else { // dclip
							dc = v2.replace(re, cb);
							v2 = false;
						}
					}
					// clip
					else if (!$1) v2 = "=" + v2.replace(re, cb);
				}
				else v2 = "=" + v2;
			}
		}
		win.gBrowser.selectedBrowser.messageManager.loadFrameScript(u || this.url(
			encodeURIComponent(`[${v1 + (v2 || "")}]${dc}`), encodeURIComponent(`[/${v1}]`),
			v2 == "=%move%", v2 === false || plus, pno
		), false);
	},
	url(...args) {
		var code = `((bb1, bb2, move, dc, pno) => {
			var box = Cc["@mozilla.org/focus-manager;1"]
				.getService(Ci.nsIFocusManager)
				.getFocusedElementForWindow(content, true, {});
			var ed = box && box.editor;
			if (!(ed && ed instanceof Ci.nsIEditor)) return;

			var ins, s = box.selectionStart;
			var mid = dc && !pno ? "" : ed.selection.getRangeAt(0).toString();

			bb1 = decodeURIComponent(bb1);
			if (pno) {
				if (!/\\r?\\n/.test(mid)) return;
				var joiner = RegExp.lastMatch;
				var arr = mid.split(joiner);

				${(() => { // options
					var ignoreEmpty = false;
					var ignoreStartsWith = false;

					var ind = "\n" + "\t".repeat(4);
					var has = ignoreEmpty || ignoreStartsWith;
					var rv = has
						? [
							"ins = arr.map((line, ind) => !ind ? line :",
							"\t" + (ignoreEmpty ? "!line" : "") +
								(ignoreStartsWith ? (ignoreEmpty ? " || " : "") + "line.startsWith(bb1)" : ""),
							"\t\t? line : bb1 + line",
							").join(joiner);"
						].join(ind)
						: "ins = arr.join(joiner + bb1);"

					rv += ind + 'if (!s || box.value[s - 1] == "\\n")';

					var res = ind + "\t";
					if (has) {
						if (ignoreEmpty && !ignoreStartsWith)
							res += "if (!ins.startsWith(joiner)) ";
						else if (!ignoreEmpty && ignoreStartsWith)
							res += "if (!ins.startsWith(bb1)) ";
						else
							res += "if (!ins.startsWith(joiner) && !ins.startsWith(bb1)) ";
					}
					return rv + res + "ins = bb1 + ins;";
				})()}
			}
			else
				ins = bb1.replace(/%copy%|%move%/, mid)
					+ (move ? "" : mid) + decodeURIComponent(bb2);

			ed${Ci.nsIPlaintextEditor ? ".QueryInterface(Ci.nsIPlaintextEditor)" : ""}.insertText(ins);
			box.selectionStart = s;
			box.selectionEnd = s + ins.length;
			//box.focus();
		})(`;
		var prfx = "data:charset=utf-8," + encodeURIComponent(code);
		return (this.url = (bb1, bb2, move, dc, pno) => prfx
			+ `"${encodeURIComponent(bb1)}", "${encodeURIComponent(bb2)}", ${move}, ${dc}, ${pno});`
		)(...args);
	}
}))(`
0.1.0.position=after_start|oncontextmenu=event%dot%preventDefault();
1.2.1

3.0.2.BBcode|Теги выделения|||5|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABE0lEQVQ4Ea2Qv04CQRCHB6SgszAWFgSijU9A6xbG2oTwGryFvICVtQ2Fj2FiQ2Lpn8QYGy1oKBRiNJzfDBl24ZZIopffN/Pb3bm52RP541NJ3j/A9yHdYykzwhs8whWMIKsgIsUvfHLegayCxAbv+GHCBO/NdZoq65KCxAY3+FRNFtq0ICt7ZFO2k50shxeWfvcv/BhMNYvlsMNWF1T6kSNMS+bPBWkKJQWJVyjW+G/2O7DQugleqbgElda0ROQUtmAAbbiFJQWJE6z+RI7kjOCTneNNej8zG4SHpKbhXsdzn+Y6i31w7WJ64Hpyk+Yg8Qo+ai5PqDsEU9Xi5uGa0mO4B1PF4jxsk04gpw827+AZ/lc/62hJT/vXwVcAAAAASUVORK5CYII=
2.4.2
0.5.4.position=after_start

3.0.2.Lnk Img|Ссылки и изображения|||7|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4EbXSQUrDUBSF4adjcRuKO+isYGsVRKzYgjsoBXEZUmeCacGpKBRx5A6UrsGFCC3WDvzuIJBJkooYzp9zH/e8vHchKf3x2fjF/nPZY3xijA+spThkIrnEFDMssIO1FKfNJdvI9a7IUKuuRJzc4UU9WgRpU1GlI817bKOBUMurh2fUal9igBXiNm0e44x4qU51JmimlC6xxAUyfOMapbrRidAdv0LUfd5MKd3iEKWKa811Y8YzHtce8BiDVaur/YU83FD3kCHGYdV60n5AUR2LGOGE12os8YZcB4oF4gasXrsisWHGp4iT46PxG1uWqxjYExtiC694wf/rBxPBMGc7Uw/YAAAAAElFTkSuQmCC
2.6.2
0.7.6.position=after_start

3.0.2.Clipboard|Операции с буфером|||9|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABA0lEQVQ4EaWTv0oDQRDGx9NUERIkEEhnCt/BLoV5l4BNniHpw0EK0+Y9QlobX8BCOwtBBMFUmj+/74pl9o71Qjy+3+3M7LdzU+ydmYUnI2rBFoYwAq8HkhWcwxfsIOiC6AX28AQzUOxRTXuqPbPfANNXtbZ59eERlvALZf1Q0J48N8Sa1vRl4qA10RyasACvd5INdOEWCpUbFEVeMr6y1iqrddQYUhPknOuA1wfJGCKlGlSM0SmXpBrkeP41wYQGujAsQdsQuSA1wT2eK/D6JJlCpFSDijE65ZLMxSeF5Qmu6XIHf0meyv4lFd11/SjHIG+TM+Ff+CYZmFkPjtEbJl13OwDEjjLU6ZLlPwAAAABJRU5ErkJggg==
2.8.2
0.9.8.position=after_start

3.0.2.Quote|Цитаты, коды, спойлеры|||11|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
2.10.2
0.11.10.position=after_start

3.0.2.Size|Размер шрифта|||13|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
2.12.2
0.13.12.position=after_start

3.0.2.Font|Шрифт|||15|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABLUlEQVQ4EZ3SvyuEcRwH8NMZcJisBkoyyGCni1KMEiUrMphsBhOLf0CyWPgfGDEZlEzKdDGJOOdHOef10RHuOeF6v76f7/P5PN97nq5LpSo/9VpN/Ctx+NLJIr38OVNOlMrW1D9nx4k8h1xRx3u6bdqomlaTIptME28yrkYGLHFdUJtJzJJuiSxx0726S2TLErMwY1+RGp1THphgjGOe6aDAHjfsU5F+nVKCnN4cMZtU14l9l/olG65iMK8Olo2oyxxwRyNZ4r5l9SMZu1suSPM5PS5eOGGaWR7JkeYtfdYzFvmeFY14YpIhsx8TT8i5I96uU20vG1XjC7fVHzNsGjfG72P7kRq7eOMntSVtqZZ+gwZWOedz4nBG46jWUi15g2sWSErM4s+WNPt97xVThExn/QTzMgAAAABJRU5ErkJggg==
2.14.2
0.15.14.position=after_start

3.0.2.Text|Выравниваеие текста|||17|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jEg8aSD7EBATg+yAip4CMQMLiIDij0C6E4iJQSC1xKgjrAbkBVugslwgJgdNBnnhF1DneyAmB4H0kqMPoQfkBRiPD8jIBGJi0HSgok9AzIBsgCRQYDMQE4N8gYqeAzHlCOQCCaAxOkBMDroC0kRRZgIZQBEGABHsLR+MEAX1AAAAAElFTkSuQmCC
2.16.2
0.17.16.position=after_start

3.0.2.List|Теги списков|||19|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA5klEQVQ4Eb2SMQrCMBRAUxQEwa2rgxRXJ3HQycHNQQ/gBZxcHBxcvYCDk+AsuIjgoOAVxNULCA6KSBcL+n6haCvRFovlvZ/8/CRNIErF/KXYr4yhMQIzR+RNtNDEBOqwKRzQpUOcKKUcrKFwJNw/uKSmkhJQFrZo+7hCoUj4dgKmPKnQDV6JoWiUmL7ANIbCu0KW2Rmc4RptHGMGdWwpDLwNhiR13GEbhTPBQR3X14JJMscc/kQsD6nBESzMo3dFum9cGNmjS484xRtWUYj0kE6skCfcpd2gICcwpKNRfuYrFXzZv5IHQFEvl0DCMssAAAAASUVORK5CYII=
2.18.2
0.19.18.position=after_start

3.0.2.Table|Таблица|||21|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAyklEQVQ4Ec2SvQ4BQRDHh0i0FHqFSPQ+XsDraE6nulKv4KXUFPQXEhKVjt/szVwWhWKbu/y/bnZusrdZkTo9SzZzgbc/1J6MnoBG0FJOWC4iB+hYWNiYq42QXEQGUFoqRh12JO+ho7AQ17RPGZaaQRMkeUD8C7qPFXKFjpmFrrlaT8X5PeDBwh06nhbiWttqP3amMoYx1rwosQrao72hkHwGyQPiM3ixpynsQEdfymdeWtAhqr2YfFykHZUMVpeE7Jh4wPXjLV4TvAFTwyALi35LqQAAAABJRU5ErkJggg==
2.20.2
0.21.20.position=after_start

3.0.2.Colors|Цвета|||23|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABUUlEQVQ4EaXSMUvDQBjG8SQq1ijorIWiIA4uLjqI+gGkYlHQJTq7ubg7uIijk0OXOru5ujh2UUEogiCImyCiUERsE/9P7MkLTUCwPL9737tLmiPE97z0N8TYB6XN8I4/p8CVMRJjjF4ZZ+hFbgJ2xKfa6KYRFupoYBm5CdmxT1dfYu0ISYdOeErflaBr5WehRNmFi0447Ca2aiNkoQmbiIleapm6jk/MYgMD2EOavD/YYreGKt7whQUsIcY86kijEyR0VmTmT/R6ut2/Yq0HXt470Hegp+qafYZFnMFlmmYGabJOoBt22L3EAVpYhd7FBXUKv8n6g4jdFir4QIIHbGOio0j19MGoZjlh8RW6+Zh6jhXU4BIGrqPe4RrKC4Pe8iF1E6Oo4hk2vj1Bv9lp0E9iDfcYxCMyU2A1ho7qzDG/gU7h1prMb+HmbXrdS/lHvgGnAlfkCv2wRwAAAABJRU5ErkJggg==
2.22.2
0.23.22.position=after_start|height=205px

3.0.5.Bold|Полужирный|b|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABE0lEQVQ4Ea2Qv04CQRCHB6SgszAWFgSijU9A6xbG2oTwGryFvICVtQ2Fj2FiQ2Lpn8QYGy1oKBRiNJzfDBl24ZZIopffN/Pb3bm52RP541NJ3j/A9yHdYykzwhs8whWMIKsgIsUvfHLegayCxAbv+GHCBO/NdZoq65KCxAY3+FRNFtq0ICt7ZFO2k50shxeWfvcv/BhMNYvlsMNWF1T6kSNMS+bPBWkKJQWJVyjW+G/2O7DQugleqbgElda0ROQUtmAAbbiFJQWJE6z+RI7kjOCTneNNej8zG4SHpKbhXsdzn+Y6i31w7WJ64Hpyk+Yg8Qo+ai5PqDsEU9Xi5uGa0mO4B1PF4jxsk04gpw827+AZ/lc/62hJT/vXwVcAAAAASUVORK5CYII=
3.0.5.Italic|Курсив|i|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAArElEQVQ4EbWPMQoCMRBFx0WwsbDxBAuCvWsrWHtCj2DtKdQDWKm9ljbC4u4bmCbEiUmx4b/9ZLJ/khEZeI3ov4cDLKBYSxKdUeORqqgSFta2feE3iPSvQWOJC64vwULlNjiFsbzdhN8+oDfv8GLp/BpW5l46NUJjoYeIPOGnchok50810BH01rN+SpkR+ILOv8GLtSXRQQtTcFU5JyurX/E3uBo7J0fqdwMbUD0ADBpiB0meUwAAAABJRU5ErkJggg==
3.0.5.Under|Подчеркнутый|u|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA1UlEQVQ4Ec2SQQ4BQRBFm2CcxS1wCBeQSJzA1k5cxCls3UDiAGIjSMSGDe/3pNBDd4xYkP+rftWvqenoce7ffjMOdIJH2IaGDkI9eZqhfI8e7StcwwY0SKsnTzPWd9W7ysUuT+5MvkCDtHqqbUb6ZYFvlgnFE5R51s/+fIH+Zb85EXQbUbuJc4Aaej5dnZ6W78kZTGKAq+sak23JFK1en/wRhkzpbRvyFurqtBgZohKWQZVRtaCwJOhbIIUoLhhhd2EKc8wJ9Kj5+AgLpI5OimIVdb4xbqdLJIzecCZXAAAAAElFTkSuQmCC
3.0.5.Strike|Зачеркнутый|s|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjAiOQAcyB7ExCzAjE+9Bso6QfEJ4GYgQVEQLEskL4HxDlADEJcQGIWEINQGpD4BsQgNAVIgNSCDQCy4YgDyFIEYhgSBDL+QzGIDWSCEUgNSC2Yg48AacJmAIoeJhQeGRyKDUC3czVQAOZsXDRIDVAZBDFCKDjJDmSBQh9I4USg2PiJUxZJgg/IBkUrCIPYQC5piOJYMEKyD5mNJIybyQ+UugbEL6AYxCbLG0D9NEYA290fw5d4JN8AAAAASUVORK5CYII=
3.0.5.Super|Надстрочный|sup|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAfElEQVQ4Ee2QywmAMBAFrcUyFBUUT+m/CWMRzuQgBsQfnkR5L5vdnSdoUXz+6fjCFj+S4Ymkvv2SQDDiCtfYe6BekmCENEhJ8u4spO7gEIjsDVAyOXMXsummcTHTC1J25U5GNgMauohHfCYZWTMrW3Lr8VUNgCX+9cYfWABkBhH7SVfn0gAAAABJRU5ErkJggg==
3.0.5.Sub|Подстрочный|sub|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAeUlEQVQ4Ee2QQQqAMAwE+5b+woMKikf9/xv0E+6AlbYohiCeLAmx2dkVGsJ/XnuBqKRBba1RYFSf1eprU0/qp4KBxVOwjW4Ii+ZdocHAXjIIAIA1wA4NptaKOwDgnG3N5uTJQwgikF3STbMXtR7dabqKELfZ9cfvTTuAtRH/9eSZhAAAAABJRU5ErkJggg==

3.0.7.Link +|Выделенный URL как ссылка + текст (пусто)|url|%move%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABOklEQVQ4EaWTwUoCURSGTz5Ar5H4BrMTzDSQaDIFIWwrgvQYkbugUXAViIK1atuy8Blc+RSC4mTU9w/cyYRJJfm/+597zznee6TM/vk52KP/ktoSzKADE9hJuqRLZQgjGMMCjmAn6bY5lXlweicIYKt8KnRzAV/XgI2wFMFfOiXZg0PwQDpmqcAzbFWOigasQK/J4xrnDk/UOZkuZM2sBSHUIIAPuIVEtcmo6AG/AcVVPGtm91CEROlZc7Ka8QLXsxu4xsB+qc7uFXoQyWddgiv2iCsQgMbBYl0TfYJGecEjDVn7sK4CG41whjvpZjV/cbCEONdh8wZOJwQL0AuwSFesK1BziPsQK02khjE+At2sL9WfMVvTTa5ZubION8lwoF//0cw2C4acNUHNVXwv6RVTOp5A/43Yj74BsvRDbF//RwwAAAAASUVORK5CYII=
3.0.7.PostLink|Выделенный URL и как ссылка и как текст |url|%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4EbXSQUrDUBSF4adjcRuKO+isYGsVRKzYgjsoBXEZUmeCacGpKBRx5A6UrsGFCC3WDvzuIJBJkooYzp9zH/e8vHchKf3x2fjF/nPZY3xijA+spThkIrnEFDMssIO1FKfNJdvI9a7IUKuuRJzc4UU9WgRpU1GlI817bKOBUMurh2fUal9igBXiNm0e44x4qU51JmimlC6xxAUyfOMapbrRidAdv0LUfd5MKd3iEKWKa811Y8YzHtce8BiDVaur/YU83FD3kCHGYdV60n5AUR2LGOGE12os8YZcB4oF4gasXrsisWHGp4iT46PxG1uWqxjYExtiC694wf/rBxPBMGc7Uw/YAAAAAElFTkSuQmCC
3.0.7.AnLink|Анонимная ссылка|url|http://anonym%dot%to/?%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVQ4EaWQwUoCURSGz7SoXdsM2he9ga0UMw3CslIQci9E9hhRu8BRaBVEgVQvUbh1G7QLaqerakQL6vuHRmYzOdHwf+c/l3vOPfeO2T8/5w/9u9RuwCs04QFiSUNaVI6gDR0YwCLEkqZ5VGYh0D2JCxNVpEKTc3hYlyyETZH8pnU2z2AWkiCtEkpwDROVoaIGn6DbZHE95xiP1BY7LUiZ2QGMoAIufMARROqEHRU18ENQXsZTZnYKeYiUruWxqzdu47p2DdczMF/zxAKkYQbGKpINIShOkpfABT0HsyrhHb5+6OJz4OuKeAFh5VjoCQV8AYbQhheQP+Pqw8yaxDsItEYyABekPYImq2mFfB+07uG+lohq6OA6XZN1qMNayhDUcIPXYRP68AhjLZPp75+b2Q6ENc2iC7qBDuqRe6CbYPGUoOwW3uAJ6uB8A7cySx8rt0BJAAAAAElFTkSuQmCC
3.0.7.HrliLink|Анонимная ссылка|url|http://href%dot%li/?=%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVQ4EaWQwUoCURSGz7SoXdsM2he9ga0UMw3CslIQci9E9hhRu8BRaBVEgVQvUbh1G7QLaqerakQL6vuHRmYzOdHwf+c/l3vOPfeO2T8/5w/9u9RuwCs04QFiSUNaVI6gDR0YwCLEkqZ5VGYh0D2JCxNVpEKTc3hYlyyETZH8pnU2z2AWkiCtEkpwDROVoaIGn6DbZHE95xiP1BY7LUiZ2QGMoAIufMARROqEHRU18ENQXsZTZnYKeYiUruWxqzdu47p2DdczMF/zxAKkYQbGKpINIShOkpfABT0HsyrhHb5+6OJz4OuKeAFh5VjoCQV8AYbQhheQP+Pqw8yaxDsItEYyABekPYImq2mFfB+07uG+lohq6OA6XZN1qMNayhDUcIPXYRP68AhjLZPp75+b2Q6ENc2iC7qBDuqRe6CbYPGUoOwW3uAJ6uB8A7cySx8rt0BJAAAAAElFTkSuQmCC
3.0.7.Image|Выделенный URL как картинка|img|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA50lEQVQ4EcWQMQ/BUBDHr9LEoEEwGYTEbGK2ScTiu9gtJosdMfoAEoQvYzKbGpvU75o+2iJpGTT/37279+7uvZ7Ij59F/QG+ljbwqHbhAmlUItkB0QYLdVKiNV4mYZG+tEGuDRG9a1AXkT3kwGiCc4IVRBRvUOB0C32YgVE5cPS/A/e5mBno845sa2wYEquymAHkwehlBlNOehDWkqAKN9Dbx6wteEhvNUHHOKG1gr+BIjRBNcKs4QoSn4HuxWmzYYpxfdV8i0nSgLTPskNHc/wdJNGZpC6IhfHAhQukkQ7Vsak4wv90BwaNIH/UeLoPAAAAAElFTkSuQmCC
3.0.7.E-Mail|Выделенный URL как email-ссылка|email|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABkElEQVQ4EYXQPWhTURgG4JNUB4suuhREELuIiiAodhHBUh1EUEQ3xQ6CgyiOQtdidRPq5Obq1KHiUCh2Kl10UUTQwSIOYkENWkrS+LwluSZKMbzP95Ob3JybWimbvoZcOcJ2vvCSb/w3x33iOc2OFb1Ni6cMs2luuZIvzupn2EKSU5w2zNMgs9af69Y1rtCb3ZZBkroyzQ/2UCUf+mm7QzdnDe9p84v7zLOL/B+P9CpTprcMkNxW8igP9ANcZZ2vbOUmy1R5bZogOaQ0GaebmqHBM5IxpcXGf5SLq5ZzJNPKIr0ZteQL+/TkstKg1JUY0POrWhlRZunNDcscH0guKQts3CB3/mjZT5JjNTN0nNAv8oIk8wXDPao8NC1RIxc+66c4yjvWuVZKmSQ3n9D7MmxbY5xtPKFJmzlmyPxJz/EP6zmZ9id3javkiFrZoeykmyFDHm9U/84UfanZJmmRExzT6yTpI4bH5Hp63rP+m5PeWiDPncda6cxt/RXnqZJfrZa/hr2llIMMkiO/0Zfpy29np1g4L+Y59wAAAABJRU5ErkJggg==

3.0.9.ClpB+Sel|URL из буфера (если есть) как ссылка + выделенный текст|url|%clipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABUElEQVQ4EaXRMWuTURQG4BMR3VwtxV2R/oFMtsQYBSnGtmL/QQcl0FV30U1IUugkiEoVRPwDDiWr0qmDk91bBWNjk2J8TiAhS2yK4X3uOR/3fNzvkoj//BVO8f6y2dv8pMkuUyUP2TDZZYsWHS4zVfK0Q5NlhtnWNDgxVRN5ckUdzysPKc5o/pVbNje5QJHMdcsK7zgxJRNrHJNfU1bzOk/VibljZ4P5iHhIl1Ua9HjCxDyzk0N1tUb299T5iHjOTSYmP+vQbt7xrpqfvabmNZRBLlkXWeA8o1R1RwyHi/oVGuR1lLhvyQN+q30+c5FBXltfMp6Kh7zCojrLL/LFx+oe2b85q8n8sMwxzA3NBzb5yDIFHvGJfa6R/4oSccXaocUWPZrkS0qULH84YJ0d2nxllKu6Oi8iYonxnPPwhT5v+U72D9SpM2PyPW2+UaPwFwaUSmECjuXKAAAAAElFTkSuQmCC
3.0.9.QuoteClpB|Цитата из буфера|quote|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
3.0.9.ItalicClpB|Курсивом из буфера|i|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAArElEQVQ4EbWPMQoCMRBFx0WwsbDxBAuCvWsrWHtCj2DtKdQDWKm9ljbC4u4bmCbEiUmx4b/9ZLJ/khEZeI3ov4cDLKBYSxKdUeORqqgSFta2feE3iPSvQWOJC64vwULlNjiFsbzdhN8+oDfv8GLp/BpW5l46NUJjoYeIPOGnchok50810BH01rN+SpkR+ILOv8GLtSXRQQtTcFU5JyurX/E3uBo7J0fqdwMbUD0ADBpiB0meUwAAAABJRU5ErkJggg==
3.0.9.CodeClpB|Код из буфера|code|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+ElEQVQ4Ec2RO2pCQRhGfxUMYtIpQQPapxIM2Nq5BzcQCzErkKxAVyGWrsHSRxYQEAsLxcJOtAgkej7h4mTIVVPpcM7M/xrv5Wp27RW78AXqzK1xhf/miRvfWLYzK0O/hj5vFOYYvK1mNEvpSIJwgCO8Q5chSQuFemMC1RKcB6LsPZxiCl2eSXZYwIBHghnqju7aO8kGi+ij3qdfJH/BLTb1C/cEYVRpdDGMBzUibB1cYg4DSgQ/mEeXHIlmdUd3Sc2S7B84Rn0oDmuzDdAlTjJCzSY5f5Elq6HQX7YgaKDPKwXNcoRTofWFaTyJnvTXQJziBPt282sPd+gjovO/D70AAAAASUVORK5CYII=
3.0.9.SplrClpB|Спойлер из буфера|spoiler|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAgklEQVQ4EWNgGAWMwCDwB+I+ICYHFYEMUAXqdARictB+cjSh6GEE8jKBuAKIyUEdLEBdv4H4FxCTg0B6ydGH0APygheQmwbE5KBZIC9YAnV6AjE56DI5mojSkwhU9Q4Ng8SAQsQhRqCyqUD8H4pBbJAYkEs8YgYqnQ/E84CYCYixIgAhuBJf7/uYdwAAAABJRU5ErkJggg==
3.0.9.MonoClpB|Моноширинным из буфера|font|monospace%+dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABPUlEQVQ4Ec2RO0sDQRSFb1aQIFYSC4s8RLQ2pYLYKD4QLQQ7KyuxTZ1/oWAhCIJgLYgQ0R8gBHsr1yAExEaCCIp+J8xdBpM6GM53z7l3lszMrtl/+xU50ALEGqPZgFh5mh3o0RGTF8iBa5vQgXi2Rv8FQwkllnaaYFAFV0oYgXFwVcxMG30nBNcMoQjvsAyu5xBKwWV6LlVIVALreAqnZqYjYl21qR9QBlfFzJ7AEpWAdh0mz8McjIL0Q2mBTnCAaz07AX1Xeqsd0iUcwydsgqtBuAK9uCaua+3jmZZIWtQnI9ot5RBcJwSd5BHXc8q6cnaFVRbu4Q2ka8oKuNIQavg5SD5Ttjp1D1xThBvIgbRIuQD1Wrsj58E02CIU4AH+ajcMzoLHNkvzqj+YJOgLYD3SnTWcVulDo89swKNfiPw0JGkl4+YAAAAASUVORK5CYII=

3.0.11.Quote|Цитата|quote|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
3.0.11.Code|Код|code|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+ElEQVQ4Ec2RO2pCQRhGfxUMYtIpQQPapxIM2Nq5BzcQCzErkKxAVyGWrsHSRxYQEAsLxcJOtAgkej7h4mTIVVPpcM7M/xrv5Wp27RW78AXqzK1xhf/miRvfWLYzK0O/hj5vFOYYvK1mNEvpSIJwgCO8Q5chSQuFemMC1RKcB6LsPZxiCl2eSXZYwIBHghnqju7aO8kGi+ij3qdfJH/BLTb1C/cEYVRpdDGMBzUibB1cYg4DSgQ/mEeXHIlmdUd3Sc2S7B84Rn0oDmuzDdAlTjJCzSY5f5Elq6HQX7YgaKDPKwXNcoRTofWFaTyJnvTXQJziBPt282sPd+gjovO/D70AAAAASUVORK5CYII=
3.0.11.Hash|Тэг #|#|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4Ec2PQWrCUBRFY1Rso1JQhOBE7FDoqJsIuA9X0OyldFKc2F2UQmcduoAWC0KQ4kRtBy2k5/6Q+r/EZtiGe9679+WR/O95f/1Ujxygy/wMtpCrj6nDB5Tqlo07sDUnxODId9I+hNgEbBXN7PfGP1LX8AXvIJ+TkjegPKEbVUzdlzE2gBuYwYOXPR3aNVzBKzzBAgpVZaoTRPRclxidoEd35DspC1rSR5IsmhpSP+ENHNWsdILvwwikBuUcpAuK7j6kSy+UFBxFJA3L2LJXqCZT/TGmr0A+Z0q+B+UB/Uf2FXZMn0H3X9LlaUanVGWB/V1abh+stMgB/EN9A2rwMujonvLGAAAAAElFTkSuQmCC
3.0.11.Spoiler|Спойлер|spoiler|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAgklEQVQ4EWNgGAWMwCDwB+I+ICYHFYEMUAXqdARictB+cjSh6GEE8jKBuAKIyUEdLEBdv4H4FxCTg0B6ydGH0APygheQmwbE5KBZIC9YAnV6AjE56DI5mojSkwhU9Q4Ng8SAQsQhRqCyqUD8H4pBbJAYkEs8YgYqnQ/E84CYCYixIgAhuBJf7/uYdwAAAABJRU5ErkJggg==
3.0.11.Hide|Скрыть|hide|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABIUlEQVQ4EaWQsU7CUBSGW40myk4M2iaiPIEPQHgWJ5/FxYhJg6OrM7PRVcUFQnAzrg4OBhOj4Pc1LZHKIJX83/n/3t5zei9B8M/fatYf4xvwBqVUo6sLOlZOVdocsovn2iIItlhhYdkhl6y9gNe6xkNowgBO4AEWqsLqKRzCCPYh1zrhHCaQwCbMqc5TH6ZwC56kizdhD5RDHglTcM82niqmPoMv5JisvPsr4QP8ABacUdwjT+RohVKUX3JtQjmCMUSg3i0ZX5mntkO9BycP8TVQVYon8ToNsu/c0yPPrkBOVaF2wC8neH4SYuCgIeETEvj1J7I20wHpAu6gnXGFt+AG6vBnefyI3SEoT+J1lhpi409qPDhEJ5aTJ4vLtRa6vgFNDjMI+kwKNgAAAABJRU5ErkJggg==
3.0.11.More|More (ru-board)|more|Подробнее||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAt0lEQVQ4EWNgGIxAgBJHcQI1PwPi5UCsCMRkIU2grs1A/BuIZwKxBBCThVyAui4A8Rcg7gBiHiAmGbECdeQB8RsgvgvEYUDMCMRwxARnYWf8BQq/A+KvQMwLxEJAzAzERKFQoKrrQPwJiMuBmAuIiUIGQFV7gPgPEIMCUQpIE404gCpfA/FxILYEYrKQOlAXSkAB+TgRC5qMGJCfCMT4UB9Q8hUQgxG6ASAvGINlcBMgNbhl6S4DANVPFhJKF+A+AAAAAElFTkSuQmCC

3.0.13.Font 8|Размер шрифта 8|size|8||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 10|Размер шрифта 10|size|10||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 12|Размер шрифта 12|size|12||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 14|Размер шрифта 14|size|14||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 16|Размер шрифта 16|size|16||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 18|Размер шрифта 18|size|18||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=

3.0.15.Mono|Моноширинный|font|monospace||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABPUlEQVQ4Ec2RO0sDQRSFb1aQIFYSC4s8RLQ2pYLYKD4QLQQ7KyuxTZ1/oWAhCIJgLYgQ0R8gBHsr1yAExEaCCIp+J8xdBpM6GM53z7l3lszMrtl/+xU50ALEGqPZgFh5mh3o0RGTF8iBa5vQgXi2Rv8FQwkllnaaYFAFV0oYgXFwVcxMG30nBNcMoQjvsAyu5xBKwWV6LlVIVALreAqnZqYjYl21qR9QBlfFzJ7AEpWAdh0mz8McjIL0Q2mBTnCAaz07AX1Xeqsd0iUcwydsgqtBuAK9uCaua+3jmZZIWtQnI9ot5RBcJwSd5BHXc8q6cnaFVRbu4Q2ka8oKuNIQavg5SD5Ttjp1D1xThBvIgbRIuQD1Wrsj58E02CIU4AH+ajcMzoLHNkvzqj+YJOgLYD3SnTWcVulDo89swKNfiPw0JGkl4+YAAAAASUVORK5CYII=
3.0.15.Lucida|Lucida Sans Unicode|font|Lucida Sans Unicode||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAMUlEQVQ4EWNgGHaggYGB4T8B3MBAAmhgYGBoYMADmPDIESU1agADwzAIA6LienArAgB4AQoJogSaFAAAAABJRU5ErkJggg==
3.0.15.Tahoma|Tahoma|font|Tahoma||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAMUlEQVQ4EWNgGHaggYGB4T8B3MBAAmhgYGBoYMADmPDIESU1agADwzAIA6LienArAgB4AQoJogSaFAAAAABJRU5ErkJggg==
3.0.15.Courier|Courier New|font|Courier New||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAY0lEQVQ4Ee2SSwrAMAgFpyUHe0fL0TxapVIw9IOQRbvoEI3IQ1SEt1lSAwJEDQMMZ3U7njgXELWcy0IoRjrQGRGh9Q/a7sMZNYxEHiGl6+FfAKZ38LRuEddmgLgh38GVxPg8G8XjCdiX2LVkAAAAAElFTkSuQmCC
3.0.15.SegoeP|Segoe Print|font|Segoe Print||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA7klEQVQ4EdXSIUtDURgG4OvCkps2QX/AQMOKFoNBg+BPWRMUp8E4UH/H8jAZ1CpaRBDhOllbms2lBdHnCxcMXo8Gw8b7nG+75ztnh8PNsmn6tBx2SM4Gf8qh7hdW2GHAr9PW2WeJyILhjQrJHOiIf1tUI3OGW45Iplj8qnOTee444cesm+3xwTZbxCaP6imlaZrJiSMfq1dMiA2Si/VlLUOXGepELg1xkjP121S+PG34fs8uI2pcc84+yVzoaBOL99Q4ybO6RmmiqZiMt2zWjw7vxJ2sqsuUptigqmPMiAdy+tzwRDJxF9Vk1380fALH6CzhTD2OGAAAAABJRU5ErkJggg==
3.0.15.SegoeS|Segoe Script|font|Segoe Script||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA2UlEQVQ4EdXQsUrDUBQG4LsVcSpu4uJYKKJOVbeCkxEE38M3KFQFoc5FEJ+gU5+jU59BFFs1iIPO7XegWcS0WRv+795LzjlJSErrch340D5jvvihUrZ0DZjSoUWDnJU51PHMDRsUOXIYsTRN1TfO+ZtrN+4pTQy/ql4S2Y1lYdP+wR7/ZsfdFy6ItC2fFA95dB5QmieVWyKZJeeYGnfEz6zbS/OuEm/L7DknRK4sE5osTTellJETwzV7j2/2WZkzHcVww7nPhMrDv5pnCzH44LxNpQx1nbJmmQNuwCc7TLgOpQAAAABJRU5ErkJggg==

3.0.17.Justify|Выровнять строки|justify|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAkElEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jECePxD3ATE5qAhkgCpQpyMQk4P2k6MJRQ8jkGcLxLlATA6azALU9QuI3wMxOQiklxx9CD0gL2gDuT5ATA7aAvKCHFBnKBCTgy6RowlFD8gLEkARHSAmB10BaaIoM4EMoAgDAMJ/KZhlVYyuAAAAAElFTkSuQmCC
3.0.17.Left|Выровнять по левому краю|left|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAnElEQVQ4EaWToQpCQRBFZ0EsNpNJMOsv6BcIptfeL/ghFovBHxOrSYyCaLHouUkWw8BdOGdhducOTNgSEcOIGKHDS6Ge42PaF4JjnKHDxQlVmUK1wT1mXGlYYcWA6ow7zHhmDda7VliS3KLDQSu8Sd7RQVkn98tohTnlGjMeNByxQitMuekw40bD3wDu2tAKE0Ys0OGkUNNn0oAmvxLcLPtwWDuuAAAAAElFTkSuQmCC
3.0.17.Center|Выровнять по центру|center|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jEg8aSD7EBATg+yAip4CMQMLiIDij0C6E4iJQSC1xKgjrAbkBVugslwgJgdNBnnhF1DneyAmB4H0kqMPoQfkBRiPD8jIBGJi0HSgok9AzIBsgCRQYDMQE4N8gYqeAzHlCOQCCaAxOkBMDroC0kRRZgIZQBEGABHsLR+MEAX1AAAAAElFTkSuQmCC
3.0.17.Right|Выровнять по правому краю|right|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAmElEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jCg8BOcQkCkNxIRQEQsOFTOA4jxATAhdI6SAoDzIC7ZAVblATA6aDPLCL6DO90BMDgLpJUcfQg/ICwgegpUJZPIBMSG0BeQFbIq8gIKSQEwIXSKkgKA8yAsSQFU6QEwOugLSRFFmAhlAEQYAcvop4NyOCrkAAAAASUVORK5CYII=
3.0.17.HorLine|Горизонтальная черта|[hr]|%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAALUlEQVQ4EWNgGAXDIAQYgX6wBeJcICYHTWYB6voFxO+BmBwE0kuOvlE9gysEAE1yBCaa8x1GAAAAAElFTkSuQmCC

3.0.19.List|Список|list|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA5klEQVQ4Eb2SMQrCMBRAUxQEwa2rgxRXJ3HQycHNQQ/gBZxcHBxcvYCDk+AsuIjgoOAVxNULCA6KSBcL+n6haCvRFovlvZ/8/CRNIErF/KXYr4yhMQIzR+RNtNDEBOqwKRzQpUOcKKUcrKFwJNw/uKSmkhJQFrZo+7hCoUj4dgKmPKnQDV6JoWiUmL7ANIbCu0KW2Rmc4RptHGMGdWwpDLwNhiR13GEbhTPBQR3X14JJMscc/kQsD6nBESzMo3dFum9cGNmjS484xRtWUYj0kE6skCfcpd2gICcwpKNRfuYrFXzZv5IHQFEvl0DCMssAAAAASUVORK5CYII=
3.0.19.SubList|Подсписок|list|s||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAp0lEQVQ4EWNgoDJgB5pnBcREI0Y0ldOB/EAgVgZiESBmBmJc6BtQ4gUQg1EBkFzAwMDwB4hdgRiEXgOJ/3jwdqAcAwuIAGKQxlggXQvEu4EYhEyABCEXAJUgkDWQie4loBCNET4b5wLt5gViXOgCUKINFgZANgb6ABQBhQ2Qwoq+YBWluyC+MNAHugafFz8B5W8DMU5EVELC5wIBoNH45H8D5QdBQAIATw0jr47iJToAAAAASUVORK5CYII=
3.0.19.ItemTag|Пункт списка/подсписка (тег)|[*]|%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAkElEQVQ4EWNgoCHwB5r9FojfALEvEJOMbgB1/Ifia0AaK2LCKgoRBNkMYTEwILNhYgRpVaCK9VCsAqTpjyyBVp4G4lNAbA7EJKPzQB2wQDwLZGNF+AKREUkHMhtJGD+TYi/gN54IWYqj8QjQElggHgKysSImrKIQQUEIBSaR2WABYghfoKK3QAxKxt5AmjYIAEIDGQuPW7ZIAAAAAElFTkSuQmCC
3.0.19.ItemB|Пункт обычного списка (символ+пробел)|• |%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABZSURBVDhPYxgFtAWWQHwaiE9B2SQBkIbzaNgciDEAI5RGByANIGAApS8A8T8gNgbzkAATlEYH2AzGahkzlEYHF4HYG4hfQDEIZALxUwiTOEBRII4CogEDAwB6LQ7925A7NgAAAABJRU5ErkJggg==
3.0.19.ItemM|Подпункт обычного списка (символ+пробел)|· |%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVDhPYxgFgxxYAvFpID4FxOYgAVLBeSD+D8VnQQLYABOUxgYYoTQIILOJBhR7YRTQBzAwAAD7rAep9ypVVgAAAABJRU5ErkJggg==
3.0.19.NumList|Нумерованный список|list|1||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/UlEQVQ4Ea3RMWsCMRjG8Xh2KQdqp6NuOru7CAoiSJ0KhW7iKrj7IXQQN7+C4CcoHRwcRNwcxaGTi5NoRUH957ik4ZDenSjPL2+Se3NEFeLvYzOt4K68c2qCESIl7nXvqSdkMMR/KfPwiC2EJQf8YIkw6dP0ATeWO0YbYrTrc3rCpvwKO2qkPBnd38wlSviYNwh/yuh86AuyvLiIZ/jzykYdZhwWDfUb5Fl0MUcbbzDjsBggB/kvpKljrOGmxViAhQ1i8KfKxi/Onik1CR15mx4riXIz8mYHnsyQgk6C2ReaCEpJCPECN+qqHVY1LHDBJ0JFvcCh24bKSk2C6hUBwSHi/YrJMAAAAABJRU5ErkJggg==
3.0.19.AbcList|Алфавитный список|list|a||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABEklEQVQ4EbXOMUsCYRzH8f/p5XTglUOo70A0GhuNENJZxEVx0MXNzdfQ6FKu4otwK6GGaHESGhoEjYT2IjD6Pg/3XA52F4rH7/M8/+ee5/nfifw+eRFpYuuMufkMF/9OxDuZYf7CEDUE5YLNNHRMgzqrCV7QkOCnx3YZOqqBTVXFCidwcYq/YrGh7jGJqMvnVPfoQmXBUMEEe8mUrh3o+L+iV1sMOzewvY8WmR2YPFC8wiRJUcAAJscURdMgyyIBBy2cYb2BOtznXRYWUhjjDX6iVCO0sSmXvPzAt+eROQ4/V1Q3CEqJzU88wYWfJtWdiBwgLHkROYSOxXiEOVTXJbPKNcMtQqMaxDiVw3pmLN4Rmh+FfyaTlM3B+AAAAABJRU5ErkJggg==

3.0.21.Table|Таблица|table|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAyklEQVQ4Ec2SvQ4BQRDHh0i0FHqFSPQ+XsDraE6nulKv4KXUFPQXEhKVjt/szVwWhWKbu/y/bnZusrdZkTo9SzZzgbc/1J6MnoBG0FJOWC4iB+hYWNiYq42QXEQGUFoqRh12JO+ho7AQ17RPGZaaQRMkeUD8C7qPFXKFjpmFrrlaT8X5PeDBwh06nhbiWttqP3amMoYx1rwosQrao72hkHwGyQPiM3ixpynsQEdfymdeWtAhqr2YfFykHZUMVpeE7Jh4wPXjLV4TvAFTwyALi35LqQAAAABJRU5ErkJggg==
3.0.21.Caption|Заголовок таблицы|caption|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA2UlEQVQ4Ec2QMQ4BQRSGHyskGqHSEtlEhTNoXUAohDiAwim2FK3sFVxBVHSi0SgVLsH3lpnsTjY0hM33zfzvvdnJZkV+/WScD2hR+/iKE8MDprKne3vjjrklZ9MjbNncr6KVQM8kGvEiHy/I3lM2i3vGDjSEItJAw4QwRoNPWOHn8JyrQhE54gyVLksHKzgSkQsGuMbvsOTaOhqGhAEa9P8sTJG2l2lm0VAkqGwROtMzUaGLp0vMOfmMfVTaLDUsYQ+vOMUNptKkW0DzUpWs6gXa05meof0v3AFFuxwmhWRKoQAAAABJRU5ErkJggg==
3.0.21.Row|Строка таблицы|tr|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABD0lEQVQ4EaWRsU4CQRRFd5XQCRgxwWJNaJTKhILOWFHY8EN8gD9n4Q+Q7bQxWqwJxKiL505mFmaYBZIl97w782bfm+VtkjT8pbb+CZ9AqNImTqxv2zObeYsgjQlTCJWT0CVDPNSvEi2FPfxwlkKtDjVoU3lUgxcejDUzr8nZAkKppsrNqpW/uGV7AzGZmlN7UuKfEGpNYgkrCGVq3Oep+591eTUzZ67BiIybgdzRJy/cXk4qkavGLJQQd4R3uIIzkF4V4AF02Rf+Bpfg6d7bbTbXLDOIydS4If7xhLpjnjTEbzIC81SyK/RaeJIpROiQE9iOTI2GoZNzwgQ+YABd0O259UdcUy9wzeAC70Fz/QMaUCUA/rTEiAAAAABJRU5ErkJggg==
3.0.21.Column|Столбец таблицы|th|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+klEQVQ4EaWSPW7CQBBGlwQJRTREIh30uUAKJERNk4YjUeRKbtLBHWipgtM66SA/7zlMJIutWGvefjNje2Z37JQKr975/Rf0CXK2JjkEn23QGu7hASpoTecHL8eKfM5mJm9crsSdpJICExv3XeAEr3CEO5jCJ7yBZ1+etUFrcAbOBffPnIEvB9+kT2C8Qm0UECb953BUMakGt+GgFkP+zXhnVDIDj9YZolUDP+cXHYyRdsvuUCJ+DEf14S2OOkCn8AHvYKcF6m7NHfDH0LGKyK45HCK3L2xuxqrqNewTV0kBj9kOhzppw+L5kAvzZ1qSdRYNWoM/0ggtt1+uhDehDRb66wAAAABJRU5ErkJggg==
3.0.21.Cell|Ячейка таблицы|td|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABDklEQVQ4EaWRu05CQRRFR6UzqARJtMBSray0MDHWNDb+kvyTfoi1nVgYKK7RxEJ0rRMmZq5D4yV7nT2z53Enh5Q6/jZW56f4OdR0R9gH9zb4DIYwgnsIPVC/13BLXtOl4abln7x4rssFYy/oWeARtqGmOeEE2j0o9t+woaYTwmPwQxmmyXGc2XIGS1hAWzb2g/Ad3CMMky6L3AOf50Kbdbn7Yi1fcEris7B4nmPZJxDHGaLY45kYGMgZ5RUOoQ/q2QLX4Mfe8BmMoNBVMfudHDGMvwtvK87kJn6x6u1YIZv4SSJYoSWzxmfhaWypsEMm2B/FGRvjyoByAXM4gF3w608rn+B2vcHtwRDfg+76ARb4Ll48lWsWAAAAAElFTkSuQmCC

3.0.23.|Black||#000000
3.0.23.|DarkGrey||#424242
3.0.23.|MediumGrey||#666666
3.0.23.|Grey||#808080
3.0.23.|Light Grey||#d3d3d3
3.0.23.|White||#ffffff
3.0.23.|Aqua||#02feff
3.0.23.|Baby-Blue||#76ebff
3.0.23.|Sky-Blue||#00c0fe
3.0.23.|Light Blue||#0080ff
3.0.23.|Medium Blue||#0002f7
3.0.23.|Dark Blue||#00008b
3.0.23.|Indigo||#4b007f
3.0.23.|DarkPurple||#5c246e
3.0.23.|MediumPurple||#670099
3.0.23.|Purple||#a020f0
3.0.23.|LightPurple||#c05eff
3.0.23.|Pink-Purple||#de00ed
3.0.23.|Fuschia||#eb00cb
3.0.23.|Hot Pink||#ff40f3
3.0.23.|Neon Pink||#f46ffc
3.0.23.|Pink||#fec0cb
3.0.23.|Peach||#fccec1
3.0.23.|Flesh||#fddeb0
3.0.23.|Tan||#fdf1b5
3.0.23.|LightBrown||#b87332
3.0.23.|Brown||#7e4102
3.0.23.|Dark Red||#8b0101
3.0.23.|Medium Red||#e3170e
3.0.23.|Red||#ff0000
3.0.23.|Orange-Red||#fe2400
3.0.23.|Orange||#ff803f
3.0.23.|Yellow-Orange||#ffbe00
3.0.23.|Gold||#fed602
3.0.23.|Yellow||#ffff00
3.0.23.|Green-yellow||#adff30
3.0.23.|Neon Green||#5dfc0a
3.0.23.|LightGreen||#90ee90
3.0.23.|Green||#56ad3c
3.0.23.|MediumGreen||#008000
3.0.23.|DarkGreen||#006400
`);

// Высота отдельных меню задается в строках
// position=after_start
// дописываем желаемую высоту так
// |height=455px

// Если кнопка на вертикальной панели, во избежание перекрытия, заменить
// 0.1.0.position=after_start|oncontextmenu=event%dot%preventDefault();
// на
// 0.1.0.position=end_after|oncontextmenu=event%dot%preventDefault();
// или
// 0.1.0.position=end_before|oncontextmenu=event%dot%preventDefault();

// Примеры:

// название|подсказка|тег|||data:image...
// Самое простое, парные теги обрамляют выделенный текст.
// [тег]выделенный текст[/тег]

// название|подсказка|тег|%move%||data:image...
// Перемещение выделенного текста к первому тегу через =.
// [тег=выделенный текст][/тег]

// название|подсказка|тег|%clipboard%||data:image...
// Из буфера вставляется к первому тегу через =, а выделенный текст помещается между тегами.
// [тег=буфер]выделенный текст[/тег]

// название|подсказка|тег|%copy%||data:image...
// Выделенный текст используется и в первом теге через = и между тегами.
// [тег=выделенный текст]выделенный текст[/тег]

// Можно использовать вместе с подстановкой, например
// название|подсказка|тег|подстановка%copy%||data:image...
// т.е. в первом теге после = будет прописана строка подстановки,
// а только потом выделенный текст.
// [тег=подстановка+выделенный текст]выделенный текст[/тег]
// Подстановку можно использовать и в других случаях.

// название|подсказка|тег|%dclipboard%||data:image...
// Текст из буфера вставляется между тегами.
// [тег]буфер[/тег]

// название|подсказка|тег|подстановка%+dclipboard%||data:image...
// Подстановка вставляется к первому тегу через =, а содержимое буфера помещается между тегами.
// [тег=подстановка]буфер[/тег]

// название|подсказка|тег|%no%||data:image...
// Позволит использовать одиночные теги, символы или фразы.
// [*], [hr], • и т.п.
// В этом случае выделенный текст замещается.

// название|подсказка|тег|%+no%||data:image...
// Позволит использовать одиночные теги, символы или фразы.
// [*], [hr], • и т.п.
// Без замещения выделенного (по умолчанию)
// Настроить поведение можно в секции
// ${(() => { // options

Отредактировано _zt (15-03-2021 18:41:09)

Отсутствует

 

№203-03-2021 17:18:23

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1647
UA: Firefox 78.0

Re: Кнопка вызывающая панель BBCode

В общем доковырял bbcode.

скрытый текст
W7mFZ86.jpg

Все подсказки на русском. Кому надо код тут.
скрытый текст

Выделить код

Код:

// Этот скрипт можно использовать для создания кнопок с помощью CustomizableUI.createWidget

// BBCode - Multi от Dumby
// https://forum.mozilla-russia.org/viewtopic.php?pid=788834#p788834
// эта модификация
// https://forum.mozilla-russia.org/viewtopic.php?pid=788982#p788982
// Для custom_script.js в user_chrome_files

(async (data, bbc) => CustomizableUI.createWidget(bbc = {
	label: "BBCode - Multi",
	id: "ucf-cbbtn-BBCode-Multi",
	tooltiptext: "BBCode pane",
	localized: false,
  
	onCreated(btn) {
		btn._handleClick = this.click;
		btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACS0lEQVR4XpWTS4iSURTHj2/F8oFP1JIWQyZmBm3STavZjIuhTdHKaVMMzMZNLWtRFNGmgWJaTJS0qoEpJEgMA8FVCydRfBvoQgJzhoFCEW//e8fvcyaYRQd+fF7O+6GC/k+UgOVypLqiIxNp6b7yGMMTkKDVar2s1WrP4q0BxuWrN96+e7X2eeGPYnOsp7uko/0jXkaj8XwikdhIp9PdarU6LpfLk+3t7VE8Hv/u9/uzS/FlVsi9YR/fr/+8uUQhuMw7iEQiq/l8fn88HrN+v8+KxSJKzTEEY6lUikHPePkGg4md9i985VWSFCEYDK5sbW1tmkwm6na7NBwOaXd3V2Y0GlEmk6FCoSDlWwUvAKnBmWQy+Wg6ndLOzs4Rx729PZlOp0OH5DZ4DX4rA4HAda/X6+TO7XabG0rIb7RDaIsUCoUAEgaLgJSQRW7YarUEzWaTf2UqlQo1Gg1ijNE/EhMBoDyVzWbljEA41Ot1Qa/Xo8lkQhARRK1Wk8FgIIgPCPmm0WiYx+NhPp+P2Ww2ptfrGUrlKWVUKhXDmpnL5RJ20G9IW3gG1ugYQYuk0+kIzgKz2Sy2UqvVbkH9kl/iB8DAfEhzR+GAqgQOh0N8sZVfMMlKt/0FrANZcL7Eb8Jut5PT6RSOKJ3QJg0GA76RJzBrSwG43AOfZn8CbizjdrsJayaLxSI2VCqVnsPsMZDFAELgEniIKf/gAw2HwywajbJYLMZCodAUrVShvwMuAAeQRQFOAg/wgotgBbN4AJ7OqrsGzgEnsAG15PwXcMcNgug5BPIAAAAASUVORK5CYII=");
	},
	click() {
		var document = this.ownerDocument;

		var names = ["menupopup", "hbox", "popupset", "button"];
		var btnAttrs = ["label", "tooltiptext", "value1", "value2", "popup", "image"];
		var prefixId = "ucf-cbbtn-BBCode-node";

		var rep = str => str.replace(/%dot%/g, ".").replace(/%sym%/g, "|");

		for(var str of data.split("\n")) if (str) {
			var nm = str.split(".").map(rep);

			var name = names[nm[0]];
			var id = parseInt(nm[1]) && (prefixId + nm[1]);
			var parent = document.getElementById(prefixId + nm[2]) || this;
			var attrs = nm[3] ? nm[3].split("|").map(rep) : [];

			var node = document.createXULElement(name);
			if (id) node.id = id;
			if (name == "button") {
				btnAttrs.forEach((attr, i) => attrs[i] && node.setAttribute(
					attr, (attr == "label" ? " " : "") + attrs[i]
				));
				//node.setAttribute("height", "8px");
				var p = node.getAttribute("popup");
				p && node.setAttribute("popup", prefixId + p);
			}
			else {
				if (name == "menupopup") node.style.cssText =
					"-moz-appearance: none !important; border: 1px solid gray !important;";
				for(let str of attrs)
					node.setAttribute(...str.split("="));
			}
			parent.append(node);
		}
		for(var btn of document.getElementById(prefixId + 19).children) {
			btn.setAttribute("image", "data:image/x-icon;base64,AAABAAEAIA4AAAEAIABgBwAAFgAAACgAAAAgAAAAHAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAH////5////+f////n////5////+f////n////5////+f////n////5////+f////gAAAAA=");
			btn.setAttribute("value1", "color");
			btn.icon.style.setProperty(
				"background-color", btn.getAttribute("value2"), "important"
			);
		}
		for(var hbox of this.lastChild.querySelectorAll(
			":not(#ucf-cbbtn-BBCode-node19) > button > hbox"
		)) {
			hbox.removeAttribute("pack");
			hbox.style.paddingLeft = "5px";
		}
		bbc.popup = this.lastChild.cloneNode(true);

		var click = this._handleClick = function() {
			var trg = this.ownerGlobal.event.target;
			trg == this ? this.lastChild.openPopup(this) : bbc.bbc(trg);
		}
		bbc.click = function(e) {
			this.append(this.ownerDocument.importNode(bbc.popup, true));
			(this._handleClick = click).call(this);
		}
		click.call(this);
	},
	async bbc(trg) {
		var v1 = trg.getAttribute("value1");
		if (!v1) return;

		var win = trg.ownerGlobal;
		var v2 = trg.getAttribute("value2");
		var dc = "", plus = false;
		if (v2) {
			var re = /%(\+)?(d)?clipboard%/;
			if (re.test(v2)) {
				var {$1, $2, leftContext} = RegExp;
				var cb = await win.navigator.clipboard.readText();
				if ($2) {
					if ($1) { // +dclip
						plus = true;
						var r = v2.slice(leftContext.length);
						v2 = "=" + leftContext;
						dc = r.replace(re, cb);
					}
					else { // dclip
						dc = v2.replace(re, cb);
						v2 = false;
					}
				}
				// clip
				else if (!$1) v2 = "=" + v2.replace(re, cb);
			}
			else v2 = "=" + v2;
		}
		win.gBrowser.selectedBrowser.messageManager.loadFrameScript(this.url(
			encodeURIComponent(`[${v1 + (v2 || "")}]${dc}`), encodeURIComponent(`[/${v1}]`),
			v2 == "=%move%", v2 === false || plus
		), false);
	},
	url(...args) {
		var code = `((bb1, bb2, move, dc) => {
			var box = Cc["@mozilla.org/focus-manager;1"]
				.getService(Ci.nsIFocusManager)
				.getFocusedElementForWindow(content, true, {});
			var ed = box?.editor;
			if (!(ed && ed instanceof Ci.nsIEditor)) return;

			var txt = box.value;
			var s = box.selectionStart;
			var e = box.selectionEnd;

			var bef = txt.substring(0, s);
			var mid = dc ? "" : txt.substring(s, e);
			var aft = txt.substring(e);

			var ins = decodeURIComponent(bb1)
				.replace(/%copy%|%move%/, mid) + (move ? "" : mid) + decodeURIComponent(bb2);
			var val = bef + ins + aft;

			box.value = val;
			box.selectionStart = s;
			box.selectionEnd = s + ins.length;
			//box.focus();
		})(`
		var prfx = "data:charset=utf-8," + encodeURIComponent(code);
		return (this.url = (bb1, bb2, move, dc) => prfx
			+ `'${encodeURIComponent(bb1)}', '${encodeURIComponent(bb2)}', ${move}, ${dc});`
		)(...args);
	}
}))(`
0.1.0.position=after_start|oncontextmenu=event%dot%preventDefault();
1.2.1

3.0.2.BBcode|Теги выделения|||5|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABE0lEQVQ4Ea2Qv04CQRCHB6SgszAWFgSijU9A6xbG2oTwGryFvICVtQ2Fj2FiQ2Lpn8QYGy1oKBRiNJzfDBl24ZZIopffN/Pb3bm52RP541NJ3j/A9yHdYykzwhs8whWMIKsgIsUvfHLegayCxAbv+GHCBO/NdZoq65KCxAY3+FRNFtq0ICt7ZFO2k50shxeWfvcv/BhMNYvlsMNWF1T6kSNMS+bPBWkKJQWJVyjW+G/2O7DQugleqbgElda0ROQUtmAAbbiFJQWJE6z+RI7kjOCTneNNej8zG4SHpKbhXsdzn+Y6i31w7WJ64Hpyk+Yg8Qo+ai5PqDsEU9Xi5uGa0mO4B1PF4jxsk04gpw827+AZ/lc/62hJT/vXwVcAAAAASUVORK5CYII=
2.4.2
0.5.4.position=after_start

3.0.2.Lnk Img|Ссылки и изображения|||7|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4EbXSQUrDUBSF4adjcRuKO+isYGsVRKzYgjsoBXEZUmeCacGpKBRx5A6UrsGFCC3WDvzuIJBJkooYzp9zH/e8vHchKf3x2fjF/nPZY3xijA+spThkIrnEFDMssIO1FKfNJdvI9a7IUKuuRJzc4UU9WgRpU1GlI817bKOBUMurh2fUal9igBXiNm0e44x4qU51JmimlC6xxAUyfOMapbrRidAdv0LUfd5MKd3iEKWKa811Y8YzHtce8BiDVaur/YU83FD3kCHGYdV60n5AUR2LGOGE12os8YZcB4oF4gasXrsisWHGp4iT46PxG1uWqxjYExtiC694wf/rBxPBMGc7Uw/YAAAAAElFTkSuQmCC
2.6.2
0.7.6.position=after_start

3.0.2.Clipboard|Операции с буфером|||9|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABA0lEQVQ4EaWTv0oDQRDGx9NUERIkEEhnCt/BLoV5l4BNniHpw0EK0+Y9QlobX8BCOwtBBMFUmj+/74pl9o71Qjy+3+3M7LdzU+ydmYUnI2rBFoYwAq8HkhWcwxfsIOiC6AX28AQzUOxRTXuqPbPfANNXtbZ59eERlvALZf1Q0J48N8Sa1vRl4qA10RyasACvd5INdOEWCpUbFEVeMr6y1iqrddQYUhPknOuA1wfJGCKlGlSM0SmXpBrkeP41wYQGujAsQdsQuSA1wT2eK/D6JJlCpFSDijE65ZLMxSeF5Qmu6XIHf0meyv4lFd11/SjHIG+TM+Ff+CYZmFkPjtEbJl13OwDEjjLU6ZLlPwAAAABJRU5ErkJggg==
2.8.2
0.9.8.position=after_start

3.0.2.Quote|Цитаты, коды, спойлеры|||11|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
2.10.2
0.11.10.position=after_start

3.0.2.Size|Размер шрифта|||13|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
2.12.2
0.13.12.position=after_start

3.0.2.Font|Шрифт|||15|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABLUlEQVQ4EZ3SvyuEcRwH8NMZcJisBkoyyGCni1KMEiUrMphsBhOLf0CyWPgfGDEZlEzKdDGJOOdHOef10RHuOeF6v76f7/P5PN97nq5LpSo/9VpN/Ctx+NLJIr38OVNOlMrW1D9nx4k8h1xRx3u6bdqomlaTIptME28yrkYGLHFdUJtJzJJuiSxx0726S2TLErMwY1+RGp1THphgjGOe6aDAHjfsU5F+nVKCnN4cMZtU14l9l/olG65iMK8Olo2oyxxwRyNZ4r5l9SMZu1suSPM5PS5eOGGaWR7JkeYtfdYzFvmeFY14YpIhsx8TT8i5I96uU20vG1XjC7fVHzNsGjfG72P7kRq7eOMntSVtqZZ+gwZWOedz4nBG46jWUi15g2sWSErM4s+WNPt97xVThExn/QTzMgAAAABJRU5ErkJggg==
2.14.2
0.15.14.position=after_start

3.0.2.Text|Выравниваеие текста|||17|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jEg8aSD7EBATg+yAip4CMQMLiIDij0C6E4iJQSC1xKgjrAbkBVugslwgJgdNBnnhF1DneyAmB4H0kqMPoQfkBRiPD8jIBGJi0HSgok9AzIBsgCRQYDMQE4N8gYqeAzHlCOQCCaAxOkBMDroC0kRRZgIZQBEGABHsLR+MEAX1AAAAAElFTkSuQmCC
2.16.2
0.17.16.position=after_start

3.0.2.Colors|Цвета|||19|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABUUlEQVQ4EaXSMUvDQBjG8SQq1ijorIWiIA4uLjqI+gGkYlHQJTq7ubg7uIijk0OXOru5ujh2UUEogiCImyCiUERsE/9P7MkLTUCwPL9737tLmiPE97z0N8TYB6XN8I4/p8CVMRJjjF4ZZ+hFbgJ2xKfa6KYRFupoYBm5CdmxT1dfYu0ISYdOeErflaBr5WehRNmFi0447Ca2aiNkoQmbiIleapm6jk/MYgMD2EOavD/YYreGKt7whQUsIcY86kijEyR0VmTmT/R6ut2/Yq0HXt470Hegp+qafYZFnMFlmmYGabJOoBt22L3EAVpYhd7FBXUKv8n6g4jdFir4QIIHbGOio0j19MGoZjlh8RW6+Zh6jhXU4BIGrqPe4RrKC4Pe8iF1E6Oo4hk2vj1Bv9lp0E9iDfcYxCMyU2A1ho7qzDG/gU7h1prMb+HmbXrdS/lHvgGnAlfkCv2wRwAAAABJRU5ErkJggg==
2.18.2
0.19.18.position=after_start|height=205px

3.0.5.Bold|Полужирный|b|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABE0lEQVQ4Ea2Qv04CQRCHB6SgszAWFgSijU9A6xbG2oTwGryFvICVtQ2Fj2FiQ2Lpn8QYGy1oKBRiNJzfDBl24ZZIopffN/Pb3bm52RP541NJ3j/A9yHdYykzwhs8whWMIKsgIsUvfHLegayCxAbv+GHCBO/NdZoq65KCxAY3+FRNFtq0ICt7ZFO2k50shxeWfvcv/BhMNYvlsMNWF1T6kSNMS+bPBWkKJQWJVyjW+G/2O7DQugleqbgElda0ROQUtmAAbbiFJQWJE6z+RI7kjOCTneNNej8zG4SHpKbhXsdzn+Y6i31w7WJ64Hpyk+Yg8Qo+ai5PqDsEU9Xi5uGa0mO4B1PF4jxsk04gpw827+AZ/lc/62hJT/vXwVcAAAAASUVORK5CYII=
3.0.5.Italic|Курсив|i|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAArElEQVQ4EbWPMQoCMRBFx0WwsbDxBAuCvWsrWHtCj2DtKdQDWKm9ljbC4u4bmCbEiUmx4b/9ZLJ/khEZeI3ov4cDLKBYSxKdUeORqqgSFta2feE3iPSvQWOJC64vwULlNjiFsbzdhN8+oDfv8GLp/BpW5l46NUJjoYeIPOGnchok50810BH01rN+SpkR+ILOv8GLtSXRQQtTcFU5JyurX/E3uBo7J0fqdwMbUD0ADBpiB0meUwAAAABJRU5ErkJggg==
3.0.5.UnderLn|Подчеркнутый|u|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA1UlEQVQ4Ec2SQQ4BQRBFm2CcxS1wCBeQSJzA1k5cxCls3UDiAGIjSMSGDe/3pNBDd4xYkP+rftWvqenoce7ffjMOdIJH2IaGDkI9eZqhfI8e7StcwwY0SKsnTzPWd9W7ysUuT+5MvkCDtHqqbUb6ZYFvlgnFE5R51s/+fIH+Zb85EXQbUbuJc4Aaej5dnZ6W78kZTGKAq+sak23JFK1en/wRhkzpbRvyFurqtBgZohKWQZVRtaCwJOhbIIUoLhhhd2EKc8wJ9Kj5+AgLpI5OimIVdb4xbqdLJIzecCZXAAAAAElFTkSuQmCC
3.0.5.StrikeLn|Зачеркнутый|s|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjAiOQAcyB7ExCzAjE+9Bso6QfEJ4GYgQVEQLEskL4HxDlADEJcQGIWEINQGpD4BsQgNAVIgNSCDQCy4YgDyFIEYhgSBDL+QzGIDWSCEUgNSC2Yg48AacJmAIoeJhQeGRyKDUC3czVQAOZsXDRIDVAZBDFCKDjJDmSBQh9I4USg2PiJUxZJgg/IBkUrCIPYQC5piOJYMEKyD5mNJIybyQ+UugbEL6AYxCbLG0D9NEYA290fw5d4JN8AAAAASUVORK5CYII=
3.0.5.Super|Надстрочный|sup|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAfElEQVQ4Ee2QywmAMBAFrcUyFBUUT+m/CWMRzuQgBsQfnkR5L5vdnSdoUXz+6fjCFj+S4Ymkvv2SQDDiCtfYe6BekmCENEhJ8u4spO7gEIjsDVAyOXMXsummcTHTC1J25U5GNgMauohHfCYZWTMrW3Lr8VUNgCX+9cYfWABkBhH7SVfn0gAAAABJRU5ErkJggg==
3.0.5.Sub|Подстрочный|sub|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAeUlEQVQ4Ee2QQQqAMAwE+5b+woMKikf9/xv0E+6AlbYohiCeLAmx2dkVGsJ/XnuBqKRBba1RYFSf1eprU0/qp4KBxVOwjW4Ii+ZdocHAXjIIAIA1wA4NptaKOwDgnG3N5uTJQwgikF3STbMXtR7dabqKELfZ9cfvTTuAtRH/9eSZhAAAAABJRU5ErkJggg==

3.0.7.Link +|Выделенный URL как ссылка + текст (пусто)|url|%move%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABOklEQVQ4EaWTwUoCURSGTz5Ar5H4BrMTzDSQaDIFIWwrgvQYkbugUXAViIK1atuy8Blc+RSC4mTU9w/cyYRJJfm/+597zznee6TM/vk52KP/ktoSzKADE9hJuqRLZQgjGMMCjmAn6bY5lXlweicIYKt8KnRzAV/XgI2wFMFfOiXZg0PwQDpmqcAzbFWOigasQK/J4xrnDk/UOZkuZM2sBSHUIIAPuIVEtcmo6AG/AcVVPGtm91CEROlZc7Ka8QLXsxu4xsB+qc7uFXoQyWddgiv2iCsQgMbBYl0TfYJGecEjDVn7sK4CG41whjvpZjV/cbCEONdh8wZOJwQL0AuwSFesK1BziPsQK02khjE+At2sL9WfMVvTTa5ZubION8lwoF//0cw2C4acNUHNVXwv6RVTOp5A/43Yj74BsvRDbF//RwwAAAAASUVORK5CYII=
3.0.7.PostLink|Выделенный URL и как ссылка и как текст |url|%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4EbXSQUrDUBSF4adjcRuKO+isYGsVRKzYgjsoBXEZUmeCacGpKBRx5A6UrsGFCC3WDvzuIJBJkooYzp9zH/e8vHchKf3x2fjF/nPZY3xijA+spThkIrnEFDMssIO1FKfNJdvI9a7IUKuuRJzc4UU9WgRpU1GlI817bKOBUMurh2fUal9igBXiNm0e44x4qU51JmimlC6xxAUyfOMapbrRidAdv0LUfd5MKd3iEKWKa811Y8YzHtce8BiDVaur/YU83FD3kCHGYdV60n5AUR2LGOGE12os8YZcB4oF4gasXrsisWHGp4iT46PxG1uWqxjYExtiC694wf/rBxPBMGc7Uw/YAAAAAElFTkSuQmCC
3.0.7.AnLink|Анонимная ссылка|url|http://anonym%dot%to/?%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVQ4EaWQwUoCURSGz7SoXdsM2he9ga0UMw3CslIQci9E9hhRu8BRaBVEgVQvUbh1G7QLaqerakQL6vuHRmYzOdHwf+c/l3vOPfeO2T8/5w/9u9RuwCs04QFiSUNaVI6gDR0YwCLEkqZ5VGYh0D2JCxNVpEKTc3hYlyyETZH8pnU2z2AWkiCtEkpwDROVoaIGn6DbZHE95xiP1BY7LUiZ2QGMoAIufMARROqEHRU18ENQXsZTZnYKeYiUruWxqzdu47p2DdczMF/zxAKkYQbGKpINIShOkpfABT0HsyrhHb5+6OJz4OuKeAFh5VjoCQV8AYbQhheQP+Pqw8yaxDsItEYyABekPYImq2mFfB+07uG+lohq6OA6XZN1qMNayhDUcIPXYRP68AhjLZPp75+b2Q6ENc2iC7qBDuqRe6CbYPGUoOwW3uAJ6uB8A7cySx8rt0BJAAAAAElFTkSuQmCC
3.0.7.HrliLink|Анонимная ссылка|url|http://href%dot%li/?=%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVQ4EaWQwUoCURSGz7SoXdsM2he9ga0UMw3CslIQci9E9hhRu8BRaBVEgVQvUbh1G7QLaqerakQL6vuHRmYzOdHwf+c/l3vOPfeO2T8/5w/9u9RuwCs04QFiSUNaVI6gDR0YwCLEkqZ5VGYh0D2JCxNVpEKTc3hYlyyETZH8pnU2z2AWkiCtEkpwDROVoaIGn6DbZHE95xiP1BY7LUiZ2QGMoAIufMARROqEHRU18ENQXsZTZnYKeYiUruWxqzdu47p2DdczMF/zxAKkYQbGKpINIShOkpfABT0HsyrhHb5+6OJz4OuKeAFh5VjoCQV8AYbQhheQP+Pqw8yaxDsItEYyABekPYImq2mFfB+07uG+lohq6OA6XZN1qMNayhDUcIPXYRP68AhjLZPp75+b2Q6ENc2iC7qBDuqRe6CbYPGUoOwW3uAJ6uB8A7cySx8rt0BJAAAAAElFTkSuQmCC
3.0.7.Image|Выделенный URL как картинка|img|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA50lEQVQ4EcWQMQ/BUBDHr9LEoEEwGYTEbGK2ScTiu9gtJosdMfoAEoQvYzKbGpvU75o+2iJpGTT/37279+7uvZ7Ij59F/QG+ljbwqHbhAmlUItkB0QYLdVKiNV4mYZG+tEGuDRG9a1AXkT3kwGiCc4IVRBRvUOB0C32YgVE5cPS/A/e5mBno845sa2wYEquymAHkwehlBlNOehDWkqAKN9Dbx6wteEhvNUHHOKG1gr+BIjRBNcKs4QoSn4HuxWmzYYpxfdV8i0nSgLTPskNHc/wdJNGZpC6IhfHAhQukkQ7Vsak4wv90BwaNIH/UeLoPAAAAAElFTkSuQmCC

3.0.9.ClpB+Sel|URL из буфера (если есть) как ссылка + выделенный текст|url|%clipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABUElEQVQ4EaXRMWuTURQG4BMR3VwtxV2R/oFMtsQYBSnGtmL/QQcl0FV30U1IUugkiEoVRPwDDiWr0qmDk91bBWNjk2J8TiAhS2yK4X3uOR/3fNzvkoj//BVO8f6y2dv8pMkuUyUP2TDZZYsWHS4zVfK0Q5NlhtnWNDgxVRN5ckUdzysPKc5o/pVbNje5QJHMdcsK7zgxJRNrHJNfU1bzOk/VibljZ4P5iHhIl1Ua9HjCxDyzk0N1tUb299T5iHjOTSYmP+vQbt7xrpqfvabmNZRBLlkXWeA8o1R1RwyHi/oVGuR1lLhvyQN+q30+c5FBXltfMp6Kh7zCojrLL/LFx+oe2b85q8n8sMwxzA3NBzb5yDIFHvGJfa6R/4oSccXaocUWPZrkS0qULH84YJ0d2nxllKu6Oi8iYonxnPPwhT5v+U72D9SpM2PyPW2+UaPwFwaUSmECjuXKAAAAAElFTkSuQmCC
3.0.9.QuoteClpB|Цитата из буфера|quote|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
3.0.9.ItalicClpB|Курсивом из буфера|i|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAArElEQVQ4EbWPMQoCMRBFx0WwsbDxBAuCvWsrWHtCj2DtKdQDWKm9ljbC4u4bmCbEiUmx4b/9ZLJ/khEZeI3ov4cDLKBYSxKdUeORqqgSFta2feE3iPSvQWOJC64vwULlNjiFsbzdhN8+oDfv8GLp/BpW5l46NUJjoYeIPOGnchok50810BH01rN+SpkR+ILOv8GLtSXRQQtTcFU5JyurX/E3uBo7J0fqdwMbUD0ADBpiB0meUwAAAABJRU5ErkJggg==
3.0.9.CodeClpB|Код из буфера|code|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+ElEQVQ4Ec2RO2pCQRhGfxUMYtIpQQPapxIM2Nq5BzcQCzErkKxAVyGWrsHSRxYQEAsLxcJOtAgkej7h4mTIVVPpcM7M/xrv5Wp27RW78AXqzK1xhf/miRvfWLYzK0O/hj5vFOYYvK1mNEvpSIJwgCO8Q5chSQuFemMC1RKcB6LsPZxiCl2eSXZYwIBHghnqju7aO8kGi+ij3qdfJH/BLTb1C/cEYVRpdDGMBzUibB1cYg4DSgQ/mEeXHIlmdUd3Sc2S7B84Rn0oDmuzDdAlTjJCzSY5f5Elq6HQX7YgaKDPKwXNcoRTofWFaTyJnvTXQJziBPt282sPd+gjovO/D70AAAAASUVORK5CYII=
3.0.9.SplrClpB|Спойлер из буфера|spoiler|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAgklEQVQ4EWNgGAWMwCDwB+I+ICYHFYEMUAXqdARictB+cjSh6GEE8jKBuAKIyUEdLEBdv4H4FxCTg0B6ydGH0APygheQmwbE5KBZIC9YAnV6AjE56DI5mojSkwhU9Q4Ng8SAQsQhRqCyqUD8H4pBbJAYkEs8YgYqnQ/E84CYCYixIgAhuBJf7/uYdwAAAABJRU5ErkJggg==
3.0.9.MonoClpB|Моноширинным из буфера|font|monospace%+dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABPUlEQVQ4Ec2RO0sDQRSFb1aQIFYSC4s8RLQ2pYLYKD4QLQQ7KyuxTZ1/oWAhCIJgLYgQ0R8gBHsr1yAExEaCCIp+J8xdBpM6GM53z7l3lszMrtl/+xU50ALEGqPZgFh5mh3o0RGTF8iBa5vQgXi2Rv8FQwkllnaaYFAFV0oYgXFwVcxMG30nBNcMoQjvsAyu5xBKwWV6LlVIVALreAqnZqYjYl21qR9QBlfFzJ7AEpWAdh0mz8McjIL0Q2mBTnCAaz07AX1Xeqsd0iUcwydsgqtBuAK9uCaua+3jmZZIWtQnI9ot5RBcJwSd5BHXc8q6cnaFVRbu4Q2ka8oKuNIQavg5SD5Ttjp1D1xThBvIgbRIuQD1Wrsj58E02CIU4AH+ajcMzoLHNkvzqj+YJOgLYD3SnTWcVulDo89swKNfiPw0JGkl4+YAAAAASUVORK5CYII=

3.0.11.Quote|Цитата|quote|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
3.0.11.Code|Код|code|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+ElEQVQ4Ec2RO2pCQRhGfxUMYtIpQQPapxIM2Nq5BzcQCzErkKxAVyGWrsHSRxYQEAsLxcJOtAgkej7h4mTIVVPpcM7M/xrv5Wp27RW78AXqzK1xhf/miRvfWLYzK0O/hj5vFOYYvK1mNEvpSIJwgCO8Q5chSQuFemMC1RKcB6LsPZxiCl2eSXZYwIBHghnqju7aO8kGi+ij3qdfJH/BLTb1C/cEYVRpdDGMBzUibB1cYg4DSgQ/mEeXHIlmdUd3Sc2S7B84Rn0oDmuzDdAlTjJCzSY5f5Elq6HQX7YgaKDPKwXNcoRTofWFaTyJnvTXQJziBPt282sPd+gjovO/D70AAAAASUVORK5CYII=
3.0.11.Hash|Тэг #|#|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4Ec2PQWrCUBRFY1Rso1JQhOBE7FDoqJsIuA9X0OyldFKc2F2UQmcduoAWC0KQ4kRtBy2k5/6Q+r/EZtiGe9679+WR/O95f/1Ujxygy/wMtpCrj6nDB5Tqlo07sDUnxODId9I+hNgEbBXN7PfGP1LX8AXvIJ+TkjegPKEbVUzdlzE2gBuYwYOXPR3aNVzBKzzBAgpVZaoTRPRclxidoEd35DspC1rSR5IsmhpSP+ENHNWsdILvwwikBuUcpAuK7j6kSy+UFBxFJA3L2LJXqCZT/TGmr0A+Z0q+B+UB/Uf2FXZMn0H3X9LlaUanVGWB/V1abh+stMgB/EN9A2rwMujonvLGAAAAAElFTkSuQmCC
3.0.11.Spoiler|Спойлер|spoiler|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAgklEQVQ4EWNgGAWMwCDwB+I+ICYHFYEMUAXqdARictB+cjSh6GEE8jKBuAKIyUEdLEBdv4H4FxCTg0B6ydGH0APygheQmwbE5KBZIC9YAnV6AjE56DI5mojSkwhU9Q4Ng8SAQsQhRqCyqUD8H4pBbJAYkEs8YgYqnQ/E84CYCYixIgAhuBJf7/uYdwAAAABJRU5ErkJggg==
3.0.11.Hide|Скрыть|hide|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABIUlEQVQ4EaWQsU7CUBSGW40myk4M2iaiPIEPQHgWJ5/FxYhJg6OrM7PRVcUFQnAzrg4OBhOj4Pc1LZHKIJX83/n/3t5zei9B8M/fatYf4xvwBqVUo6sLOlZOVdocsovn2iIItlhhYdkhl6y9gNe6xkNowgBO4AEWqsLqKRzCCPYh1zrhHCaQwCbMqc5TH6ZwC56kizdhD5RDHglTcM82niqmPoMv5JisvPsr4QP8ABacUdwjT+RohVKUX3JtQjmCMUSg3i0ZX5mntkO9BycP8TVQVYon8ToNsu/c0yPPrkBOVaF2wC8neH4SYuCgIeETEvj1J7I20wHpAu6gnXGFt+AG6vBnefyI3SEoT+J1lhpi409qPDhEJ5aTJ4vLtRa6vgFNDjMI+kwKNgAAAABJRU5ErkJggg==
3.0.11.More|More (ru-board)|more|Подробнее||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAt0lEQVQ4EWNgGIxAgBJHcQI1PwPi5UCsCMRkIU2grs1A/BuIZwKxBBCThVyAui4A8Rcg7gBiHiAmGbECdeQB8RsgvgvEYUDMCMRwxARnYWf8BQq/A+KvQMwLxEJAzAzERKFQoKrrQPwJiMuBmAuIiUIGQFV7gPgPEIMCUQpIE404gCpfA/FxILYEYrKQOlAXSkAB+TgRC5qMGJCfCMT4UB9Q8hUQgxG6ASAvGINlcBMgNbhl6S4DANVPFhJKF+A+AAAAAElFTkSuQmCC

3.0.13.Font 8|Размер шрифта 8|size|8||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 10|Размер шрифта 10|size|10||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 12|Размер шрифта 12|size|12||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 14|Размер шрифта 14|size|14||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 16|Размер шрифта 16|size|16||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 18|Размер шрифта 18|size|18||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=

3.0.15.Mono|Моноширинный|font|monospace||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABPUlEQVQ4Ec2RO0sDQRSFb1aQIFYSC4s8RLQ2pYLYKD4QLQQ7KyuxTZ1/oWAhCIJgLYgQ0R8gBHsr1yAExEaCCIp+J8xdBpM6GM53z7l3lszMrtl/+xU50ALEGqPZgFh5mh3o0RGTF8iBa5vQgXi2Rv8FQwkllnaaYFAFV0oYgXFwVcxMG30nBNcMoQjvsAyu5xBKwWV6LlVIVALreAqnZqYjYl21qR9QBlfFzJ7AEpWAdh0mz8McjIL0Q2mBTnCAaz07AX1Xeqsd0iUcwydsgqtBuAK9uCaua+3jmZZIWtQnI9ot5RBcJwSd5BHXc8q6cnaFVRbu4Q2ka8oKuNIQavg5SD5Ttjp1D1xThBvIgbRIuQD1Wrsj58E02CIU4AH+ajcMzoLHNkvzqj+YJOgLYD3SnTWcVulDo89swKNfiPw0JGkl4+YAAAAASUVORK5CYII=
3.0.15.Lucida|Lucida Sans Unicode|font|Lucida Sans Unicode||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAMUlEQVQ4EWNgGHaggYGB4T8B3MBAAmhgYGBoYMADmPDIESU1agADwzAIA6LienArAgB4AQoJogSaFAAAAABJRU5ErkJggg==
3.0.15.Tahoma|Tahoma|font|Tahoma||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAMUlEQVQ4EWNgGHaggYGB4T8B3MBAAmhgYGBoYMADmPDIESU1agADwzAIA6LienArAgB4AQoJogSaFAAAAABJRU5ErkJggg==
3.0.15.Courier|Courier New|font|Courier New||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAY0lEQVQ4Ee2SSwrAMAgFpyUHe0fL0TxapVIw9IOQRbvoEI3IQ1SEt1lSAwJEDQMMZ3U7njgXELWcy0IoRjrQGRGh9Q/a7sMZNYxEHiGl6+FfAKZ38LRuEddmgLgh38GVxPg8G8XjCdiX2LVkAAAAAElFTkSuQmCC
3.0.15.SegoeP|Segoe Print|font|Segoe Print||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA7klEQVQ4EdXSIUtDURgG4OvCkps2QX/AQMOKFoNBg+BPWRMUp8E4UH/H8jAZ1CpaRBDhOllbms2lBdHnCxcMXo8Gw8b7nG+75ztnh8PNsmn6tBx2SM4Gf8qh7hdW2GHAr9PW2WeJyILhjQrJHOiIf1tUI3OGW45Iplj8qnOTee444cesm+3xwTZbxCaP6imlaZrJiSMfq1dMiA2Si/VlLUOXGepELg1xkjP121S+PG34fs8uI2pcc84+yVzoaBOL99Q4ybO6RmmiqZiMt2zWjw7vxJ2sqsuUptigqmPMiAdy+tzwRDJxF9Vk1380fALH6CzhTD2OGAAAAABJRU5ErkJggg==
3.0.15.SegoeS|Segoe Script|font|Segoe Script||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA2UlEQVQ4EdXQsUrDUBQG4LsVcSpu4uJYKKJOVbeCkxEE38M3KFQFoc5FEJ+gU5+jU59BFFs1iIPO7XegWcS0WRv+795LzjlJSErrch340D5jvvihUrZ0DZjSoUWDnJU51PHMDRsUOXIYsTRN1TfO+ZtrN+4pTQy/ql4S2Y1lYdP+wR7/ZsfdFy6ItC2fFA95dB5QmieVWyKZJeeYGnfEz6zbS/OuEm/L7DknRK4sE5osTTellJETwzV7j2/2WZkzHcVww7nPhMrDv5pnCzH44LxNpQx1nbJmmQNuwCc7TLgOpQAAAABJRU5ErkJggg==

3.0.17.Justify|Выровнять строки|justify|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAkElEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jECePxD3ATE5qAhkgCpQpyMQk4P2k6MJRQ8jkGcLxLlATA6azALU9QuI3wMxOQiklxx9CD0gL2gDuT5ATA7aAvKCHFBnKBCTgy6RowlFD8gLEkARHSAmB10BaaIoM4EMoAgDAMJ/KZhlVYyuAAAAAElFTkSuQmCC
3.0.17.Left|Выровнять по левому краю|left|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAnElEQVQ4EaWToQpCQRBFZ0EsNpNJMOsv6BcIptfeL/ghFovBHxOrSYyCaLHouUkWw8BdOGdhducOTNgSEcOIGKHDS6Ge42PaF4JjnKHDxQlVmUK1wT1mXGlYYcWA6ow7zHhmDda7VliS3KLDQSu8Sd7RQVkn98tohTnlGjMeNByxQitMuekw40bD3wDu2tAKE0Ys0OGkUNNn0oAmvxLcLPtwWDuuAAAAAElFTkSuQmCC
3.0.17.Center|Выровнять по центру|center|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jEg8aSD7EBATg+yAip4CMQMLiIDij0C6E4iJQSC1xKgjrAbkBVugslwgJgdNBnnhF1DneyAmB4H0kqMPoQfkBRiPD8jIBGJi0HSgok9AzIBsgCRQYDMQE4N8gYqeAzHlCOQCCaAxOkBMDroC0kRRZgIZQBEGABHsLR+MEAX1AAAAAElFTkSuQmCC
3.0.17.Right|Выровнять по правому краю|right|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAmElEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jCg8BOcQkCkNxIRQEQsOFTOA4jxATAhdI6SAoDzIC7ZAVblATA6aDPLCL6DO90BMDgLpJUcfQg/ICwgegpUJZPIBMSG0BeQFbIq8gIKSQEwIXSKkgKA8yAsSQFU6QEwOugLSRFFmAhlAEQYAcvop4NyOCrkAAAAASUVORK5CYII=
3.0.17.List|Список|list|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAxUlEQVQ4EcXQMQrCUBCE4Q0GAhYBwUIsBRVtg61ob2NhF7yAV5HcQEjhCbTVQgsPEFCw0MIz2FnoPzfYIKLMty/FPMnG7N+/gBcYmdkSK1wxgCcvSnnIaCLBAW0M4c1RxYjRQozS0Rt0ubXAFgU68EQrnFRMGW9k2EDPXmP61mDM0EPpaIUKt2qIoOeY0xOt8FTxqxUC/qGPOfa4QCtxuFKoVWUkqKN09A2m3FojQ4gJPNE3SHXhQXuHM27QyeHK3dX6aekDVgg0Zz+Fq88AAAAASUVORK5CYII=
3.0.17.SubList|Подсписок|list|s||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB8SURBVDhPYxhwwAjEDkDcA8RzgfgmEJsCMTHgNxAvABkQBcRLgbgPiEF8OyAmFmRAafIByEZ04AKlCQGQF45hM+A/lCYGOEFp8gE2FwhCaUIA5IUvFHsBmwHGUJoYcAlKkw+wueAulCYEQGEQg82ANChNDFgDpQcMMDAAAOBOESLPj7fQAAAAAElFTkSuQmCC

3.0.19.|Black||#000000
3.0.19.|DarkGrey||#424242
3.0.19.|MediumGrey||#666666
3.0.19.|Grey||#808080
3.0.19.|Light Grey||#d3d3d3
3.0.19.|White||#ffffff
3.0.19.|Aqua||#02feff
3.0.19.|Baby-Blue||#136ebff
3.0.19.|Sky-Blue||#00c0fe
3.0.19.|Light Blue||#0080ff
3.0.19.|Medium Blue||#0002f13
3.0.19.|Dark Blue||#00008b
3.0.19.|Indigo||#4b0013f
3.0.19.|DarkPurple||#5c246e
3.0.19.|MediumPurple||#6130099
3.0.19.|Purple||#a020f0
3.0.19.|LightPurple||#c05eff
3.0.19.|Pink-Purple||#de00ed
3.0.19.|Fuschia||#eb00cb
3.0.19.|Hot Pink||#ff40f3
3.0.19.|Neon Pink||#f46ffc
3.0.19.|Pink||#fec0cb
3.0.19.|Peach||#fccec1
3.0.19.|Flesh||#fddeb0
3.0.19.|Tan||#fdf1b5
3.0.19.|LightBrown||#b813332
3.0.19.|Brown||#13e4102
3.0.19.|Dark Red||#8b0101
3.0.19.|Medium Red||#e31130e
3.0.19.|Red||#ff0000
3.0.19.|Orange-Red||#fe2400
3.0.19.|Orange||#ff803f
3.0.19.|Yellow-Orange||#ffbe00
3.0.19.|Gold||#fed602
3.0.19.|Yellow||#ffff00
3.0.19.|Green-yellow||#adff30
3.0.19.|Neon Green||#5dfc0a
3.0.19.|LightGreen||#90ee90
3.0.19.|Green||#56ad3c
3.0.19.|MediumGreen||#008000
3.0.19.|DarkGreen||#006400
`);

// Высота отдельных меню задается в строках
// position=after_start
// дописываем желаемую высоту так
// |height=455px

// Примеры:

// название|подсказка|тег|%move%||data:image...
// Перемещение выделенного текста к первому тегу через =.
// [тег=выделенный текст][/тег]

// название|подсказка|тег|%clipboard%||data:image...
// Из буфера вставляется к первому тегу через =, а выделенный текст помещается между тегами.
// [тег=буфер]выделенный текст[/тег]

// название|подсказка|тег|%copy%||data:image...
// Выделенный текст используется и в первом теге через = и между тегами.
// [тег=выделенный текст]выделенный текст[/тег]

// Как вариант можно использовать с подстановкой, например
// название|подсказка|тег|подстановка%copy%||data:image...
// т.е. в первом теге после = будет прописана строка подстановки,
// а только потом выделенный текст.
// [тег=подстановка+выделенный текст]выделенный текст[/тег]

// название|подсказка|тег|%dclipboard%||data:image...
// Текст из буфера вставляется между тегами.
// [тег]буфер[/тег]

// название|подсказка|тег|подстановка%+dclipboard%||data:image...
// Подстановка вставляется к первому тегу через =, а содержимое буфера помещается между тегами.
// [тег=подстановка]буфер[/тег]


В конце кода инструкции по составлению пунктов.
   
Заодно коды потестировал. )

Отредактировано _zt (03-03-2021 17:34:47)

Отсутствует

 

№303-03-2021 18:25:57

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 86.0

Re: Кнопка вызывающая панель BBCode

_zt пишет

Кому надо код тут.

Спасибо, так удобнее. Только почему у меня кнопки получились крупнее и без скруглённых углов, от чего это зависит?

Отсутствует

 

№403-03-2021 19:27:54

bezuma
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 26-01-2014
Сообщений: 256
UA: Firefox 86.0

Re: Кнопка вызывающая панель BBCode

_zt
Тэк-с, еще один кудесник потрудился на славу :beer:, мазстро, комфортней стало

Отредактировано bezuma (03-03-2021 19:28:50)

Отсутствует

 

№503-03-2021 19:32:15

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2255
UA: Firefox 78.0

Re: Кнопка вызывающая панель BBCode

_zt пишет

Как бы одиночные теги/символы/фразы вставлять. Например, •, [ * ], [ hr ] и т.п.?

:/ %no%

скрытый текст

Выделить код

Код:

...
	async bbc(trg) {
		var v1 = trg.getAttribute("value1");
		if (!v1) return;

		var win = trg.ownerGlobal;
		var v2 = trg.getAttribute("value2");
		var dc = "", plus = false, u;
		if (v2) {
			if (v2 == "%no%") {
				u = this.url(encodeURIComponent(v1), "", false, true);
			} else {
				var re = /%(\+)?(d)?clipboard%/;
				if (re.test(v2)) {
					var {$1, $2, leftContext} = RegExp;
					var cb = await win.navigator.clipboard.readText();
					if ($2) {
						if ($1) { // +dclip
							plus = true;
							var r = v2.slice(leftContext.length);
							v2 = "=" + leftContext;
							dc = r.replace(re, cb);
						}
						else { // dclip
							dc = v2.replace(re, cb);
							v2 = false;
						}
					}
					// clip
					else if (!$1) v2 = "=" + v2.replace(re, cb);
				}
				else v2 = "=" + v2;
			}
		}
		win.gBrowser.selectedBrowser.messageManager.loadFrameScript(u || this.url(
			encodeURIComponent(`[${v1 + (v2 || "")}]${dc}`), encodeURIComponent(`[/${v1}]`),
			v2 == "=%move%", v2 === false || plus
		), false);
	},
Выделить код

Код:

3.0.5.Bullet|Bullet?|•|%no%||chrome://browser/content/robot%dot%ico

Отсутствует

 

№603-03-2021 21:29:39

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1647
UA: Firefox 78.0

Re: Кнопка вызывающая панель BBCode

voqabuhe
Это лучше у Vitaliy V. спросить. Возможно тема Windows или глобальные стили влияют. Наверняка кнопки можно обработать в скрипте каким нибудь стилем, но я не знаю как.
   
Dumby
Спасибо. А можно то же самое, но без замены выделенного? В идеале, в начале каждой строки выделенного текста.
Только не ругайтесь, я понимаю, что задача нетривиальна. Нет так нет, обойдемся тем что есть.

Отсутствует

 

№704-03-2021 03:03:37

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

Как сделать, чтобы горизонтальная полоса главных кнопок была справа, а не снизу? У меня кнопка скрипта находится внизу вертикальной панели, и выпадающие списки кнопок разворачиваются вверх, и левый список закрывает собой и кнопку и еще часть панели.

Отсутствует

 

№804-03-2021 08:04:08

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2255
UA: Firefox 78.0

Re: Кнопка вызывающая панель BBCode

_zt пишет

А можно то же самое, но без замены выделенного? В идеале, в начале каждой строки выделенного текста.
Только не ругайтесь

Ну как же не ругаться? :)
Я глуповат и непpозорлив, поэтому начинается такое:


       А если какая-то из строк выделенного текста
       уже начинается с вставляемого, тогда что делать?
       Всё равно вставлять, или пропустить?


       А если строка пустая.
       Всё равно вставлять, или пропустить?


Пришлось вот такой огород городить.
Проставь в этом куске свои предпочтения.

скрытый текст

Выделить код

Код:

...
				${(() => { // options
					var ignoreEmpty = false;
					var ignoreStartsWith = false;

					var ind = "\n" + "\t".repeat(4);
					var has = ignoreEmpty || ignoreStartsWith;
					var rv = has
						? [
							"ins = arr.map((line, ind) => !ind ? line :",
							"\t" + (ignoreEmpty ? "!line" : "") +
								(ignoreStartsWith ? (ignoreEmpty ? " || " : "") + "line.startsWith(bb1)" : ""),
							"\t\t? line : bb1 + line",
							").join(joiner);"
						].join(ind)
						: "ins = arr.join(joiner + bb1);"

					rv += ind + 'if (edge)';

					var res = ind + "\t";
					if (has) {
						if (ignoreEmpty && !ignoreStartsWith)
							res += "if (!ins.startsWith(joiner)) ";
						else if (!ignoreEmpty && ignoreStartsWith)
							res += "if (!ins.startsWith(bb1)) ";
						else
							res += "if (!ins.startsWith(joiner) && !ins.startsWith(bb1)) ";
					}
					return rv + res + "ins = bb1 + ins;";
				})()}

я понимаю, что задача нетривиальна

Сама задача не кажется мне прям уж очень трудной,
сложность, для меня, в другом — вписать её так, чтобы
не испортить то, что уже есть. А испортить — это я запросто.


Да вот, даже у тебя, консоль мне подсказывает,
что некоторые цвета побились, видимо из-за
пакетного автоматического реплейса числа 7 в 13.

скриншот

Выделить код

Код:

data:image/png;base64,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


Вобщем — %+no%
Еще переделал вставку на XPCOM, а то стало слегка доставать,
что Ctrl+Z не работает.
Это, конечно, не совсем одно и то же, но множественное выделение
никогда и не было кейсом, надеюсь.
скрытый текст

Выделить код

Код:

...
	async bbc(trg) {
		var v1 = trg.getAttribute("value1");
		if (!v1) return;

		var win = trg.ownerGlobal;
		var v2 = trg.getAttribute("value2");
		var dc = "", plus = false, u, pno = false
		if (v2) {
			if (/^%(\+?)no%$/.test(v2)) {
				u = this.url(encodeURIComponent(v1), "", false, true, Boolean(RegExp.$1));
			} else {
				var re = /%(\+)?(d)?clipboard%/;
				if (re.test(v2)) {
					var {$1, $2, leftContext} = RegExp;
					var cb = await win.navigator.clipboard.readText();
					if ($2) {
						if ($1) { // +dclip
							plus = true;
							var r = v2.slice(leftContext.length);
							v2 = "=" + leftContext;
							dc = r.replace(re, cb);
						}
						else { // dclip
							dc = v2.replace(re, cb);
							v2 = false;
						}
					}
					// clip
					else if (!$1) v2 = "=" + v2.replace(re, cb);
				}
				else v2 = "=" + v2;
			}
		}
		win.gBrowser.selectedBrowser.messageManager.loadFrameScript(u || this.url(
			encodeURIComponent(`[${v1 + (v2 || "")}]${dc}`), encodeURIComponent(`[/${v1}]`),
			v2 == "=%move%", v2 === false || plus, pno
		), false);
	},
	url(...args) {
		var code = `((bb1, bb2, move, dc, pno) => {
			var box = Cc["@mozilla.org/focus-manager;1"]
				.getService(Ci.nsIFocusManager)
				.getFocusedElementForWindow(content, true, {});
			var ed = box && box.editor;
			if (!(ed && ed instanceof Ci.nsIEditor)) return;

			var ins, s = box.selectionStart;
			var mid = dc && !pno ? "" : ed.selection.getRangeAt(0).toString();

			bb1 = decodeURIComponent(bb1);
			if (pno) {
				var edge = !s || box.value[s - 1] == "\\n";
				if (!/\\r?\\n/.test(mid) && !edge) return;
				var joiner = RegExp.lastMatch;
				var arr = mid.split(joiner);

				${(() => { // options
					var ignoreEmpty = false;
					var ignoreStartsWith = false;

					var ind = "\n" + "\t".repeat(4);
					var has = ignoreEmpty || ignoreStartsWith;
					var rv = has
						? [
							"ins = arr.map((line, ind) => !ind ? line :",
							"\t" + (ignoreEmpty ? "!line" : "") +
								(ignoreStartsWith ? (ignoreEmpty ? " || " : "") + "line.startsWith(bb1)" : ""),
							"\t\t? line : bb1 + line",
							").join(joiner);"
						].join(ind)
						: "ins = arr.join(joiner + bb1);"

					rv += ind + 'if (edge)';

					var res = ind + "\t";
					if (has) {
						if (ignoreEmpty && !ignoreStartsWith)
							res += "if (!ins.startsWith(joiner)) ";
						else if (!ignoreEmpty && ignoreStartsWith)
							res += "if (!ins.startsWith(bb1)) ";
						else
							res += "if (!ins.startsWith(joiner) && !ins.startsWith(bb1)) ";
					}
					return rv + res + "ins = bb1 + ins;";
				})()}
			}
			else
				ins = bb1.replace(/%copy%|%move%/, mid)
					+ (move ? "" : mid) + decodeURIComponent(bb2);

			ed${Ci.nsIPlaintextEditor ? ".QueryInterface(Ci.nsIPlaintextEditor)" : ""}.insertText(ins);
			box.selectionStart = s;
			box.selectionEnd = s + ins.length;
			//box.focus();
		})(`;
		var prfx = "data:charset=utf-8," + encodeURIComponent(code);
		return (this.url = (bb1, bb2, move, dc, pno) => prfx
			+ `'${encodeURIComponent(bb1)}', '${encodeURIComponent(bb2)}', ${move}, ${dc}, ${pno});`
		)(...args);
	}
Выделить код

Код:

3.0.5.Comment|Comment?|//|%+no%||chrome://browser/content/robot%dot%ico

harryk пишет

Как сделать, чтобы горизонтальная полоса главных кнопок была справа, а не снизу? У меня кнопка скрипта находится внизу вертикальной панели, и выпадающие списки кнопок разворачиваются вверх, и левый список закрывает собой и кнопку и еще часть панели.

end_before или end_after, как больше нравится.

Выделить код

Код:

0.1.0.position=end_before|oncontextmenu=event%dot%preventDefault();

Отредактировано Dumby (04-03-2021 11:32:22)

Отсутствует

 

№904-03-2021 11:35:13

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

Dumby пишет

end_before

Спасибо, так отлично.
С цветами действительно облом. Взял правильные здесь

Отсутствует

 

№1004-03-2021 12:03:26

rubel
Участник
 
Группа: Members
Откуда: г.Самара
Зарегистрирован: 10-05-2005
Сообщений: 570
UA: Firefox 86.0

Re: Кнопка вызывающая панель BBCode

harryk
Ну выложи свою, готовую с цветами.

Отсутствует

 

№1104-03-2021 12:40:19

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

rubel

BBCode

Выделить код

Код:

// Dumby №9809 https://forum.mozilla-russia.org/viewtopic.php?pid=788834#p788834
// _zt   №9878 https://forum.mozilla-russia.org/viewtopic.php?pid=788982#p788982
// Для custom_script.js в user_chrome_files

(async (data, bbc) => CustomizableUI.createWidget(bbc = {
	label: "BBCode - Multi",
	id: "ucf-cbbtn-BBCode-Multi",
	tooltiptext: "BBCode pane",
	localized: false,

	onCreated(btn) {
		btn._handleClick = this.click;
		btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAB3RJTUUH5QMECjMwnbodXAAABYlJREFUeJzFl3+IVFUUxz/nvjc7Oqu2S2ZpulnZL2l1M4siK0qsf/IHGAYhZEhCVNAP0yBSzCLozySEfkBFRL/NSIvQzMqi/FWgFklUblYo2s44uzsz7757+uPOezuzs78iogPDvLn33HO+53vOPe8M/M8iGGMATVdUQQSc0wZtYwyqOuj+kJ5EEOmzPyJw/25/hE5WrryTbHYqaBbBoRgcFV55+Q2OHj2IiEHV0dLSzN13L0dkEsbA1q0fsG/fFyPwYQDH/PkdXDZrMVE5JDCAMcRxGVR/R1UbPnPnLgMgDAMA2tunoNqV7q9evd6bN0MzEQT+/I4dDw3kJySKCohM8HyIEjsIAkfFVgCfMwBrFWu7iKIxZDLQVUgcD10LyflCbwlVi7VKEBicAyiFZDIB1gphaNjy4S7e2fQy2WyZQwe+rBrQKjjPhmpAGIKEVQ/iC8yrNYJx3hNPrt/Ctm0FmjLCurUPkBvVgSKgephy2aKqrFnzCv2LS8QAMH36ZFQ7qVQ8fSvufQKR/rrDF2bLeOg8vhlVxcZFU7eZywUYM4ps1qRA+ttMKBX8lWxpbWV6+3Sac1NQzTQEkIgJDMYEtLSG5JpNch09gIS4OFacc1jrBo0gAfRXvsLiZTfzS+eb7N39Hp1/vs59D98PnIExjedc1XYUOaLY9xKUsD5KU+9kwEgMqDoWL+/gluvvIsckAEZlL+CZp6+iddw4Hn/sKUS6U7YSm6qgBuIEYMpAVVFH0Nw8dY4l19+cOgewsSWODaseuYdp7ddU9RojcQpxnx9TF/FIWqSPxACjOHHqV7Z99zyF3h8IgxBrLaNNC0tvWwCEBIHSvyZUwPUtDZCswSJPvhXUCcVCkXkL1zCvYwWLlt5Od/E4RgJElEtnz8KEZ2DtwHZqKsw0bA4nzoEJhO2H9rF/x0dks8KOd/dzoPMDMk0CCBfOnsi4iRMGDSSuBTDSd1rCWlJMu77+EWO6iJ1BjLB997e+hqzSdvoYxo5tTfUHA6Bghn2nJQBdzbMIHDvShXMRCKhTTp7Ip+CymiHU0f58Pwd1dsDU0jFk5K76nP6utti+4ujvZGBuGxioMHTuaxlIQKDQfOZYxFT7iDGEp41Jh41TElGRkt/TRnt1ACLtUxqoDyRrTsGqP6UCHVecj7qxBBlQ55hz5cU+34HQ2VWkUOyqO19rJxmmRDFYqae5vyRFpAKx+E4oDubPuoKzZs6h3BMzdc65XDt5AXHFW/1pzzGKfx4b0o5fJMRCisAOUZEJdSIQi2NSayuvfbyetz7tYNlN8zitpY2oZAk05Ku9+6FynCCE2Padr7VVlZBKzUp5gFSkA4lCSR2j1eGwlHDcMGEGNyyZAUAUW8JMwB/SzaZ3twARzkmf8SQFDpJ3nVUMUQ0qNYIgBEEfFWmbNkKz5AhCQ0aaeOH7nZzghK8JVTISIoHw+MaXOPLN5/5K1uRUAm/bhIIaQYEoSUFyvfK9iuKoVBTfJTWdiLrzBV79402yYRtNo4XnVz7H9llNrFu7ijaZwlEtsOHZ93lx5QbE5KvOa8b92KM5VYRijyI5iJWQSJU4EIzC1XMv5WRlLbnmMps3vk3+6KE0Byd/y7Ni2v0gOX9tihUObi2x86VdnHneORz7uUC+8xegt1/GfRpmLpzB5VctohwK41suQhWsCOxxhyk4Je+USnVa7VXlkhvvSKkfTBpHskYdU52KH/3kQVQVp0qPKt3O8bvrDbEC5SrmbsAo9Igljuun4oHEp0cQI+mo3ajjv7tLZXqAkyhNCKEIZQJh5q3XkclORsjgxCFqQGMOfvgZvX8dGdz7iMWn4OzZbUxpvwZbakICBxhiGw13+D8X39pEau5q9erqP/zzObwrwVRTlbge8SzwH8rf9K+4pvjzr5wAAAAASUVORK5CYII=");
	},

	click() {
		var document = this.ownerDocument;

		var names = ["menupopup", "hbox", "popupset", "button"];
		var btnAttrs = ["label", "tooltiptext", "value1", "value2", "popup", "image"];
		var prefixId = "ucf-cbbtn-BBCode-node";

		var rep = str => str.replace(/%dot%/g, ".").replace(/%sym%/g, "|");

		for(var str of data.split("\n")) if (str) {
			var nm = str.split(".").map(rep);

			var name = names[nm[0]];
			var id = parseInt(nm[1]) && (prefixId + nm[1]);
			var parent = document.getElementById(prefixId + nm[2]) || this;
			var attrs = nm[3] ? nm[3].split("|").map(rep) : [];

			var node = document.createXULElement(name);
			if (id) node.id = id;
			if (name == "button") {
				btnAttrs.forEach((attr, i) => attrs[i] && node.setAttribute(
					attr, (attr == "label" ? " " : "") + attrs[i]
				));
				//node.setAttribute("height", "8px");
				var p = node.getAttribute("popup");
				p && node.setAttribute("popup", prefixId + p);
			}
			else {
				if (name == "menupopup") node.style.cssText =
					"-moz-appearance: none !important; border: 1px solid gray !important;";
				for(let str of attrs)
					node.setAttribute(...str.split("="));
			}
			parent.append(node);
		}
		for(var btn of document.getElementById(prefixId + 13).children) {
			btn.setAttribute("image", "data:image/x-icon;base64,AAABAAEAIA4AAAEAIABgBwAAFgAAACgAAAAgAAAAHAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAH////5////+f////n////5////+f////n////5////+f////n////5////+f////gAAAAA=");
			btn.setAttribute("value1", "color");
			btn.icon.style.setProperty(
				"background-color", btn.getAttribute("value2"), "important"
			);
		}

		for(var hbox of this.lastChild.querySelectorAll(
			":not(#ucf-cbbtn-BBCode-node13) > button > hbox"
		)) {
			hbox.removeAttribute("pack");
			hbox.style.paddingLeft = "5px";
		}
		bbc.popup = this.lastChild.cloneNode(true);

		var click = this._handleClick = function() {
			var trg = this.ownerGlobal.event.target;
			trg == this ? this.lastChild.openPopup(this) : bbc.bbc(trg);
		}
		bbc.click = function(e) {
			this.append(this.ownerDocument.importNode(bbc.popup, true));
			(this._handleClick = click).call(this);
		}
		click.call(this);
	},

	async bbc(trg) {
		var v1 = trg.getAttribute("value1");
		if (!v1) return;

		var win = trg.ownerGlobal;
		var v2 = trg.getAttribute("value2");
		var dc = "", plus = false, u, pno = false
		if (v2) {
			if (/^%(\+?)no%$/.test(v2)) {
				u = this.url(encodeURIComponent(v1), "", false, true, Boolean(RegExp.$1));
			} else {
				var re = /%(\+)?(d)?clipboard%/;
				if (re.test(v2)) {
					var {$1, $2, leftContext} = RegExp;
					var cb = await win.navigator.clipboard.readText();
					if ($2) {
						if ($1) { // +dclip
							plus = true;
							var r = v2.slice(leftContext.length);
							v2 = "=" + leftContext;
							dc = r.replace(re, cb);
						}
						else { // dclip
							dc = v2.replace(re, cb);
							v2 = false;
						}
					}
					// clip
					else if (!$1) v2 = "=" + v2.replace(re, cb);
				}
				else v2 = "=" + v2;
			}
		}
		win.gBrowser.selectedBrowser.messageManager.loadFrameScript(u || this.url(
			encodeURIComponent(`[${v1 + (v2 || "")}]${dc}`), encodeURIComponent(`[/${v1}]`),
			v2 == "=%move%", v2 === false || plus, pno
		), false);
	},

	url(...args) {
		var code = `((bb1, bb2, move, dc, pno) => {
			var box = Cc["@mozilla.org/focus-manager;1"]
				.getService(Ci.nsIFocusManager)
				.getFocusedElementForWindow(content, true, {});
			var ed = box && box.editor;
			if (!(ed && ed instanceof Ci.nsIEditor)) return;

			var ins, s = box.selectionStart;
			var mid = dc && !pno ? "" : ed.selection.getRangeAt(0).toString();

			bb1 = decodeURIComponent(bb1);
			if (pno) {
				if (!/\\r?\\n/.test(mid)) return;
				var joiner = RegExp.lastMatch;
				var arr = mid.split(joiner);

				${(() => { // options
					var ignoreEmpty = false;
					var ignoreStartsWith = false;

					var ind = "\n" + "\t".repeat(4);
					var has = ignoreEmpty || ignoreStartsWith;
					var rv = has
						? [
							"ins = arr.map((line, ind) => !ind ? line :",
							"\t" + (ignoreEmpty ? "!line" : "") +
								(ignoreStartsWith ? (ignoreEmpty ? " || " : "") + "line.startsWith(bb1)" : ""),
							"\t\t? line : bb1 + line",
							").join(joiner);"
						].join(ind)
						: "ins = arr.join(joiner + bb1);"

					rv += ind + 'if (!s || box.value[s - 1] == "\\n")';

					var res = ind + "\t";
					if (has) {
						if (ignoreEmpty && !ignoreStartsWith)
							res += "if (!ins.startsWith(joiner)) ";
						else if (!ignoreEmpty && ignoreStartsWith)
							res += "if (!ins.startsWith(bb1)) ";
						else
							res += "if (!ins.startsWith(joiner) && !ins.startsWith(bb1)) ";
					}
					return rv + res + "ins = bb1 + ins;";
				})()}
			}
			else
				ins = bb1.replace(/%copy%|%move%/, mid)
					+ (move ? "" : mid) + decodeURIComponent(bb2);

			ed${Ci.nsIPlaintextEditor ? ".QueryInterface(Ci.nsIPlaintextEditor)" : ""}.insertText(ins);
			box.selectionStart = s;
			box.selectionEnd = s + ins.length;
			//box.focus();
		})(`;
		var prfx = "data:charset=utf-8," + encodeURIComponent(code);
		return (this.url = (bb1, bb2, move, dc, pno) => prfx
			+ `"${encodeURIComponent(bb1)}", "${encodeURIComponent(bb2)}", ${move}, ${dc}, ${pno});`
		)(...args);
	}
}))(`
0.1.0.position=end_before|oncontextmenu=event%dot%preventDefault();
1.2.1

3.0.2. Font|Шрифт|||5|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABLUlEQVQ4EZ3SvyuEcRwH8NMZcJisBkoyyGCni1KMEiUrMphsBhOLf0CyWPgfGDEZlEzKdDGJOOdHOef10RHuOeF6v76f7/P5PN97nq5LpSo/9VpN/Ctx+NLJIr38OVNOlMrW1D9nx4k8h1xRx3u6bdqomlaTIptME28yrkYGLHFdUJtJzJJuiSxx0726S2TLErMwY1+RGp1THphgjGOe6aDAHjfsU5F+nVKCnN4cMZtU14l9l/olG65iMK8Olo2oyxxwRyNZ4r5l9SMZu1suSPM5PS5eOGGaWR7JkeYtfdYzFvmeFY14YpIhsx8TT8i5I96uU20vG1XjC7fVHzNsGjfG72P7kRq7eOMntSVtqZZ+gwZWOedz4nBG46jWUi15g2sWSErM4s+WNPt97xVThExn/QTzMgAAAABJRU5ErkJggg==
2.4.2
0.5.4.position=after_start

3.0.2.ClipBoard|Операции с буфером|||7|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABA0lEQVQ4EaWTv0oDQRDGx9NUERIkEEhnCt/BLoV5l4BNniHpw0EK0+Y9QlobX8BCOwtBBMFUmj+/74pl9o71Qjy+3+3M7LdzU+ydmYUnI2rBFoYwAq8HkhWcwxfsIOiC6AX28AQzUOxRTXuqPbPfANNXtbZ59eERlvALZf1Q0J48N8Sa1vRl4qA10RyasACvd5INdOEWCpUbFEVeMr6y1iqrddQYUhPknOuA1wfJGCKlGlSM0SmXpBrkeP41wYQGujAsQdsQuSA1wT2eK/D6JJlCpFSDijE65ZLMxSeF5Qmu6XIHf0meyv4lFd11/SjHIG+TM+Ff+CYZmFkPjtEbJl13OwDEjjLU6ZLlPwAAAABJRU5ErkJggg==
2.6.2
0.7.6.position=after_start

3.0.2. Url Img|Ссылки и изображения|||9|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4EbXSQUrDUBSF4adjcRuKO+isYGsVRKzYgjsoBXEZUmeCacGpKBRx5A6UrsGFCC3WDvzuIJBJkooYzp9zH/e8vHchKf3x2fjF/nPZY3xijA+spThkIrnEFDMssIO1FKfNJdvI9a7IUKuuRJzc4UU9WgRpU1GlI817bKOBUMurh2fUal9igBXiNm0e44x4qU51JmimlC6xxAUyfOMapbrRidAdv0LUfd5MKd3iEKWKa811Y8YzHtce8BiDVaur/YU83FD3kCHGYdV60n5AUR2LGOGE12os8YZcB4oF4gasXrsisWHGp4iT46PxG1uWqxjYExtiC694wf/rBxPBMGc7Uw/YAAAAAElFTkSuQmCC
2.8.2
0.9.8.position=after_start

3.0.2. Text|Размер шрифта и выравнивание текста|||11|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jEg8aSD7EBATg+yAip4CMQMLiIDij0C6E4iJQSC1xKgjrAbkBVugslwgJgdNBnnhF1DneyAmB4H0kqMPoQfkBRiPD8jIBGJi0HSgok9AzIBsgCRQYDMQE4N8gYqeAzHlCOQCCaAxOkBMDroC0kRRZgIZQBEGABHsLR+MEAX1AAAAAElFTkSuQmCC
2.10.2
0.11.10.position=after_start

3.0.2. Colors|Цвета|||13|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABUUlEQVQ4EaXSMUvDQBjG8SQq1ijorIWiIA4uLjqI+gGkYlHQJTq7ubg7uIijk0OXOru5ujh2UUEogiCImyCiUERsE/9P7MkLTUCwPL9737tLmiPE97z0N8TYB6XN8I4/p8CVMRJjjF4ZZ+hFbgJ2xKfa6KYRFupoYBm5CdmxT1dfYu0ISYdOeErflaBr5WehRNmFi0447Ca2aiNkoQmbiIleapm6jk/MYgMD2EOavD/YYreGKt7whQUsIcY86kijEyR0VmTmT/R6ut2/Yq0HXt470Hegp+qafYZFnMFlmmYGabJOoBt22L3EAVpYhd7FBXUKv8n6g4jdFir4QIIHbGOio0j19MGoZjlh8RW6+Zh6jhXU4BIGrqPe4RrKC4Pe8iF1E6Oo4hk2vj1Bv9lp0E9iDfcYxCMyU2A1ho7qzDG/gU7h1prMb+HmbXrdS/lHvgGnAlfkCv2wRwAAAABJRU5ErkJggg==
2.12.2
0.13.12.position=after_start|height=410px

3.0.5. Font 8|Размер шрифта 8|size|8||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.5. Font 10|Размер шрифта 10|size|10||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.5. Font 12|Размер шрифта 12|size|12||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.5. Font 14|Размер шрифта 14|size|14||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.5. Font 16|Размер шрифта 16|size|16||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.5. Font 18|Размер шрифта 18|size|18||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.5. Super|Надстрочный|sup|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAfElEQVQ4Ee2QywmAMBAFrcUyFBUUT+m/CWMRzuQgBsQfnkR5L5vdnSdoUXz+6fjCFj+S4Ymkvv2SQDDiCtfYe6BekmCENEhJ8u4spO7gEIjsDVAyOXMXsummcTHTC1J25U5GNgMauohHfCYZWTMrW3Lr8VUNgCX+9cYfWABkBhH7SVfn0gAAAABJRU5ErkJggg==
3.0.5. Sub|Подстрочный|sub|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAeUlEQVQ4Ee2QQQqAMAwE+5b+woMKikf9/xv0E+6AlbYohiCeLAmx2dkVGsJ/XnuBqKRBba1RYFSf1eprU0/qp4KBxVOwjW4Ii+ZdocHAXjIIAIA1wA4NptaKOwDgnG3N5uTJQwgikF3STbMXtR7dabqKELfZ9cfvTTuAtRH/9eSZhAAAAABJRU5ErkJggg==
3.0.5. Bold|Полужирный|b|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABE0lEQVQ4Ea2Qv04CQRCHB6SgszAWFgSijU9A6xbG2oTwGryFvICVtQ2Fj2FiQ2Lpn8QYGy1oKBRiNJzfDBl24ZZIopffN/Pb3bm52RP541NJ3j/A9yHdYykzwhs8whWMIKsgIsUvfHLegayCxAbv+GHCBO/NdZoq65KCxAY3+FRNFtq0ICt7ZFO2k50shxeWfvcv/BhMNYvlsMNWF1T6kSNMS+bPBWkKJQWJVyjW+G/2O7DQugleqbgElda0ROQUtmAAbbiFJQWJE6z+RI7kjOCTneNNej8zG4SHpKbhXsdzn+Y6i31w7WJ64Hpyk+Yg8Qo+ai5PqDsEU9Xi5uGa0mO4B1PF4jxsk04gpw827+AZ/lc/62hJT/vXwVcAAAAASUVORK5CYII=
3.0.5. Italic|Курсив|i|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAArElEQVQ4EbWPMQoCMRBFx0WwsbDxBAuCvWsrWHtCj2DtKdQDWKm9ljbC4u4bmCbEiUmx4b/9ZLJ/khEZeI3ov4cDLKBYSxKdUeORqqgSFta2feE3iPSvQWOJC64vwULlNjiFsbzdhN8+oDfv8GLp/BpW5l46NUJjoYeIPOGnchok50810BH01rN+SpkR+ILOv8GLtSXRQQtTcFU5JyurX/E3uBo7J0fqdwMbUD0ADBpiB0meUwAAAABJRU5ErkJggg==
3.0.5. UnderLn|Подчеркнутый|u|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA1UlEQVQ4Ec2SQQ4BQRBFm2CcxS1wCBeQSJzA1k5cxCls3UDiAGIjSMSGDe/3pNBDd4xYkP+rftWvqenoce7ffjMOdIJH2IaGDkI9eZqhfI8e7StcwwY0SKsnTzPWd9W7ysUuT+5MvkCDtHqqbUb6ZYFvlgnFE5R51s/+fIH+Zb85EXQbUbuJc4Aaej5dnZ6W78kZTGKAq+sak23JFK1en/wRhkzpbRvyFurqtBgZohKWQZVRtaCwJOhbIIUoLhhhd2EKc8wJ9Kj5+AgLpI5OimIVdb4xbqdLJIzecCZXAAAAAElFTkSuQmCC
3.0.5. Strike |Зачеркнутый|strike|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjAiOQAcyB7ExCzAjE+9Bso6QfEJ4GYgQVEQLEskL4HxDlADEJcQGIWEINQGpD4BsQgNAVIgNSCDQCy4YgDyFIEYhgSBDL+QzGIDWSCEUgNSC2Yg48AacJmAIoeJhQeGRyKDUC3czVQAOZsXDRIDVAZBDFCKDjJDmSBQh9I4USg2PiJUxZJgg/IBkUrCIPYQC5piOJYMEKyD5mNJIybyQ+UugbEL6AYxCbLG0D9NEYA290fw5d4JN8AAAAASUVORK5CYII=
3.0.5. Mono|Моноширинный шрифт|font|monospace||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABPUlEQVQ4Ec2RO0sDQRSFb1aQIFYSC4s8RLQ2pYLYKD4QLQQ7KyuxTZ1/oWAhCIJgLYgQ0R8gBHsr1yAExEaCCIp+J8xdBpM6GM53z7l3lszMrtl/+xU50ALEGqPZgFh5mh3o0RGTF8iBa5vQgXi2Rv8FQwkllnaaYFAFV0oYgXFwVcxMG30nBNcMoQjvsAyu5xBKwWV6LlVIVALreAqnZqYjYl21qR9QBlfFzJ7AEpWAdh0mz8McjIL0Q2mBTnCAaz07AX1Xeqsd0iUcwydsgqtBuAK9uCaua+3jmZZIWtQnI9ot5RBcJwSd5BHXc8q6cnaFVRbu4Q2ka8oKuNIQavg5SD5Ttjp1D1xThBvIgbRIuQD1Wrsj58E02CIU4AH+ajcMzoLHNkvzqj+YJOgLYD3SnTWcVulDo89swKNfiPw0JGkl4+YAAAAASUVORK5CYII=

3.0.7. Hash|Тэг #|#|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4Ec2PQWrCUBRFY1Rso1JQhOBE7FDoqJsIuA9X0OyldFKc2F2UQmcduoAWC0KQ4kRtBy2k5/6Q+r/EZtiGe9679+WR/O95f/1Ujxygy/wMtpCrj6nDB5Tqlo07sDUnxODId9I+hNgEbBXN7PfGP1LX8AXvIJ+TkjegPKEbVUzdlzE2gBuYwYOXPR3aNVzBKzzBAgpVZaoTRPRclxidoEd35DspC1rSR5IsmhpSP+ENHNWsdILvwwikBuUcpAuK7j6kSy+UFBxFJA3L2LJXqCZT/TGmr0A+Z0q+B+UB/Uf2FXZMn0H3X9LlaUanVGWB/V1abh+stMgB/EN9A2rwMujonvLGAAAAAElFTkSuQmCC
3.0.7. Hide|Скрыть|hide|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABIUlEQVQ4EaWQsU7CUBSGW40myk4M2iaiPIEPQHgWJ5/FxYhJg6OrM7PRVcUFQnAzrg4OBhOj4Pc1LZHKIJX83/n/3t5zei9B8M/fatYf4xvwBqVUo6sLOlZOVdocsovn2iIItlhhYdkhl6y9gNe6xkNowgBO4AEWqsLqKRzCCPYh1zrhHCaQwCbMqc5TH6ZwC56kizdhD5RDHglTcM82niqmPoMv5JisvPsr4QP8ABacUdwjT+RohVKUX3JtQjmCMUSg3i0ZX5mntkO9BycP8TVQVYon8ToNsu/c0yPPrkBOVaF2wC8neH4SYuCgIeETEvj1J7I20wHpAu6gnXGFt+AG6vBnefyI3SEoT+J1lhpi409qPDhEJ5aTJ4vLtRa6vgFNDjMI+kwKNgAAAABJRU5ErkJggg==
3.0.7. Spoiler|Спойлер из буфера|spoiler|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMklEQVQ4jWNgGKzgP7EKmSi1iWIDGJHY+JzNiEcOKxhCYTDwgNjQxRaojAwMwyIMKAYA3esECwxQ4k8AAAAASUVORK5CYII=
3.0.7. More|Спойлер More из буфера|more|More%+dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAt0lEQVQ4EWNgGIxAgBJHcQI1PwPi5UCsCMRkIU2grs1A/BuIZwKxBBCThVyAui4A8Rcg7gBiHiAmGbECdeQB8RsgvgvEYUDMCMRwxARnYWf8BQq/A+KvQMwLxEJAzAzERKFQoKrrQPwJiMuBmAuIiUIGQFV7gPgPEIMCUQpIE404gCpfA/FxILYEYrKQOlAXSkAB+TgRC5qMGJCfCMT4UB9Q8hUQgxG6ASAvGINlcBMgNbhl6S4DANVPFhJKF+A+AAAAAElFTkSuQmCC
3.0.7. Quote|Цитата из буфера|quote|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
3.0.7. Q|Цитата Ru-Board из буфера|q|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
3.0.7. Code|Код из буфера|code|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+ElEQVQ4Ec2RO2pCQRhGfxUMYtIpQQPapxIM2Nq5BzcQCzErkKxAVyGWrsHSRxYQEAsLxcJOtAgkej7h4mTIVVPpcM7M/xrv5Wp27RW78AXqzK1xhf/miRvfWLYzK0O/hj5vFOYYvK1mNEvpSIJwgCO8Q5chSQuFemMC1RKcB6LsPZxiCl2eSXZYwIBHghnqju7aO8kGi+ij3qdfJH/BLTb1C/cEYVRpdDGMBzUibB1cYg4DSgQ/mEeXHIlmdUd3Sc2S7B84Rn0oDmuzDdAlTjJCzSY5f5Elq6HQX7YgaKDPKwXNcoRTofWFaTyJnvTXQJziBPt282sPd+gjovO/D70AAAAASUVORK5CYII=
3.0.7. Mono CB|Моноширинный из буфера|font|monospace%+dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABPUlEQVQ4Ec2RO0sDQRSFb1aQIFYSC4s8RLQ2pYLYKD4QLQQ7KyuxTZ1/oWAhCIJgLYgQ0R8gBHsr1yAExEaCCIp+J8xdBpM6GM53z7l3lszMrtl/+xU50ALEGqPZgFh5mh3o0RGTF8iBa5vQgXi2Rv8FQwkllnaaYFAFV0oYgXFwVcxMG30nBNcMoQjvsAyu5xBKwWV6LlVIVALreAqnZqYjYl21qR9QBlfFzJ7AEpWAdh0mz8McjIL0Q2mBTnCAaz07AX1Xeqsd0iUcwydsgqtBuAK9uCaua+3jmZZIWtQnI9ot5RBcJwSd5BHXc8q6cnaFVRbu4Q2ka8oKuNIQavg5SD5Ttjp1D1xThBvIgbRIuQD1Wrsj58E02CIU4AH+ajcMzoLHNkvzqj+YJOgLYD3SnTWcVulDo89swKNfiPw0JGkl4+YAAAAASUVORK5CYII=

3.0.9. CB Url|URL из буфера (если есть) как ссылка + выделенный текст|url|%clipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABUElEQVQ4EaXRMWuTURQG4BMR3VwtxV2R/oFMtsQYBSnGtmL/QQcl0FV30U1IUugkiEoVRPwDDiWr0qmDk91bBWNjk2J8TiAhS2yK4X3uOR/3fNzvkoj//BVO8f6y2dv8pMkuUyUP2TDZZYsWHS4zVfK0Q5NlhtnWNDgxVRN5ckUdzysPKc5o/pVbNje5QJHMdcsK7zgxJRNrHJNfU1bzOk/VibljZ4P5iHhIl1Ua9HjCxDyzk0N1tUb299T5iHjOTSYmP+vQbt7xrpqfvabmNZRBLlkXWeA8o1R1RwyHi/oVGuR1lLhvyQN+q30+c5FBXltfMp6Kh7zCojrLL/LFx+oe2b85q8n8sMwxzA3NBzb5yDIFHvGJfa6R/4oSccXaocUWPZrkS0qULH84YJ0d2nxllKu6Oi8iYonxnPPwhT5v+U72D9SpM2PyPW2+UaPwFwaUSmECjuXKAAAAAElFTkSuQmCC
3.0.9. Link +|Выделенный URL как ссылка + текст (пусто)|url|%move%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABOklEQVQ4EaWTwUoCURSGTz5Ar5H4BrMTzDSQaDIFIWwrgvQYkbugUXAViIK1atuy8Blc+RSC4mTU9w/cyYRJJfm/+597zznee6TM/vk52KP/ktoSzKADE9hJuqRLZQgjGMMCjmAn6bY5lXlweicIYKt8KnRzAV/XgI2wFMFfOiXZg0PwQDpmqcAzbFWOigasQK/J4xrnDk/UOZkuZM2sBSHUIIAPuIVEtcmo6AG/AcVVPGtm91CEROlZc7Ka8QLXsxu4xsB+qc7uFXoQyWddgiv2iCsQgMbBYl0TfYJGecEjDVn7sK4CG41whjvpZjV/cbCEONdh8wZOJwQL0AuwSFesK1BziPsQK02khjE+At2sL9WfMVvTTa5ZubION8lwoF//0cw2C4acNUHNVXwv6RVTOp5A/43Yj74BsvRDbF//RwwAAAAASUVORK5CYII=
3.0.9. PostLink|Выделенный URL и как ссылка и как текст |url|%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4EbXSQUrDUBSF4adjcRuKO+isYGsVRKzYgjsoBXEZUmeCacGpKBRx5A6UrsGFCC3WDvzuIJBJkooYzp9zH/e8vHchKf3x2fjF/nPZY3xijA+spThkIrnEFDMssIO1FKfNJdvI9a7IUKuuRJzc4UU9WgRpU1GlI817bKOBUMurh2fUal9igBXiNm0e44x4qU51JmimlC6xxAUyfOMapbrRidAdv0LUfd5MKd3iEKWKa811Y8YzHtce8BiDVaur/YU83FD3kCHGYdV60n5AUR2LGOGE12os8YZcB4oF4gasXrsisWHGp4iT46PxG1uWqxjYExtiC694wf/rBxPBMGc7Uw/YAAAAAElFTkSuQmCC
3.0.9. AnLink|Анонимная ссылка|url|http://anonym%dot%to/?%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVQ4EaWQwUoCURSGz7SoXdsM2he9ga0UMw3CslIQci9E9hhRu8BRaBVEgVQvUbh1G7QLaqerakQL6vuHRmYzOdHwf+c/l3vOPfeO2T8/5w/9u9RuwCs04QFiSUNaVI6gDR0YwCLEkqZ5VGYh0D2JCxNVpEKTc3hYlyyETZH8pnU2z2AWkiCtEkpwDROVoaIGn6DbZHE95xiP1BY7LUiZ2QGMoAIufMARROqEHRU18ENQXsZTZnYKeYiUruWxqzdu47p2DdczMF/zxAKkYQbGKpINIShOkpfABT0HsyrhHb5+6OJz4OuKeAFh5VjoCQV8AYbQhheQP+Pqw8yaxDsItEYyABekPYImq2mFfB+07uG+lohq6OA6XZN1qMNayhDUcIPXYRP68AhjLZPp75+b2Q6ENc2iC7qBDuqRe6CbYPGUoOwW3uAJ6uB8A7cySx8rt0BJAAAAAElFTkSuQmCC
3.0.9. HrliLink|Анонимная ссылка|url|http://href%dot%li/?=%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVQ4EaWQwUoCURSGz7SoXdsM2he9ga0UMw3CslIQci9E9hhRu8BRaBVEgVQvUbh1G7QLaqerakQL6vuHRmYzOdHwf+c/l3vOPfeO2T8/5w/9u9RuwCs04QFiSUNaVI6gDR0YwCLEkqZ5VGYh0D2JCxNVpEKTc3hYlyyETZH8pnU2z2AWkiCtEkpwDROVoaIGn6DbZHE95xiP1BY7LUiZ2QGMoAIufMARROqEHRU18ENQXsZTZnYKeYiUruWxqzdu47p2DdczMF/zxAKkYQbGKpINIShOkpfABT0HsyrhHb5+6OJz4OuKeAFh5VjoCQV8AYbQhheQP+Pqw8yaxDsItEYyABekPYImq2mFfB+07uG+lohq6OA6XZN1qMNayhDUcIPXYRP68AhjLZPp75+b2Q6ENc2iC7qBDuqRe6CbYPGUoOwW3uAJ6uB8A7cySx8rt0BJAAAAAElFTkSuQmCC
3.0.9. Image|Выделенный URL как картинка|img|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA50lEQVQ4EcWQMQ/BUBDHr9LEoEEwGYTEbGK2ScTiu9gtJosdMfoAEoQvYzKbGpvU75o+2iJpGTT/37279+7uvZ7Ij59F/QG+ljbwqHbhAmlUItkB0QYLdVKiNV4mYZG+tEGuDRG9a1AXkT3kwGiCc4IVRBRvUOB0C32YgVE5cPS/A/e5mBno845sa2wYEquymAHkwehlBlNOehDWkqAKN9Dbx6wteEhvNUHHOKG1gr+BIjRBNcKs4QoSn4HuxWmzYYpxfdV8i0nSgLTPskNHc/wdJNGZpC6IhfHAhQukkQ7Vsak4wv90BwaNIH/UeLoPAAAAAElFTkSuQmCC

3.0.11. Justify|Выровнять строки|justify|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAkElEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jECePxD3ATE5qAhkgCpQpyMQk4P2k6MJRQ8jkGcLxLlATA6azALU9QuI3wMxOQiklxx9CD0gL2gDuT5ATA7aAvKCHFBnKBCTgy6RowlFD8gLEkARHSAmB10BaaIoM4EMoAgDAMJ/KZhlVYyuAAAAAElFTkSuQmCC
3.0.11. Left|Выровнять по левому краю|left|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAnElEQVQ4EaWToQpCQRBFZ0EsNpNJMOsv6BcIptfeL/ghFovBHxOrSYyCaLHouUkWw8BdOGdhducOTNgSEcOIGKHDS6Ge42PaF4JjnKHDxQlVmUK1wT1mXGlYYcWA6ow7zHhmDda7VliS3KLDQSu8Sd7RQVkn98tohTnlGjMeNByxQitMuekw40bD3wDu2tAKE0Ys0OGkUNNn0oAmvxLcLPtwWDuuAAAAAElFTkSuQmCC
3.0.11. Center|Выровнять по центру|center|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jEg8aSD7EBATg+yAip4CMQMLiIDij0C6E4iJQSC1xKgjrAbkBVugslwgJgdNBnnhF1DneyAmB4H0kqMPoQfkBRiPD8jIBGJi0HSgok9AzIBsgCRQYDMQE4N8gYqeAzHlCOQCCaAxOkBMDroC0kRRZgIZQBEGABHsLR+MEAX1AAAAAElFTkSuQmCC
3.0.11. Right|Выровнять по правому краю|right|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAmElEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jCg8BOcQkCkNxIRQEQsOFTOA4jxATAhdI6SAoDzIC7ZAVblATA6aDPLCL6DO90BMDgLpJUcfQg/ICwgegpUJZPIBMSG0BeQFbIq8gIKSQEwIXSKkgKA8yAsSQFU6QEwOugLSRFFmAhlAEQYAcvop4NyOCrkAAAAASUVORK5CYII=
3.0.11. Line|Горизонтальная черта|[hr]|%no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAB3RJTUUH5QMEDAUG35FlAgAAACRJREFUeJxjYBgFjFA8sC4QotSA65QaIE6JARSDgY+FUcDAAABX4AEIJ0vqfAAAAABJRU5ErkJggg==
3.0.11. SubPoint|Подпункт обычного списка (символ+пробел)|    · |%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVDhPYxgFgxxYAvFpID4FxOYgAVLBeSD+D8VnQQLYABOUxgYYoTQIILOJBhR7YRTQBzAwAAD7rAep9ypVVgAAAABJRU5ErkJggg==
3.0.11. Point|Пункт обычного списка (символ+пробел)|• |%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABZSURBVDhPYxgFtAWWQHwaiE9B2SQBkIbzaNgciDEAI5RGByANIGAApS8A8T8gNgbzkAATlEYH2AzGahkzlEYHF4HYG4hfQDEIZALxUwiTOEBRII4CogEDAwB6LQ7925A7NgAAAABJRU5ErkJggg==
3.0.11. Points|Пункт списка/подсписка (тег)|[*]|%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAkElEQVQ4EWNgoCHwB5r9FojfALEvEJOMbgB1/Ifia0AaK2LCKgoRBNkMYTEwILNhYgRpVaCK9VCsAqTpjyyBVp4G4lNAbA7EJKPzQB2wQDwLZGNF+AKREUkHMhtJGD+TYi/gN54IWYqj8QjQElggHgKysSImrKIQQUEIBSaR2WABYghfoKK3QAxKxt5AmjYIAEIDGQuPW7ZIAAAAAElFTkSuQmCC
3.0.11. SubList|Маркированный подсписок|list|s||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAp0lEQVQ4EWNgoDJgB5pnBcREI0Y0ldOB/EAgVgZiESBmBmJc6BtQ4gUQg1EBkFzAwMDwB4hdgRiEXgOJ/3jwdqAcAwuIAGKQxlggXQvEu4EYhEyABCEXAJUgkDWQie4loBCNET4b5wLt5gViXOgCUKINFgZANgb6ABQBhQ2Qwoq+YBWluyC+MNAHugafFz8B5W8DMU5EVELC5wIBoNH45H8D5QdBQAIATw0jr47iJToAAAAASUVORK5CYII=
3.0.11. List|Маркированный список|list|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA5klEQVQ4Eb2SMQrCMBRAUxQEwa2rgxRXJ3HQycHNQQ/gBZxcHBxcvYCDk+AsuIjgoOAVxNULCA6KSBcL+n6haCvRFovlvZ/8/CRNIErF/KXYr4yhMQIzR+RNtNDEBOqwKRzQpUOcKKUcrKFwJNw/uKSmkhJQFrZo+7hCoUj4dgKmPKnQDV6JoWiUmL7ANIbCu0KW2Rmc4RptHGMGdWwpDLwNhiR13GEbhTPBQR3X14JJMscc/kQsD6nBESzMo3dFum9cGNmjS484xRtWUYj0kE6skCfcpd2gICcwpKNRfuYrFXzZv5IHQFEvl0DCMssAAAAASUVORK5CYII=
3.0.11. NumList|Нумерованный список|list|1||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/UlEQVQ4Ea3RMWsCMRjG8Xh2KQdqp6NuOru7CAoiSJ0KhW7iKrj7IXQQN7+C4CcoHRwcRNwcxaGTi5NoRUH957ik4ZDenSjPL2+Se3NEFeLvYzOt4K68c2qCESIl7nXvqSdkMMR/KfPwiC2EJQf8YIkw6dP0ATeWO0YbYrTrc3rCpvwKO2qkPBnd38wlSviYNwh/yuh86AuyvLiIZ/jzykYdZhwWDfUb5Fl0MUcbbzDjsBggB/kvpKljrOGmxViAhQ1i8KfKxi/Onik1CR15mx4riXIz8mYHnsyQgk6C2ReaCEpJCPECN+qqHVY1LHDBJ0JFvcCh24bKSk2C6hUBwSHi/YrJMAAAAABJRU5ErkJggg==
3.0.11. AbcList|Алфавитный список|list|a||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABEklEQVQ4EbXOMUsCYRzH8f/p5XTglUOo70A0GhuNENJZxEVx0MXNzdfQ6FKu4otwK6GGaHESGhoEjYT2IjD6Pg/3XA52F4rH7/M8/+ee5/nfifw+eRFpYuuMufkMF/9OxDuZYf7CEDUE5YLNNHRMgzqrCV7QkOCnx3YZOqqBTVXFCidwcYq/YrGh7jGJqMvnVPfoQmXBUMEEe8mUrh3o+L+iV1sMOzewvY8WmR2YPFC8wiRJUcAAJscURdMgyyIBBy2cYb2BOtznXRYWUhjjDX6iVCO0sSmXvPzAt+eROQ4/V1Q3CEqJzU88wYWfJtWdiBwgLHkROYSOxXiEOVTXJbPKNcMtQqMaxDiVw3pmLN4Rmh+FfyaTlM3B+AAAAABJRU5ErkJggg==

3.0.13.|Black||#000000
3.0.13.|DarkGrey||#424242
3.0.13.|MediumGrey||#666666
3.0.13.|Grey||#808080
3.0.13.|Light Grey||#d3d3d3
3.0.13.|White||#ffffff
3.0.13.|Aqua||#02feff
3.0.13.|Baby-Blue||#76ebff
3.0.13.|Sky-Blue||#00c0fe
3.0.13.|Light Blue||#0080ff
3.0.13.|Medium Blue||#0002f7
3.0.13.|Dark Blue||#00008b
3.0.13.|Indigo||#4b007f
3.0.13.|DarkPurple||#5c246e
3.0.13.|MediumPurple||#670099
3.0.13.|Purple||#a020f0
3.0.13.|LightPurple||#c05eff
3.0.13.|Pink-Purple||#de00ed
3.0.13.|Fuschia||#eb00cb
3.0.13.|Hot Pink||#ff40f3
3.0.13.|Neon Pink||#f46ffc
3.0.13.|Pink||#fec0cb
3.0.13.|Peach||#fccec1
3.0.13.|Flesh||#fddeb0
3.0.13.|Tan||#fdf1b5
3.0.13.|LightBrown||#b87332
3.0.13.|Brown||#7e4102
3.0.13.|Dark Red||#8b0101
3.0.13.|Medium Red||#e3170e
3.0.13.|Red||#ff0000
3.0.13.|Orange-Red||#fe2400
3.0.13.|Orange||#ff803f
3.0.13.|Yellow-Orange||#ffbe00
3.0.13.|Gold||#fed602
3.0.13.|Yellow||#ffff00
3.0.13.|Green-yellow||#adff30
3.0.13.|Neon Green||#5dfc0a
3.0.13.|LightGreen||#90ee90
3.0.13.|Green||#56ad3c
3.0.13.|MediumGreen||#008000
3.0.13.|DarkGreen||#006400
`);

// Дополнительные секции кнопок
// Вставить после - 0.9.8.position=after_start
// 3.0.2.Bla1|Bla1-rtt|||11|chrome://browser/content/robot%dot%ico
// 2.10.2
// 0.11.10.position=after_start
// 
// 3.0.2.Bla2|Bla2-rtt|||13|chrome://global/skin/icons/warning%dot%svg
// 2.12.2
// 0.13.12.position=after_start


// Комментарии _zt

// Высота отдельных меню задается в строках
// position=after_start
// дописываем желаемую высоту так
// |height=455px

// Если кнопка на вертикальной панели, во избежание перекрытия, заменить
// 0.1.0.position=after_start|oncontextmenu=event%dot%preventDefault();
// на
// 0.1.0.position=end_after|oncontextmenu=event%dot%preventDefault();
// или
// 0.1.0.position=end_before|oncontextmenu=event%dot%preventDefault();

// Примеры:

// название|подсказка|тег|||data:image...
// Самое простое, парные теги обрамляют выделенный текст.
// [тег]выделенный текст[/тег]

// название|подсказка|тег|%move%||data:image...
// Перемещение выделенного текста к первому тегу через =.
// [тег=выделенный текст][/тег]

// название|подсказка|тег|%clipboard%||data:image...
// Из буфера вставляется к первому тегу через =, а выделенный текст помещается между тегами.
// [тег=буфер]выделенный текст[/тег]

// название|подсказка|тег|%copy%||data:image...
// Выделенный текст используется и в первом теге через = и между тегами.
// [тег=выделенный текст]выделенный текст[/тег]

// Можно использовать вместе с подстановкой, например
// название|подсказка|тег|подстановка%copy%||data:image...
// т.е. в первом теге после = будет прописана строка подстановки,
// а только потом выделенный текст.
// [тег=подстановка+выделенный текст]выделенный текст[/тег]
// Подстановку можно использовать и в других случаях.

// название|подсказка|тег|%dclipboard%||data:image...
// Текст из буфера вставляется между тегами.
// [тег]буфер[/тег]

// название|подсказка|тег|подстановка%+dclipboard%||data:image...
// Подстановка вставляется к первому тегу через =, а содержимое буфера помещается между тегами.
// [тег=подстановка]буфер[/тег]

// название|подсказка|тег|%no%||data:image...
// Позволит использовать одиночные теги, символы или фразы.
// [*], [hr], • и т.п.
// В этом случае выделенный текст замещается.

// название|подсказка|тег|%+no%||data:image...
// Позволит использовать одиночные теги, символы или фразы.
// [*], [hr], • и т.п.
// Без замещения выделенного (по умолчанию)
// Настроить поведение можно в секции
// ${(() => { // options


Только у меня quote, code и т.д., все с буфером обмена. Обычные удалил, т.к. эти команды и так есть на странице
Скрин
745704e38038.png

Зы. Вариант не окончательный. Каждый день всё меняется :)

Отредактировано harryk (15-03-2021 01:56:42)

Отсутствует

 

№1204-03-2021 15:10:10

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1647
UA: Firefox 78.0

Re: Кнопка вызывающая панель BBCode

Dumby
Шикарно. Спасибо. Я думал не станете делать. :)
   
   
Обновил первый пост. Добавил менюшки списка и таблицы, исправил ошибки и использовал новую фишку от Dumby.
На этом вроде все. Не вижу смысла что-то еще менять, только если исправить найденную ошибку. Остальные хотелки можно добавить самостоятельно - смайлики, редкие теги.
   
Фикс для вертикальной панели, добавил в инструкции, в конец документа.

Отсутствует

 

№1304-03-2021 16:09:10

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

Кто-нибудь знает как это теперь прикрутить к классическому фоксу без обезьянок и CB?

Отсутствует

 

№1404-03-2021 18:52:13

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

Что, ни как? Ну пусть будет для CB, но только со всеми последними правками.

Отсутствует

 

№1504-03-2021 19:31:06

bezuma
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 26-01-2014
Сообщений: 256
UA: Firefox 56.0

Re: Кнопка вызывающая панель BBCode

harryk
А на классике ucf не оазвернуть? Я CB вообще снес и забыл, тока на стареньких релизах остался, как ностальгия

Отсутствует

 

№1604-03-2021 19:47:03

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

bezuma пишет

А на классике ucf не оазвернуть?

Я же не знаю. Расскажи как

Отсутствует

 

№1704-03-2021 20:24:51

bezuma
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 26-01-2014
Сообщений: 256
UA: Firefox 56.0

Re: Кнопка вызывающая панель BBCode

harryk
Да я, кроме сборок wvxwxvw 68-78,  особо-то  ничем не пользуюсь, вот воткнул комплект для портабелиции в 86, а там уже все предусмотрено для разворачивания скриптов через ucf, неподписанных аддонов и пр. стукачи убиты. Как на классике  - хз

Отсутствует

 

№1804-03-2021 21:32:45

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

bezuma
Нашел я как на классик добавить кнопку и добавил. Только она там не работает

Отсутствует

 

№1905-03-2021 10:48:28

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2255
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

harryk пишет

Я же не знаю. Расскажи как

Ровно точно так же, за одним исключением:
на Firefox 52-59 требуется раскомментировать пару строк,
о чём, русским языком, написано на гитхаб-странице ucf

Если версия Firefox < 60 раскомментируйте код config.js в двух местах

harryk пишет

Нашел я как на классик добавить кнопку и добавил. Только она там не работает

Ну ещё бы, как вообще такое в голову могло придти.
И дело даже не столько в том, что код не предназначен для загрузки в окна,
а в значительной разнице в версиях. Вот, попытка переделать под FF52.

скрытый текст

Выделить код

Код:

(async (data, bbc) => CustomizableUI.createWidget(bbc = {
	label: "BBCode - Multi",
	id: "ucf-cbbtn-BBCode-Multi",
	tooltiptext: "BBCode pane",
	localized: false,
  
	onCreated(btn) {
		btn._handleClick = this.click;
		btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA6ElEQVQ4Ec1S2xGDIBAEhjJShfqhqSMxfaQQ+9BYR/RDbSJdOI5ml1EmOGj8SxiOO7hl7wFC/HrItm3TaZryOZE0iqLHbHtV0zRXOAqIkFLeFA0KN8MwVLT3hBhiF4xejDAMi67rEmR0Xs58GpdfQRAUyMRkbQkIHsfxDn2BbE6UW8LJMqCEcAhQv3UY74HFIUBazCDZuFchQLb22SauHUf3Tga+CN+IHAKUwD+w20QQlghke+UQKKUydJkkwPknn/HTYwnw/mnf9884jnc/U13XJ2IRyPDYJuIg11pvvYABcyGGWNr/IW9K61Coe1UGFwAAAABJRU5ErkJggg==");
	},
	click() {
		var document = this.ownerDocument;

		var names = ["menupopup", "hbox", "popupset", "button"];
		var btnAttrs = ["label", "tooltiptext", "value1", "value2", "popup", "image"];
		var prefixId = "ucf-cbbtn-BBCode-node";

		var rep = str => str.replace(/%dot%/g, ".").replace(/%sym%/g, "|");

		for(var str of data.split("\n")) if (str) {
			var nm = str.split(".").map(rep);

			var name = names[nm[0]];
			var id = parseInt(nm[1]) && (prefixId + nm[1]);
			var parent = document.getElementById(prefixId + nm[2]) || this;
			var attrs = nm[3] ? nm[3].split("|").map(rep) : [];

			var node = document.createElement(name);
			if (id) node.id = id;
			if (name == "button") {
				btnAttrs.forEach((attr, i) => attrs[i] && node.setAttribute(
					attr, (attr == "label" ? " " : "") + attrs[i]
				));
				//node.setAttribute("height", "8px");
				var p = node.getAttribute("popup");
				p && node.setAttribute("popup", prefixId + p);
			}
			else {
				if (name == "menupopup") node.style.cssText =
					"-moz-appearance: none !important; border: 1px solid gray !important;";
				for(let str of attrs)
					node.setAttribute(...str.split("="));
			}
			parent.append(node);
		}
		var cpop = prefixId + 23, carr = [];
		for(var btn of this.ownerDocument.getElementById(cpop).children) {
			btn.setAttribute("value1", "color");
			var color = btn.getAttribute("value2");
			carr.push(`#${cpop} > button[value2="${color}"] image {background-color: ${color} !important;}`);
		}
		var css = `
			@-moz-document url(chrome://browser/content/browser.xul) {
				#${this.id} menupopup:not(#${cpop}) > button > hbox {
					display: flex !important;
					padding-left: 5px !important;
				}
				#${cpop} > button image {
					width: 32px !important;
					height: 14px !important;
					border: 1px solid black !important;
				}
				${carr.join("\n\t\t\t\t")}
			}`;
		var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"]
			.getService(Components.interfaces.nsIStyleSheetService);
		var url = "data:text/css;charset=utf-8," + encodeURIComponent(css);
		sss.loadAndRegisterSheet(Services.io.newURI(url, null, null), sss.USER_SHEET);

		bbc.popup = this.lastChild.cloneNode(true);

		var click = this._handleClick = function() {
			var trg = this.querySelector("button:hover");
			if (trg) bbc.bbc(trg);
			else if (this.lastChild.state == "closed")
				this.lastChild.openPopup(this);
		}
		bbc.click = function() {
			this.append(this.ownerDocument.importNode(bbc.popup, true));
			(this._handleClick = click).call(this);
		}
		click.call(this);
	},
	bbc(trg) {
		var v1 = trg.getAttribute("value1");
		if (!v1) return;

		var win = trg.ownerGlobal;
		var v2 = trg.getAttribute("value2");
		var dc = "", plus = false, u, pno = false
		if (v2) {
			if (/^%(\+?)no%$/.test(v2)) {
				u = this.url(encodeURIComponent(v1), "", false, true, Boolean(RegExp.$1));
			} else {
				var re = /%(\+)?(d)?clipboard%/;
				if (re.test(v2)) {
					var {$1, $2, leftContext} = RegExp;
					var cb = win.readFromClipboard();
					if ($2) {
						if ($1) { // +dclip
							plus = true;
							var r = v2.slice(leftContext.length);
							v2 = "=" + leftContext;
							dc = r.replace(re, cb);
						}
						else { // dclip
							dc = v2.replace(re, cb);
							v2 = false;
						}
					}
					// clip
					else if (!$1) v2 = "=" + v2.replace(re, cb);
				}
				else v2 = "=" + v2;
			}
		}
		win.gBrowser.selectedBrowser.messageManager.loadFrameScript(u || this.url(
			encodeURIComponent(`[${v1 + (v2 || "")}]${dc}`), encodeURIComponent(`[/${v1}]`),
			v2 == "=%move%", v2 === false || plus, pno
		), false);
	},
	url(...args) {
		var code = `((bb1, bb2, move, dc, pno) => {
			var box = Components.classes["@mozilla.org/focus-manager;1"]
				.getService(Components.interfaces.nsIFocusManager)
				.getFocusedElementForWindow(content, true, {});
			var ed = box && box.editor;
			if (!(ed && ed instanceof Components.interfaces.nsIEditor)) return;

			var ins, s = box.selectionStart;
			var mid = dc && !pno ? "" : ed.selection.getRangeAt(0).toString();

			bb1 = decodeURIComponent(bb1);
			if (pno) {
				var edge = !s || box.value[s - 1] == "\\n";
				if (!/\\r?\\n/.test(mid) && !edge) return;
				var joiner = RegExp.lastMatch;
				var arr = mid.split(joiner);

				${(() => { // options
					var ignoreEmpty = false;
					var ignoreStartsWith = false;

					var ind = "\n" + "\t".repeat(4);
					var has = ignoreEmpty || ignoreStartsWith;
					var rv = has
						? [
							"ins = arr.map((line, ind) => !ind ? line :",
							"\t" + (ignoreEmpty ? "!line" : "") +
								(ignoreStartsWith ? (ignoreEmpty ? " || " : "") + "line.startsWith(bb1)" : ""),
							"\t\t? line : bb1 + line",
							").join(joiner);"
						].join(ind)
						: "ins = arr.join(joiner + bb1);"

					rv += ind + 'if (edge)';

					var res = ind + "\t";
					if (has) {
						if (ignoreEmpty && !ignoreStartsWith)
							res += "if (!ins.startsWith(joiner)) ";
						else if (!ignoreEmpty && ignoreStartsWith)
							res += "if (!ins.startsWith(bb1)) ";
						else
							res += "if (!ins.startsWith(joiner) && !ins.startsWith(bb1)) ";
					}
					return rv + res + "ins = bb1 + ins;";
				})()}
			}
			else
				ins = bb1.replace(/%copy%|%move%/, mid)
					+ (move ? "" : mid) + decodeURIComponent(bb2);

			ed.QueryInterface(Components.interfaces.nsIPlaintextEditor).insertText(ins);
			box.setSelectionRange(s, s + ins.length);
			box.focus();
		})(`;
		var prfx = "data:charset=utf-8," + encodeURIComponent(code);
		return (this.url = (bb1, bb2, move, dc, pno) => prfx
			+ `'${encodeURIComponent(bb1)}', '${encodeURIComponent(bb2)}', ${move}, ${dc}, ${pno});`
		)(...args);
	}
}))(`
0.1.0.position=after_start|oncontextmenu=event%dot%preventDefault();
1.2.1

3.0.2.BBcode|Теги выделения|||5|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABE0lEQVQ4Ea2Qv04CQRCHB6SgszAWFgSijU9A6xbG2oTwGryFvICVtQ2Fj2FiQ2Lpn8QYGy1oKBRiNJzfDBl24ZZIopffN/Pb3bm52RP541NJ3j/A9yHdYykzwhs8whWMIKsgIsUvfHLegayCxAbv+GHCBO/NdZoq65KCxAY3+FRNFtq0ICt7ZFO2k50shxeWfvcv/BhMNYvlsMNWF1T6kSNMS+bPBWkKJQWJVyjW+G/2O7DQugleqbgElda0ROQUtmAAbbiFJQWJE6z+RI7kjOCTneNNej8zG4SHpKbhXsdzn+Y6i31w7WJ64Hpyk+Yg8Qo+ai5PqDsEU9Xi5uGa0mO4B1PF4jxsk04gpw827+AZ/lc/62hJT/vXwVcAAAAASUVORK5CYII=
2.4.2
0.5.4.position=after_start

3.0.2.Lnk Img|Ссылки и изображения|||7|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4EbXSQUrDUBSF4adjcRuKO+isYGsVRKzYgjsoBXEZUmeCacGpKBRx5A6UrsGFCC3WDvzuIJBJkooYzp9zH/e8vHchKf3x2fjF/nPZY3xijA+spThkIrnEFDMssIO1FKfNJdvI9a7IUKuuRJzc4UU9WgRpU1GlI817bKOBUMurh2fUal9igBXiNm0e44x4qU51JmimlC6xxAUyfOMapbrRidAdv0LUfd5MKd3iEKWKa811Y8YzHtce8BiDVaur/YU83FD3kCHGYdV60n5AUR2LGOGE12os8YZcB4oF4gasXrsisWHGp4iT46PxG1uWqxjYExtiC694wf/rBxPBMGc7Uw/YAAAAAElFTkSuQmCC
2.6.2
0.7.6.position=after_start

3.0.2.Clipboard|Операции с буфером|||9|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABA0lEQVQ4EaWTv0oDQRDGx9NUERIkEEhnCt/BLoV5l4BNniHpw0EK0+Y9QlobX8BCOwtBBMFUmj+/74pl9o71Qjy+3+3M7LdzU+ydmYUnI2rBFoYwAq8HkhWcwxfsIOiC6AX28AQzUOxRTXuqPbPfANNXtbZ59eERlvALZf1Q0J48N8Sa1vRl4qA10RyasACvd5INdOEWCpUbFEVeMr6y1iqrddQYUhPknOuA1wfJGCKlGlSM0SmXpBrkeP41wYQGujAsQdsQuSA1wT2eK/D6JJlCpFSDijE65ZLMxSeF5Qmu6XIHf0meyv4lFd11/SjHIG+TM+Ff+CYZmFkPjtEbJl13OwDEjjLU6ZLlPwAAAABJRU5ErkJggg==
2.8.2
0.9.8.position=after_start

3.0.2.Quote|Цитаты, коды, спойлеры|||11|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
2.10.2
0.11.10.position=after_start

3.0.2.Size|Размер шрифта|||13|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
2.12.2
0.13.12.position=after_start

3.0.2.Font|Шрифт|||15|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABLUlEQVQ4EZ3SvyuEcRwH8NMZcJisBkoyyGCni1KMEiUrMphsBhOLf0CyWPgfGDEZlEzKdDGJOOdHOef10RHuOeF6v76f7/P5PN97nq5LpSo/9VpN/Ctx+NLJIr38OVNOlMrW1D9nx4k8h1xRx3u6bdqomlaTIptME28yrkYGLHFdUJtJzJJuiSxx0726S2TLErMwY1+RGp1THphgjGOe6aDAHjfsU5F+nVKCnN4cMZtU14l9l/olG65iMK8Olo2oyxxwRyNZ4r5l9SMZu1suSPM5PS5eOGGaWR7JkeYtfdYzFvmeFY14YpIhsx8TT8i5I96uU20vG1XjC7fVHzNsGjfG72P7kRq7eOMntSVtqZZ+gwZWOedz4nBG46jWUi15g2sWSErM4s+WNPt97xVThExn/QTzMgAAAABJRU5ErkJggg==
2.14.2
0.15.14.position=after_start

3.0.2.Text|Выравниваеие текста|||17|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jEg8aSD7EBATg+yAip4CMQMLiIDij0C6E4iJQSC1xKgjrAbkBVugslwgJgdNBnnhF1DneyAmB4H0kqMPoQfkBRiPD8jIBGJi0HSgok9AzIBsgCRQYDMQE4N8gYqeAzHlCOQCCaAxOkBMDroC0kRRZgIZQBEGABHsLR+MEAX1AAAAAElFTkSuQmCC
2.16.2
0.17.16.position=after_start

3.0.2.List|Теги списков|||19|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA5klEQVQ4Eb2SMQrCMBRAUxQEwa2rgxRXJ3HQycHNQQ/gBZxcHBxcvYCDk+AsuIjgoOAVxNULCA6KSBcL+n6haCvRFovlvZ/8/CRNIErF/KXYr4yhMQIzR+RNtNDEBOqwKRzQpUOcKKUcrKFwJNw/uKSmkhJQFrZo+7hCoUj4dgKmPKnQDV6JoWiUmL7ANIbCu0KW2Rmc4RptHGMGdWwpDLwNhiR13GEbhTPBQR3X14JJMscc/kQsD6nBESzMo3dFum9cGNmjS484xRtWUYj0kE6skCfcpd2gICcwpKNRfuYrFXzZv5IHQFEvl0DCMssAAAAASUVORK5CYII=
2.18.2
0.19.18.position=after_start

3.0.2.Table|Таблица|||21|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAyklEQVQ4Ec2SvQ4BQRDHh0i0FHqFSPQ+XsDraE6nulKv4KXUFPQXEhKVjt/szVwWhWKbu/y/bnZusrdZkTo9SzZzgbc/1J6MnoBG0FJOWC4iB+hYWNiYq42QXEQGUFoqRh12JO+ho7AQ17RPGZaaQRMkeUD8C7qPFXKFjpmFrrlaT8X5PeDBwh06nhbiWttqP3amMoYx1rwosQrao72hkHwGyQPiM3ixpynsQEdfymdeWtAhqr2YfFykHZUMVpeE7Jh4wPXjLV4TvAFTwyALi35LqQAAAABJRU5ErkJggg==
2.20.2
0.21.20.position=after_start

3.0.2.Colors|Цвета|||23|data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABUUlEQVQ4EaXSMUvDQBjG8SQq1ijorIWiIA4uLjqI+gGkYlHQJTq7ubg7uIijk0OXOru5ujh2UUEogiCImyCiUERsE/9P7MkLTUCwPL9737tLmiPE97z0N8TYB6XN8I4/p8CVMRJjjF4ZZ+hFbgJ2xKfa6KYRFupoYBm5CdmxT1dfYu0ISYdOeErflaBr5WehRNmFi0447Ca2aiNkoQmbiIleapm6jk/MYgMD2EOavD/YYreGKt7whQUsIcY86kijEyR0VmTmT/R6ut2/Yq0HXt470Hegp+qafYZFnMFlmmYGabJOoBt22L3EAVpYhd7FBXUKv8n6g4jdFir4QIIHbGOio0j19MGoZjlh8RW6+Zh6jhXU4BIGrqPe4RrKC4Pe8iF1E6Oo4hk2vj1Bv9lp0E9iDfcYxCMyU2A1ho7qzDG/gU7h1prMb+HmbXrdS/lHvgGnAlfkCv2wRwAAAABJRU5ErkJggg==
2.22.2
0.23.22.position=after_start|height=205px

3.0.5.Bold|Полужирный|b|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABE0lEQVQ4Ea2Qv04CQRCHB6SgszAWFgSijU9A6xbG2oTwGryFvICVtQ2Fj2FiQ2Lpn8QYGy1oKBRiNJzfDBl24ZZIopffN/Pb3bm52RP541NJ3j/A9yHdYykzwhs8whWMIKsgIsUvfHLegayCxAbv+GHCBO/NdZoq65KCxAY3+FRNFtq0ICt7ZFO2k50shxeWfvcv/BhMNYvlsMNWF1T6kSNMS+bPBWkKJQWJVyjW+G/2O7DQugleqbgElda0ROQUtmAAbbiFJQWJE6z+RI7kjOCTneNNej8zG4SHpKbhXsdzn+Y6i31w7WJ64Hpyk+Yg8Qo+ai5PqDsEU9Xi5uGa0mO4B1PF4jxsk04gpw827+AZ/lc/62hJT/vXwVcAAAAASUVORK5CYII=
3.0.5.Italic|Курсив|i|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAArElEQVQ4EbWPMQoCMRBFx0WwsbDxBAuCvWsrWHtCj2DtKdQDWKm9ljbC4u4bmCbEiUmx4b/9ZLJ/khEZeI3ov4cDLKBYSxKdUeORqqgSFta2feE3iPSvQWOJC64vwULlNjiFsbzdhN8+oDfv8GLp/BpW5l46NUJjoYeIPOGnchok50810BH01rN+SpkR+ILOv8GLtSXRQQtTcFU5JyurX/E3uBo7J0fqdwMbUD0ADBpiB0meUwAAAABJRU5ErkJggg==
3.0.5.Under|Подчеркнутый|u|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA1UlEQVQ4Ec2SQQ4BQRBFm2CcxS1wCBeQSJzA1k5cxCls3UDiAGIjSMSGDe/3pNBDd4xYkP+rftWvqenoce7ffjMOdIJH2IaGDkI9eZqhfI8e7StcwwY0SKsnTzPWd9W7ysUuT+5MvkCDtHqqbUb6ZYFvlgnFE5R51s/+fIH+Zb85EXQbUbuJc4Aaej5dnZ6W78kZTGKAq+sak23JFK1en/wRhkzpbRvyFurqtBgZohKWQZVRtaCwJOhbIIUoLhhhd2EKc8wJ9Kj5+AgLpI5OimIVdb4xbqdLJIzecCZXAAAAAElFTkSuQmCC
3.0.5.Strike|Зачеркнутый|s|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjAiOQAcyB7ExCzAjE+9Bso6QfEJ4GYgQVEQLEskL4HxDlADEJcQGIWEINQGpD4BsQgNAVIgNSCDQCy4YgDyFIEYhgSBDL+QzGIDWSCEUgNSC2Yg48AacJmAIoeJhQeGRyKDUC3czVQAOZsXDRIDVAZBDFCKDjJDmSBQh9I4USg2PiJUxZJgg/IBkUrCIPYQC5piOJYMEKyD5mNJIybyQ+UugbEL6AYxCbLG0D9NEYA290fw5d4JN8AAAAASUVORK5CYII=
3.0.5.Super|Надстрочный|sup|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAfElEQVQ4Ee2QywmAMBAFrcUyFBUUT+m/CWMRzuQgBsQfnkR5L5vdnSdoUXz+6fjCFj+S4Ymkvv2SQDDiCtfYe6BekmCENEhJ8u4spO7gEIjsDVAyOXMXsummcTHTC1J25U5GNgMauohHfCYZWTMrW3Lr8VUNgCX+9cYfWABkBhH7SVfn0gAAAABJRU5ErkJggg==
3.0.5.Sub|Подстрочный|sub|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAeUlEQVQ4Ee2QQQqAMAwE+5b+woMKikf9/xv0E+6AlbYohiCeLAmx2dkVGsJ/XnuBqKRBba1RYFSf1eprU0/qp4KBxVOwjW4Ii+ZdocHAXjIIAIA1wA4NptaKOwDgnG3N5uTJQwgikF3STbMXtR7dabqKELfZ9cfvTTuAtRH/9eSZhAAAAABJRU5ErkJggg==

3.0.7.Link +|Выделенный URL как ссылка + текст (пусто)|url|%move%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABOklEQVQ4EaWTwUoCURSGTz5Ar5H4BrMTzDSQaDIFIWwrgvQYkbugUXAViIK1atuy8Blc+RSC4mTU9w/cyYRJJfm/+597zznee6TM/vk52KP/ktoSzKADE9hJuqRLZQgjGMMCjmAn6bY5lXlweicIYKt8KnRzAV/XgI2wFMFfOiXZg0PwQDpmqcAzbFWOigasQK/J4xrnDk/UOZkuZM2sBSHUIIAPuIVEtcmo6AG/AcVVPGtm91CEROlZc7Ka8QLXsxu4xsB+qc7uFXoQyWddgiv2iCsQgMbBYl0TfYJGecEjDVn7sK4CG41whjvpZjV/cbCEONdh8wZOJwQL0AuwSFesK1BziPsQK02khjE+At2sL9WfMVvTTa5ZubION8lwoF//0cw2C4acNUHNVXwv6RVTOp5A/43Yj74BsvRDbF//RwwAAAAASUVORK5CYII=
3.0.7.PostLink|Выделенный URL и как ссылка и как текст |url|%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4EbXSQUrDUBSF4adjcRuKO+isYGsVRKzYgjsoBXEZUmeCacGpKBRx5A6UrsGFCC3WDvzuIJBJkooYzp9zH/e8vHchKf3x2fjF/nPZY3xijA+spThkIrnEFDMssIO1FKfNJdvI9a7IUKuuRJzc4UU9WgRpU1GlI817bKOBUMurh2fUal9igBXiNm0e44x4qU51JmimlC6xxAUyfOMapbrRidAdv0LUfd5MKd3iEKWKa811Y8YzHtce8BiDVaur/YU83FD3kCHGYdV60n5AUR2LGOGE12os8YZcB4oF4gasXrsisWHGp4iT46PxG1uWqxjYExtiC694wf/rBxPBMGc7Uw/YAAAAAElFTkSuQmCC
3.0.7.AnLink|Анонимная ссылка|url|http://anonym%dot%to/?%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVQ4EaWQwUoCURSGz7SoXdsM2he9ga0UMw3CslIQci9E9hhRu8BRaBVEgVQvUbh1G7QLaqerakQL6vuHRmYzOdHwf+c/l3vOPfeO2T8/5w/9u9RuwCs04QFiSUNaVI6gDR0YwCLEkqZ5VGYh0D2JCxNVpEKTc3hYlyyETZH8pnU2z2AWkiCtEkpwDROVoaIGn6DbZHE95xiP1BY7LUiZ2QGMoAIufMARROqEHRU18ENQXsZTZnYKeYiUruWxqzdu47p2DdczMF/zxAKkYQbGKpINIShOkpfABT0HsyrhHb5+6OJz4OuKeAFh5VjoCQV8AYbQhheQP+Pqw8yaxDsItEYyABekPYImq2mFfB+07uG+lohq6OA6XZN1qMNayhDUcIPXYRP68AhjLZPp75+b2Q6ENc2iC7qBDuqRe6CbYPGUoOwW3uAJ6uB8A7cySx8rt0BJAAAAAElFTkSuQmCC
3.0.7.HrliLink|Анонимная ссылка|url|http://href%dot%li/?=%copy%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVQ4EaWQwUoCURSGz7SoXdsM2he9ga0UMw3CslIQci9E9hhRu8BRaBVEgVQvUbh1G7QLaqerakQL6vuHRmYzOdHwf+c/l3vOPfeO2T8/5w/9u9RuwCs04QFiSUNaVI6gDR0YwCLEkqZ5VGYh0D2JCxNVpEKTc3hYlyyETZH8pnU2z2AWkiCtEkpwDROVoaIGn6DbZHE95xiP1BY7LUiZ2QGMoAIufMARROqEHRU18ENQXsZTZnYKeYiUruWxqzdu47p2DdczMF/zxAKkYQbGKpINIShOkpfABT0HsyrhHb5+6OJz4OuKeAFh5VjoCQV8AYbQhheQP+Pqw8yaxDsItEYyABekPYImq2mFfB+07uG+lohq6OA6XZN1qMNayhDUcIPXYRP68AhjLZPp75+b2Q6ENc2iC7qBDuqRe6CbYPGUoOwW3uAJ6uB8A7cySx8rt0BJAAAAAElFTkSuQmCC
3.0.7.Image|Выделенный URL как картинка|img|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA50lEQVQ4EcWQMQ/BUBDHr9LEoEEwGYTEbGK2ScTiu9gtJosdMfoAEoQvYzKbGpvU75o+2iJpGTT/37279+7uvZ7Ij59F/QG+ljbwqHbhAmlUItkB0QYLdVKiNV4mYZG+tEGuDRG9a1AXkT3kwGiCc4IVRBRvUOB0C32YgVE5cPS/A/e5mBno845sa2wYEquymAHkwehlBlNOehDWkqAKN9Dbx6wteEhvNUHHOKG1gr+BIjRBNcKs4QoSn4HuxWmzYYpxfdV8i0nSgLTPskNHc/wdJNGZpC6IhfHAhQukkQ7Vsak4wv90BwaNIH/UeLoPAAAAAElFTkSuQmCC
3.0.7.E-Mail|Выделенный URL как email-ссылка|email|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABkElEQVQ4EYXQPWhTURgG4JNUB4suuhREELuIiiAodhHBUh1EUEQ3xQ6CgyiOQtdidRPq5Obq1KHiUCh2Kl10UUTQwSIOYkENWkrS+LwluSZKMbzP95Ob3JybWimbvoZcOcJ2vvCSb/w3x33iOc2OFb1Ni6cMs2luuZIvzupn2EKSU5w2zNMgs9af69Y1rtCb3ZZBkroyzQ/2UCUf+mm7QzdnDe9p84v7zLOL/B+P9CpTprcMkNxW8igP9ANcZZ2vbOUmy1R5bZogOaQ0GaebmqHBM5IxpcXGf5SLq5ZzJNPKIr0ZteQL+/TkstKg1JUY0POrWhlRZunNDcscH0guKQts3CB3/mjZT5JjNTN0nNAv8oIk8wXDPao8NC1RIxc+66c4yjvWuVZKmSQ3n9D7MmxbY5xtPKFJmzlmyPxJz/EP6zmZ9id3javkiFrZoeykmyFDHm9U/84UfanZJmmRExzT6yTpI4bH5Hp63rP+m5PeWiDPncda6cxt/RXnqZJfrZa/hr2llIMMkiO/0Zfpy29np1g4L+Y59wAAAABJRU5ErkJggg==

3.0.9.ClpB+Sel|URL из буфера (если есть) как ссылка + выделенный текст|url|%clipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABUElEQVQ4EaXRMWuTURQG4BMR3VwtxV2R/oFMtsQYBSnGtmL/QQcl0FV30U1IUugkiEoVRPwDDiWr0qmDk91bBWNjk2J8TiAhS2yK4X3uOR/3fNzvkoj//BVO8f6y2dv8pMkuUyUP2TDZZYsWHS4zVfK0Q5NlhtnWNDgxVRN5ckUdzysPKc5o/pVbNje5QJHMdcsK7zgxJRNrHJNfU1bzOk/VibljZ4P5iHhIl1Ua9HjCxDyzk0N1tUb299T5iHjOTSYmP+vQbt7xrpqfvabmNZRBLlkXWeA8o1R1RwyHi/oVGuR1lLhvyQN+q30+c5FBXltfMp6Kh7zCojrLL/LFx+oe2b85q8n8sMwxzA3NBzb5yDIFHvGJfa6R/4oSccXaocUWPZrkS0qULH84YJ0d2nxllKu6Oi8iYonxnPPwhT5v+U72D9SpM2PyPW2+UaPwFwaUSmECjuXKAAAAAElFTkSuQmCC
3.0.9.QuoteClpB|Цитата из буфера|quote|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
3.0.9.ItalicClpB|Курсивом из буфера|i|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAArElEQVQ4EbWPMQoCMRBFx0WwsbDxBAuCvWsrWHtCj2DtKdQDWKm9ljbC4u4bmCbEiUmx4b/9ZLJ/khEZeI3ov4cDLKBYSxKdUeORqqgSFta2feE3iPSvQWOJC64vwULlNjiFsbzdhN8+oDfv8GLp/BpW5l46NUJjoYeIPOGnchok50810BH01rN+SpkR+ILOv8GLtSXRQQtTcFU5JyurX/E3uBo7J0fqdwMbUD0ADBpiB0meUwAAAABJRU5ErkJggg==
3.0.9.CodeClpB|Код из буфера|code|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+ElEQVQ4Ec2RO2pCQRhGfxUMYtIpQQPapxIM2Nq5BzcQCzErkKxAVyGWrsHSRxYQEAsLxcJOtAgkej7h4mTIVVPpcM7M/xrv5Wp27RW78AXqzK1xhf/miRvfWLYzK0O/hj5vFOYYvK1mNEvpSIJwgCO8Q5chSQuFemMC1RKcB6LsPZxiCl2eSXZYwIBHghnqju7aO8kGi+ij3qdfJH/BLTb1C/cEYVRpdDGMBzUibB1cYg4DSgQ/mEeXHIlmdUd3Sc2S7B84Rn0oDmuzDdAlTjJCzSY5f5Elq6HQX7YgaKDPKwXNcoRTofWFaTyJnvTXQJziBPt282sPd+gjovO/D70AAAAASUVORK5CYII=
3.0.9.SplrClpB|Спойлер из буфера|spoiler|%dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAgklEQVQ4EWNgGAWMwCDwB+I+ICYHFYEMUAXqdARictB+cjSh6GEE8jKBuAKIyUEdLEBdv4H4FxCTg0B6ydGH0APygheQmwbE5KBZIC9YAnV6AjE56DI5mojSkwhU9Q4Ng8SAQsQhRqCyqUD8H4pBbJAYkEs8YgYqnQ/E84CYCYixIgAhuBJf7/uYdwAAAABJRU5ErkJggg==
3.0.9.MonoClpB|Моноширинным из буфера|font|monospace%+dclipboard%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABPUlEQVQ4Ec2RO0sDQRSFb1aQIFYSC4s8RLQ2pYLYKD4QLQQ7KyuxTZ1/oWAhCIJgLYgQ0R8gBHsr1yAExEaCCIp+J8xdBpM6GM53z7l3lszMrtl/+xU50ALEGqPZgFh5mh3o0RGTF8iBa5vQgXi2Rv8FQwkllnaaYFAFV0oYgXFwVcxMG30nBNcMoQjvsAyu5xBKwWV6LlVIVALreAqnZqYjYl21qR9QBlfFzJ7AEpWAdh0mz8McjIL0Q2mBTnCAaz07AX1Xeqsd0iUcwydsgqtBuAK9uCaua+3jmZZIWtQnI9ot5RBcJwSd5BHXc8q6cnaFVRbu4Q2ka8oKuNIQavg5SD5Ttjp1D1xThBvIgbRIuQD1Wrsj58E02CIU4AH+ajcMzoLHNkvzqj+YJOgLYD3SnTWcVulDo89swKNfiPw0JGkl4+YAAAAASUVORK5CYII=

3.0.11.Quote|Цитата|quote|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAv0lEQVQ4Ee3TMQ/BQBjG8acSBrE1dvElhEh8giZmC3ZjfRNmX6CjTYyiu8lUMRlJMDr/16aJpCexaZ7f3bW99y65tIH0upq0HVRRJHcmbZAFNAMskOGKIqkxqSFpCB1pYvhmSsFBXA5d+MZqXMm3Kj//v4BkZ3DhYEL4pk7B2T6kOYM+lrDsaGYYSWrjUyJeJLZAmcEELVRgi/Xo11jhhnwePEhhG9G9Z8vtCXvYBnR+GTPdIcZXsT8yoTLE7/MEj2UdTlzfnQ0AAAAASUVORK5CYII=
3.0.11.Code|Код|code|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+ElEQVQ4Ec2RO2pCQRhGfxUMYtIpQQPapxIM2Nq5BzcQCzErkKxAVyGWrsHSRxYQEAsLxcJOtAgkej7h4mTIVVPpcM7M/xrv5Wp27RW78AXqzK1xhf/miRvfWLYzK0O/hj5vFOYYvK1mNEvpSIJwgCO8Q5chSQuFemMC1RKcB6LsPZxiCl2eSXZYwIBHghnqju7aO8kGi+ij3qdfJH/BLTb1C/cEYVRpdDGMBzUibB1cYg4DSgQ/mEeXHIlmdUd3Sc2S7B84Rn0oDmuzDdAlTjJCzSY5f5Elq6HQX7YgaKDPKwXNcoRTofWFaTyJnvTXQJziBPt282sPd+gjovO/D70AAAAASUVORK5CYII=
3.0.11.Hash|Тэг #|#|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/0lEQVQ4Ec2PQWrCUBRFY1Rso1JQhOBE7FDoqJsIuA9X0OyldFKc2F2UQmcduoAWC0KQ4kRtBy2k5/6Q+r/EZtiGe9679+WR/O95f/1Ujxygy/wMtpCrj6nDB5Tqlo07sDUnxODId9I+hNgEbBXN7PfGP1LX8AXvIJ+TkjegPKEbVUzdlzE2gBuYwYOXPR3aNVzBKzzBAgpVZaoTRPRclxidoEd35DspC1rSR5IsmhpSP+ENHNWsdILvwwikBuUcpAuK7j6kSy+UFBxFJA3L2LJXqCZT/TGmr0A+Z0q+B+UB/Uf2FXZMn0H3X9LlaUanVGWB/V1abh+stMgB/EN9A2rwMujonvLGAAAAAElFTkSuQmCC
3.0.11.Spoiler|Спойлер|spoiler|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAgklEQVQ4EWNgGAWMwCDwB+I+ICYHFYEMUAXqdARictB+cjSh6GEE8jKBuAKIyUEdLEBdv4H4FxCTg0B6ydGH0APygheQmwbE5KBZIC9YAnV6AjE56DI5mojSkwhU9Q4Ng8SAQsQhRqCyqUD8H4pBbJAYkEs8YgYqnQ/E84CYCYixIgAhuBJf7/uYdwAAAABJRU5ErkJggg==
3.0.11.Hide|Скрыть|hide|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABIUlEQVQ4EaWQsU7CUBSGW40myk4M2iaiPIEPQHgWJ5/FxYhJg6OrM7PRVcUFQnAzrg4OBhOj4Pc1LZHKIJX83/n/3t5zei9B8M/fatYf4xvwBqVUo6sLOlZOVdocsovn2iIItlhhYdkhl6y9gNe6xkNowgBO4AEWqsLqKRzCCPYh1zrhHCaQwCbMqc5TH6ZwC56kizdhD5RDHglTcM82niqmPoMv5JisvPsr4QP8ABacUdwjT+RohVKUX3JtQjmCMUSg3i0ZX5mntkO9BycP8TVQVYon8ToNsu/c0yPPrkBOVaF2wC8neH4SYuCgIeETEvj1J7I20wHpAu6gnXGFt+AG6vBnefyI3SEoT+J1lhpi409qPDhEJ5aTJ4vLtRa6vgFNDjMI+kwKNgAAAABJRU5ErkJggg==
3.0.11.More|More (ru-board)|more|Подробнее||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAt0lEQVQ4EWNgGIxAgBJHcQI1PwPi5UCsCMRkIU2grs1A/BuIZwKxBBCThVyAui4A8Rcg7gBiHiAmGbECdeQB8RsgvgvEYUDMCMRwxARnYWf8BQq/A+KvQMwLxEJAzAzERKFQoKrrQPwJiMuBmAuIiUIGQFV7gPgPEIMCUQpIE404gCpfA/FxILYEYrKQOlAXSkAB+TgRC5qMGJCfCMT4UB9Q8hUQgxG6ASAvGINlcBMgNbhl6S4DANVPFhJKF+A+AAAAAElFTkSuQmCC

3.0.13.Font 8|Размер шрифта 8|size|8||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 10|Размер шрифта 10|size|10||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 12|Размер шрифта 12|size|12||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 14|Размер шрифта 14|size|14||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 16|Размер шрифта 16|size|16||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=
3.0.13.Font 18|Размер шрифта 18|size|18||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAuUlEQVQ4EWNgGGjACHSAAwMDQw8Q40P/gZJxQHwdiGWAeBYQRwLxRxYgIQXExkBMCAkBFYgD8WQgBumbC6QTGICAHYiVkPBUIBtkYxWQRhZnBvINgFgCiBcDsRoQK4FM+glk3ANiGHoPZbwB0sjiQC7DBRABxbdANBOIoASPGsDAQHEYgKKRlEjwBCrmB2IQKgQS+0l1wQ6gJisgtgRiViBGThdALgRpAqlQIJYHYmwIlH/ssUmQJQYAv74V3CwB5zMAAAAASUVORK5CYII=

3.0.15.Mono|Моноширинный|font|monospace||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABPUlEQVQ4Ec2RO0sDQRSFb1aQIFYSC4s8RLQ2pYLYKD4QLQQ7KyuxTZ1/oWAhCIJgLYgQ0R8gBHsr1yAExEaCCIp+J8xdBpM6GM53z7l3lszMrtl/+xU50ALEGqPZgFh5mh3o0RGTF8iBa5vQgXi2Rv8FQwkllnaaYFAFV0oYgXFwVcxMG30nBNcMoQjvsAyu5xBKwWV6LlVIVALreAqnZqYjYl21qR9QBlfFzJ7AEpWAdh0mz8McjIL0Q2mBTnCAaz07AX1Xeqsd0iUcwydsgqtBuAK9uCaua+3jmZZIWtQnI9ot5RBcJwSd5BHXc8q6cnaFVRbu4Q2ka8oKuNIQavg5SD5Ttjp1D1xThBvIgbRIuQD1Wrsj58E02CIU4AH+ajcMzoLHNkvzqj+YJOgLYD3SnTWcVulDo89swKNfiPw0JGkl4+YAAAAASUVORK5CYII=
3.0.15.Lucida|Lucida Sans Unicode|font|Lucida Sans Unicode||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAMUlEQVQ4EWNgGHaggYGB4T8B3MBAAmhgYGBoYMADmPDIESU1agADwzAIA6LienArAgB4AQoJogSaFAAAAABJRU5ErkJggg==
3.0.15.Tahoma|Tahoma|font|Tahoma||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAMUlEQVQ4EWNgGHaggYGB4T8B3MBAAmhgYGBoYMADmPDIESU1agADwzAIA6LienArAgB4AQoJogSaFAAAAABJRU5ErkJggg==
3.0.15.Courier|Courier New|font|Courier New||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAY0lEQVQ4Ee2SSwrAMAgFpyUHe0fL0TxapVIw9IOQRbvoEI3IQ1SEt1lSAwJEDQMMZ3U7njgXELWcy0IoRjrQGRGh9Q/a7sMZNYxEHiGl6+FfAKZ38LRuEddmgLgh38GVxPg8G8XjCdiX2LVkAAAAAElFTkSuQmCC
3.0.15.SegoeP|Segoe Print|font|Segoe Print||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA7klEQVQ4EdXSIUtDURgG4OvCkps2QX/AQMOKFoNBg+BPWRMUp8E4UH/H8jAZ1CpaRBDhOllbms2lBdHnCxcMXo8Gw8b7nG+75ztnh8PNsmn6tBx2SM4Gf8qh7hdW2GHAr9PW2WeJyILhjQrJHOiIf1tUI3OGW45Iplj8qnOTee444cesm+3xwTZbxCaP6imlaZrJiSMfq1dMiA2Si/VlLUOXGepELg1xkjP121S+PG34fs8uI2pcc84+yVzoaBOL99Q4ybO6RmmiqZiMt2zWjw7vxJ2sqsuUptigqmPMiAdy+tzwRDJxF9Vk1380fALH6CzhTD2OGAAAAABJRU5ErkJggg==
3.0.15.SegoeS|Segoe Script|font|Segoe Script||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA2UlEQVQ4EdXQsUrDUBQG4LsVcSpu4uJYKKJOVbeCkxEE38M3KFQFoc5FEJ+gU5+jU59BFFs1iIPO7XegWcS0WRv+795LzjlJSErrch340D5jvvihUrZ0DZjSoUWDnJU51PHMDRsUOXIYsTRN1TfO+ZtrN+4pTQy/ql4S2Y1lYdP+wR7/ZsfdFy6ItC2fFA95dB5QmieVWyKZJeeYGnfEz6zbS/OuEm/L7DknRK4sE5osTTellJETwzV7j2/2WZkzHcVww7nPhMrDv5pnCzH44LxNpQx1nbJmmQNuwCc7TLgOpQAAAABJRU5ErkJggg==

3.0.17.Justify|Выровнять строки|justify|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAkElEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jECePxD3ATE5qAhkgCpQpyMQk4P2k6MJRQ8jkGcLxLlATA6azALU9QuI3wMxOQiklxx9CD0gL2gDuT5ATA7aAvKCHFBnKBCTgy6RowlFD8gLEkARHSAmB10BaaIoM4EMoAgDAMJ/KZhlVYyuAAAAAElFTkSuQmCC
3.0.17.Left|Выровнять по левому краю|left|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAnElEQVQ4EaWToQpCQRBFZ0EsNpNJMOsv6BcIptfeL/ghFovBHxOrSYyCaLHouUkWw8BdOGdhducOTNgSEcOIGKHDS6Ge42PaF4JjnKHDxQlVmUK1wT1mXGlYYcWA6ow7zHhmDda7VliS3KLDQSu8Sd7RQVkn98tohTnlGjMeNByxQitMuekw40bD3wDu2tAKE0Ys0OGkUNNn0oAmvxLcLPtwWDuuAAAAAElFTkSuQmCC
3.0.17.Center|Выровнять по центру|center|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jEg8aSD7EBATg+yAip4CMQMLiIDij0C6E4iJQSC1xKgjrAbkBVugslwgJgdNBnnhF1DneyAmB4H0kqMPoQfkBRiPD8jIBGJi0HSgok9AzIBsgCRQYDMQE4N8gYqeAzHlCOQCCaAxOkBMDroC0kRRZgIZQBEGABHsLR+MEAX1AAAAAElFTkSuQmCC
3.0.17.Right|Выровнять по правому краю|right|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAmElEQVQ4EWNkYGBgY2Bg4AZictBXkKYYIPGfTBzDCNQoBMSKQEwOuk+OJhQ9jCg8BOcQkCkNxIRQEQsOFTOA4jxATAhdI6SAoDzIC7ZAVblATA6aDPLCL6DO90BMDgLpJUcfQg/ICwgegpUJZPIBMSG0BeQFbIq8gIKSQEwIXSKkgKA8yAsSQFU6QEwOugLSRFFmAhlAEQYAcvop4NyOCrkAAAAASUVORK5CYII=
3.0.17.HorLine|Горизонтальная черта|[hr]|%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAALUlEQVQ4EWNgGAXDIAQYgX6wBeJcICYHTWYB6voFxO+BmBwE0kuOvlE9gysEAE1yBCaa8x1GAAAAAElFTkSuQmCC

3.0.19.List|Список|list|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA5klEQVQ4Eb2SMQrCMBRAUxQEwa2rgxRXJ3HQycHNQQ/gBZxcHBxcvYCDk+AsuIjgoOAVxNULCA6KSBcL+n6haCvRFovlvZ/8/CRNIErF/KXYr4yhMQIzR+RNtNDEBOqwKRzQpUOcKKUcrKFwJNw/uKSmkhJQFrZo+7hCoUj4dgKmPKnQDV6JoWiUmL7ANIbCu0KW2Rmc4RptHGMGdWwpDLwNhiR13GEbhTPBQR3X14JJMscc/kQsD6nBESzMo3dFum9cGNmjS484xRtWUYj0kE6skCfcpd2gICcwpKNRfuYrFXzZv5IHQFEvl0DCMssAAAAASUVORK5CYII=
3.0.19.SubList|Подсписок|list|s||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAp0lEQVQ4EWNgoDJgB5pnBcREI0Y0ldOB/EAgVgZiESBmBmJc6BtQ4gUQg1EBkFzAwMDwB4hdgRiEXgOJ/3jwdqAcAwuIAGKQxlggXQvEu4EYhEyABCEXAJUgkDWQie4loBCNET4b5wLt5gViXOgCUKINFgZANgb6ABQBhQ2Qwoq+YBWluyC+MNAHugafFz8B5W8DMU5EVELC5wIBoNH45H8D5QdBQAIATw0jr47iJToAAAAASUVORK5CYII=
3.0.19.ItemTag|Пункт списка/подсписка (тег)|[*]|%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAkElEQVQ4EWNgoCHwB5r9FojfALEvEJOMbgB1/Ifia0AaK2LCKgoRBNkMYTEwILNhYgRpVaCK9VCsAqTpjyyBVp4G4lNAbA7EJKPzQB2wQDwLZGNF+AKREUkHMhtJGD+TYi/gN54IWYqj8QjQElggHgKysSImrKIQQUEIBSaR2WABYghfoKK3QAxKxt5AmjYIAEIDGQuPW7ZIAAAAAElFTkSuQmCC
3.0.19.ItemB|Пункт обычного списка (символ+пробел)|• |%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABZSURBVDhPYxgFtAWWQHwaiE9B2SQBkIbzaNgciDEAI5RGByANIGAApS8A8T8gNgbzkAATlEYH2AzGahkzlEYHF4HYG4hfQDEIZALxUwiTOEBRII4CogEDAwB6LQ7925A7NgAAAABJRU5ErkJggg==
3.0.19.ItemM|Подпункт обычного списка (символ+пробел)|· |%+no%||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVDhPYxgFgxxYAvFpID4FxOYgAVLBeSD+D8VnQQLYABOUxgYYoTQIILOJBhR7YRTQBzAwAAD7rAep9ypVVgAAAABJRU5ErkJggg==
3.0.19.NumList|Нумерованный список|list|1||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA/UlEQVQ4Ea3RMWsCMRjG8Xh2KQdqp6NuOru7CAoiSJ0KhW7iKrj7IXQQN7+C4CcoHRwcRNwcxaGTi5NoRUH957ik4ZDenSjPL2+Se3NEFeLvYzOt4K68c2qCESIl7nXvqSdkMMR/KfPwiC2EJQf8YIkw6dP0ATeWO0YbYrTrc3rCpvwKO2qkPBnd38wlSviYNwh/yuh86AuyvLiIZ/jzykYdZhwWDfUb5Fl0MUcbbzDjsBggB/kvpKljrOGmxViAhQ1i8KfKxi/Onik1CR15mx4riXIz8mYHnsyQgk6C2ReaCEpJCPECN+qqHVY1LHDBJ0JFvcCh24bKSk2C6hUBwSHi/YrJMAAAAABJRU5ErkJggg==
3.0.19.AbcList|Алфавитный список|list|a||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABEklEQVQ4EbXOMUsCYRzH8f/p5XTglUOo70A0GhuNENJZxEVx0MXNzdfQ6FKu4otwK6GGaHESGhoEjYT2IjD6Pg/3XA52F4rH7/M8/+ee5/nfifw+eRFpYuuMufkMF/9OxDuZYf7CEDUE5YLNNHRMgzqrCV7QkOCnx3YZOqqBTVXFCidwcYq/YrGh7jGJqMvnVPfoQmXBUMEEe8mUrh3o+L+iV1sMOzewvY8WmR2YPFC8wiRJUcAAJscURdMgyyIBBy2cYb2BOtznXRYWUhjjDX6iVCO0sSmXvPzAt+eROQ4/V1Q3CEqJzU88wYWfJtWdiBwgLHkROYSOxXiEOVTXJbPKNcMtQqMaxDiVw3pmLN4Rmh+FfyaTlM3B+AAAAABJRU5ErkJggg==

3.0.21.Table|Таблица|table|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAyklEQVQ4Ec2SvQ4BQRDHh0i0FHqFSPQ+XsDraE6nulKv4KXUFPQXEhKVjt/szVwWhWKbu/y/bnZusrdZkTo9SzZzgbc/1J6MnoBG0FJOWC4iB+hYWNiYq42QXEQGUFoqRh12JO+ho7AQ17RPGZaaQRMkeUD8C7qPFXKFjpmFrrlaT8X5PeDBwh06nhbiWttqP3amMoYx1rwosQrao72hkHwGyQPiM3ixpynsQEdfymdeWtAhqr2YfFykHZUMVpeE7Jh4wPXjLV4TvAFTwyALi35LqQAAAABJRU5ErkJggg==
3.0.21.Caption|Заголовок таблицы|caption|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA2UlEQVQ4Ec2QMQ4BQRSGHyskGqHSEtlEhTNoXUAohDiAwim2FK3sFVxBVHSi0SgVLsH3lpnsTjY0hM33zfzvvdnJZkV+/WScD2hR+/iKE8MDprKne3vjjrklZ9MjbNncr6KVQM8kGvEiHy/I3lM2i3vGDjSEItJAw4QwRoNPWOHn8JyrQhE54gyVLksHKzgSkQsGuMbvsOTaOhqGhAEa9P8sTJG2l2lm0VAkqGwROtMzUaGLp0vMOfmMfVTaLDUsYQ+vOMUNptKkW0DzUpWs6gXa05meof0v3AFFuxwmhWRKoQAAAABJRU5ErkJggg==
3.0.21.Row|Строка таблицы|tr|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABD0lEQVQ4EaWRsU4CQRRFd5XQCRgxwWJNaJTKhILOWFHY8EN8gD9n4Q+Q7bQxWqwJxKiL505mFmaYBZIl97w782bfm+VtkjT8pbb+CZ9AqNImTqxv2zObeYsgjQlTCJWT0CVDPNSvEi2FPfxwlkKtDjVoU3lUgxcejDUzr8nZAkKppsrNqpW/uGV7AzGZmlN7UuKfEGpNYgkrCGVq3Oep+591eTUzZ67BiIybgdzRJy/cXk4qkavGLJQQd4R3uIIzkF4V4AF02Rf+Bpfg6d7bbTbXLDOIydS4If7xhLpjnjTEbzIC81SyK/RaeJIpROiQE9iOTI2GoZNzwgQ+YABd0O259UdcUy9wzeAC70Fz/QMaUCUA/rTEiAAAAABJRU5ErkJggg==
3.0.21.Column|Столбец таблицы|th|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA+klEQVQ4EaWSPW7CQBBGlwQJRTREIh30uUAKJERNk4YjUeRKbtLBHWipgtM66SA/7zlMJIutWGvefjNje2Z37JQKr975/Rf0CXK2JjkEn23QGu7hASpoTecHL8eKfM5mJm9crsSdpJICExv3XeAEr3CEO5jCJ7yBZ1+etUFrcAbOBffPnIEvB9+kT2C8Qm0UECb953BUMakGt+GgFkP+zXhnVDIDj9YZolUDP+cXHYyRdsvuUCJ+DEf14S2OOkCn8AHvYKcF6m7NHfDH0LGKyK45HCK3L2xuxqrqNewTV0kBj9kOhzppw+L5kAvzZ1qSdRYNWoM/0ggtt1+uhDehDRb66wAAAABJRU5ErkJggg==
3.0.21.Cell|Ячейка таблицы|td|||data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABDklEQVQ4EaWRu05CQRRFR6UzqARJtMBSray0MDHWNDb+kvyTfoi1nVgYKK7RxEJ0rRMmZq5D4yV7nT2z53Enh5Q6/jZW56f4OdR0R9gH9zb4DIYwgnsIPVC/13BLXtOl4abln7x4rssFYy/oWeARtqGmOeEE2j0o9t+woaYTwmPwQxmmyXGc2XIGS1hAWzb2g/Ad3CMMky6L3AOf50Kbdbn7Yi1fcEris7B4nmPZJxDHGaLY45kYGMgZ5RUOoQ/q2QLX4Mfe8BmMoNBVMfudHDGMvwtvK87kJn6x6u1YIZv4SSJYoSWzxmfhaWypsEMm2B/FGRvjyoByAXM4gF3w608rn+B2vcHtwRDfg+76ARb4Ll48lWsWAAAAAElFTkSuQmCC

3.0.23.|Black||#000000
3.0.23.|DarkGrey||#424242
3.0.23.|MediumGrey||#666666
3.0.23.|Grey||#808080
3.0.23.|Light Grey||#d3d3d3
3.0.23.|White||#ffffff
3.0.23.|Aqua||#02feff
3.0.23.|Baby-Blue||#76ebff
3.0.23.|Sky-Blue||#00c0fe
3.0.23.|Light Blue||#0080ff
3.0.23.|Medium Blue||#0002f7
3.0.23.|Dark Blue||#00008b
3.0.23.|Indigo||#4b007f
3.0.23.|DarkPurple||#5c246e
3.0.23.|MediumPurple||#670099
3.0.23.|Purple||#a020f0
3.0.23.|LightPurple||#c05eff
3.0.23.|Pink-Purple||#de00ed
3.0.23.|Fuschia||#eb00cb
3.0.23.|Hot Pink||#ff40f3
3.0.23.|Neon Pink||#f46ffc
3.0.23.|Pink||#fec0cb
3.0.23.|Peach||#fccec1
3.0.23.|Flesh||#fddeb0
3.0.23.|Tan||#fdf1b5
3.0.23.|LightBrown||#b87332
3.0.23.|Brown||#7e4102
3.0.23.|Dark Red||#8b0101
3.0.23.|Medium Red||#e3170e
3.0.23.|Red||#ff0000
3.0.23.|Orange-Red||#fe2400
3.0.23.|Orange||#ff803f
3.0.23.|Yellow-Orange||#ffbe00
3.0.23.|Gold||#fed602
3.0.23.|Yellow||#ffff00
3.0.23.|Green-yellow||#adff30
3.0.23.|Neon Green||#5dfc0a
3.0.23.|LightGreen||#90ee90
3.0.23.|Green||#56ad3c
3.0.23.|MediumGreen||#008000
3.0.23.|DarkGreen||#006400
`);

// Высота отдельных меню задается в строках
// position=after_start
// дописываем желаемую высоту так
// |height=455px

// Если кнопка на вертикальной панели, во избежание перекрытия, заменить
// 0.1.0.position=after_start|oncontextmenu=event%dot%preventDefault();
// на
// 0.1.0.position=end_after|oncontextmenu=event%dot%preventDefault();
// или
// 0.1.0.position=end_before|oncontextmenu=event%dot%preventDefault();

// Примеры:

// название|подсказка|тег|||data:image...
// Самое простое, парные теги обрамляют выделенный текст.
// [тег]выделенный текст[/тег]

// название|подсказка|тег|%move%||data:image...
// Перемещение выделенного текста к первому тегу через =.
// [тег=выделенный текст][/тег]

// название|подсказка|тег|%clipboard%||data:image...
// Из буфера вставляется к первому тегу через =, а выделенный текст помещается между тегами.
// [тег=буфер]выделенный текст[/тег]

// название|подсказка|тег|%copy%||data:image...
// Выделенный текст используется и в первом теге через = и между тегами.
// [тег=выделенный текст]выделенный текст[/тег]

// Можно использовать вместе с подстановкой, например
// название|подсказка|тег|подстановка%copy%||data:image...
// т.е. в первом теге после = будет прописана строка подстановки,
// а только потом выделенный текст.
// [тег=подстановка+выделенный текст]выделенный текст[/тег]
// Подстановку можно использовать и в других случаях.

// название|подсказка|тег|%dclipboard%||data:image...
// Текст из буфера вставляется между тегами.
// [тег]буфер[/тег]

// название|подсказка|тег|подстановка%+dclipboard%||data:image...
// Подстановка вставляется к первому тегу через =, а содержимое буфера помещается между тегами.
// [тег=подстановка]буфер[/тег]

// название|подсказка|тег|%no%||data:image...
// Позволит использовать одиночные теги, символы или фразы.
// [*], [hr], • и т.п.
// В этом случае выделенный текст замещается.

// название|подсказка|тег|%+no%||data:image...
// Позволит использовать одиночные теги, символы или фразы.
// [*], [hr], • и т.п.
// Без замещения выделенного (по умолчанию)
// Настроить поведение можно в секции
// ${(() => { // options


Только ucf сначала разверни.
Ну, или можно какой-нибудь элементарный пускач прямо в config.js добавить.
Допустим, код лежит под именем BBC.js в папке Test в профиле.
скрытый текст

Выделить код

Код:

(async (url, obj) => {
	Components.utils.import(url, obj);
	var file = obj.Services.dirsvc.get("ProfD", Components.interfaces.nsIFile);
	["Test", "BBC.js"].forEach(file.append);
	var url = obj.Services.io.newFileURI(file).spec;
	Components.utils.import("resource:///modules/CustomizableUI.jsm", obj);
	obj.Services.scriptloader.loadSubScript(url, obj, "UTF-8");
})("resource://gre/modules/Services.jsm", {});

Отсутствует

 

№2005-03-2021 13:41:52

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

Dumby
Спасибо, кнопка - огонь. Запустилась и с немецким пускачем, что в моем посте выше. Но всё равно переделал на UCF, так уже привычней. Я эту часть инструкции про "Firefox < 60" провтыкал. Когда первый раз ставил, такой задачи не было в классик адаптировать.

Отсутствует

 

№2114-03-2021 15:27:05

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

Dumby
Если в скопированном тексте есть одинарная кавычка, например '\r\n', то кнопки с %dclipboard% не работают

Выделить код

Код:

3.0.7. Code|Код из буфера|code|%dclipboard%||

С этим можно что-то сделать?

Отсутствует

 

№2214-03-2021 16:11:21

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2255
UA: Firefox 78.0

Re: Кнопка вызывающая панель BBCode

harryk
Да, вижу. Так, наверно

скрытый текст

Выделить код

Код:

...
			//+ `'${encodeURIComponent(bb1)}', '${encodeURIComponent(bb2)}', ${move}, ${dc}, ${pno});`
			+ `"${encodeURIComponent(bb1)}", "${encodeURIComponent(bb2)}", ${move}, ${dc}, ${pno});`

Отредактировано Dumby (14-03-2021 16:39:06)

Отсутствует

 

№2314-03-2021 17:55:46

harryk
Участник
 
Группа: Members
Зарегистрирован: 23-12-2019
Сообщений: 418
UA: Firefox 68.0

Re: Кнопка вызывающая панель BBCode

Dumby
Спасибо. Так работает

Отсутствует

 

№2415-03-2021 18:42:00

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1647
UA: Firefox 78.0

Re: Кнопка вызывающая панель BBCode

Исправил в первом посте.

Отсутствует

 

№2516-12-2021 17:57:06

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 315
UA: Google 2.1

Re: Кнопка вызывающая панель BBCode

Dumby пишет

Ну, или можно какой-нибудь элементарный пускач прямо в config.js добавить.
Допустим, код лежит под именем BBC.js в папке Test в профиле.

Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

Dumby, доброго времени суток!
Можно ли этот код совершенствовать, что-бы он загружал все скрипты с указанной папки?

Выделить код

Код:

(async (url, obj) => {
	Components.utils.import(url, obj);
	var file = obj.Services.dirsvc.get("ProfD", Components.interfaces.nsIFile);
	["Test", "BBC.js"].forEach(file.append);
	var url = obj.Services.io.newFileURI(file).spec;
	Components.utils.import("resource:///modules/CustomizableUI.jsm", obj);
	obj.Services.scriptloader.loadSubScript(url, obj, "UTF-8");
})("resource://gre/modules/Services.jsm", {});

Жизнь иногда такое выкидывает, что хочется подобрать...

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]