50 lines
1.8 KiB
JSON
50 lines
1.8 KiB
JSON
{
|
|
"*page": {
|
|
"prefix": "*html",
|
|
"body": [
|
|
"<!DOCTYPE html>",
|
|
"<html lang=\"en\">",
|
|
" <head>",
|
|
" <title>Quill</title>",
|
|
" <link rel=\"icon\" href=\"\">",
|
|
" <link rel=\"stylesheet\" href=\"\">",
|
|
" <script type=\"module\">",
|
|
" window.addStyle = function addStyle(cssString) {",
|
|
" let container = document.querySelector(\"style#quillStyles\");",
|
|
" if(!container) {",
|
|
" container = document.createElement('style');",
|
|
" container.id = \"quillStyles\";",
|
|
" document.head.appendChild(container);",
|
|
" }",
|
|
"",
|
|
" let primarySelector = cssString.substring(0, cssString.indexOf(\"{\"));",
|
|
" primarySelector = primarySelector.replace(/\\*/g, \"all\");",
|
|
" primarySelector = primarySelector.replace(/#/g, \"id-\");",
|
|
" primarySelector = primarySelector.replace(/,/g, \"\");",
|
|
" let stylesheet = container.querySelector(`:scope > style[id='${primarySelector}']`)",
|
|
" if(!stylesheet) {",
|
|
" stylesheet = document.createElement('style');",
|
|
" stylesheet.id = primarySelector;",
|
|
" stylesheet.appendChild(document.createTextNode(cssString));",
|
|
" container.appendChild(stylesheet);",
|
|
" } else {",
|
|
" stylesheet.innerText = cssString",
|
|
" }",
|
|
" }",
|
|
"",
|
|
" window.html = function html(elementString) {",
|
|
" let parser = new DOMParser();",
|
|
" let doc = parser.parseFromString(elementString, 'text/html');",
|
|
" return doc.body.firstChild;",
|
|
" }",
|
|
" </script>",
|
|
" <script type=\"module\" src=\"\"></script>",
|
|
" </head>",
|
|
" <body>",
|
|
"",
|
|
" </body>",
|
|
"</html>"
|
|
],
|
|
"description": "Use the DOM collection of functions"
|
|
}
|
|
} |