Skip to content
Snippets Groups Projects
Commit cb05eeb1 authored by Arkerthan's avatar Arkerthan
Browse files

remove unused htag macro

parent c54ff4f4
No related branches found
No related tags found
No related merge requests found
/*
* <<htag>> macro
* A simple macro which allows to create wrapping html elements with dynamic IDs.
* idea blatantly robbed from the spanMacroJS.tw but expanded to a more generic
* case, allowing <div>, <button> or whatever you want. elements, default is for
* the div though. In addition, you can pass an object in as the first argument
* instead of an id, and each of the object's attributes will become attributes
* of the generate tag.
*
* Usage: <<htag id>>...<</htag>>
* Usage: <<htag id tag>>...<</htag>>
* Usage: <<htag attributes>>...<</htag>>
* Usage: <<htag attributes tag>>...<</htag>>
*/
Macro.add('htag', {
tags: null,
handler() {
const payload = this.payload[0].contents.replace(/(^\n+|\n+$)/, '');
let htag = 'div';
let attributes;
function munge(val, key) {
return `${key}="${val}"`;
}
if (this.args.length === 0) { return this.error('invalid syntax, format: <<htag [id [ tag ] | attributes [ tag ] >>'); }
if (this.args.length > 1) { htag = String(this.args[1]).trim(); }
if (typeof this.args[0] === "object") {
attributes = $.map(this.args[0], munge).join(" ");
} else {
attributes = `id="${String(this.args[0]).trim()}"`;
}
if (Config.debug) {
this.debugView.modes({
block: true
});
}
jQuery(`<${htag} ${attributes} />`)
.wiki(payload)
.appendTo(this.output);
}
});
......@@ -114,35 +114,6 @@ App.UI.replace = function(selector, newContent) {
target.append(ins);
};
/**
* A simple macro which allows to create wrapping html elements with dynamic IDs.
*
* idea blatantly robbed from the spanMacroJS.tw but expanded to a more generic case, allowing <div>,
* <button> or whatever you want elements, default is for the div though.
* In addition, you can pass an object in as the first argument instead of an id, and each of the
* object's attributes will become attributes of the generate tag.
*
* @example
* htag('test', "red") // <div id="red">test</div>
* htag('test', {class: red}); // <div class="red">test</div>
* htag('test', {class: red, id: green}); // <div class="red" id="green">test</div>
* @param {string} text
* @param {string|object} attributes
* @param {string} [tag='div'] (optional)
* @returns {string}
*/
App.UI.htag = function(text, attributes, tag = 'div') {
const payload = text.replace(/(^\n+|\n+$)/, "");
if (typeof attributes === "object") {
attributes = $.map(attributes, (val, key) => `${key}="${val}"`).join(" ");
} else {
attributes = `id="${attributes.trim()}"`;
}
return `<${tag} ${attributes}>${payload}</${tag}>`;
};
App.UI.tabBar = function() {
return {
openTab: openTab,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment