{
"plugins": [],
"functions": {
"copyText": {
"js": "let args = arguments[0]; navigator.clipboard.writeText(args).then(() => console.log('copied!'));"
},
"copyElementText": {
"js": "let args = arguments[0]; navigator.clipboard.writeText(document.querySelector(args).innerText).then(() => console.log('copied!'));"
},
"fileDrop": {
"js": "let args = arguments[0]; let inp, el = document.querySelector(args.container); if (!window[args.id]) el.innerHTML += ''; el.addEventListener('dragover', (e) => {el.style.opacity = 0.5; e.preventDefault()}); el.addEventListener('dragleave', (e) => {el.style.opacity = 1;}); el.addEventListener('drop', (e) => {window[args.id].files = e.dataTransfer.files; e.preventDefault(); el.style.opacity = 1; if (args.on && args.on.drop) js.callback({do:args.on.drop}); }); window[args.id].addEventListener('change', (e) => {window[args.id].files = e.dataTransfer.files; e.preventDefault(); el.style.opacity = 1; if (args.on && args.on.drop) js.callback({do:args.on.drop}); }); "
},
"click": {
"js": "let args = arguments[0]; let el = document.querySelector(args); el.click();"
},
"urlParam": {
"js": "let args = arguments[0]; let params = new URLSearchParams(document.location.search); return params.get(args);"
},
"log": {
"js": "let args = arguments[0]; let text = (args.text) ? args.text : args; if (typeof text == 'string') {let style = ''; if (args.color) style += 'color: '+args.color+';'; if (args.background) style += 'background: '+args.background+';'; console.log('%c '+text, style);} else {console.log(text)}"
},
"confirm": {
"js": "let args = arguments[0]; if (confirm(args.request)) { if (args.on && args.on.confirm) js.do(args.on.confirm) } else { if (args.on && args.on.cancel) js.do(args.on.cancel) };"
},
"prompt": {
"js": "let promptResponse = prompt(args.label, args.placeholder); if (promptResponse == null || promptResponse == '') {if (args.on && args.on.cancel) js.do(args.on.cancel, null, promptResponse) } else { if (args.on && args.on.confirm) js.do(args.on.confirm, null, promptResponse) }"
},
"cookieSet": {
"js": "let args = arguments[0]; const d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); let expires = 'expires='+d.toUTCString(); document.cookie = args.name + '=' + args.value + ';' + args.expires + ';path=/';"
},
"cookieGet": {
"js": "let args = arguments[0]; let name = args.name + '='; let ca = document.cookie.split(';'); for(let i = 0; i < ca.length; i++) {let c = ca[i]; while (c.charAt(0) == ' ') {c = c.substring(1);} if (c.indexOf(name) == 0) {return c.substring(name.length, c.length); } } return '';"
},
"ifAvif": {
"js": "let args = arguments[0]; console.log('avif check'); let avif = new Image(); avif.src ='data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A='; avif.onload = function () { js.callback({do:args.then}); }; avif.onerror = function () { js.callback({do:args.else}); };"
},
"pathFromHash": {
"js": "let args = arguments[0]; let pathString = String(window.location.hash).substr(1); console.log(pathString.split('/'));return pathString.split('/')"
}
},
"parts": {
"browser": {
"changePage": {
"do": [
{
"attr": {
"selector": ".{arguments:pagesClass}",
"addClass": "hidden"
}
},
{
"attr": {
"selector": ".{arguments:pagesClass}[data-value='{arguments:pageId}']",
"removeClass": "hidden"
}
},
{
"attr": {
"selector": ".menu-focus",
"removeClass": "menu-focus"
}
},
{
"attr": {
"selector": ".menuItem[data-id='{arguments:pageId}']",
"addClass": "menu-focus"
}
},
{
"part": {
"do": "{arguments:pageChanger}",
"arguments": {
"page": "{arguments:pageId}",
"path": "{arguments:pagePath}"
}
}
}
]
},
"pathFromHash": {
"do": [
{
"set": {
"var hashPath": "String('{location hash}').substr(1)"
}
},
{
"set": {
"var viewPath": "String('{var hashPath}').split('/')"
}
},
{
"part": {
"do": "{arguments:do}",
"arguments": {
"path": "{var viewPath}"
}
}
}
]
},
"pageFromHash": {
"do": [
{
"set": {
"var hashPath": "String('{location hash}').substr(1)"
}
},
{
"set": {
"var viewPath": "String('{var hashPath}').split('/')"
}
},
{
"browser:changePage": {
"pageId": "{var viewPath 0}",
"pagePath": "{var viewPath 1}",
"pageChanger": "{arguments:pageChanger}",
"pagesClass": "{arguments:pagesClass}",
"pagesInit": "{arguments:pagesInit}"
}
}
]
},
"title": {
"do": [
{
"html": {
"selector": "title",
"text": "test"
}
},
{
"set": {
"document title": "{arguments}"
}
}
]
},
"copyOnClick": {
"do": [
{
"html": {
"selector": "{arguments:selector}",
"on": {
"mousedown": [
{
"copyElementText": "{arguments:selector}"
}
]
}
}
}
]
}
}
}
}