jilto
Version:
A versatile and efficient JavaScript library for creating isomorphic HTML templates using concise literal syntax. Jilto seamlessly bridges server-side and client-side rendering, enabling developers to write clean, maintainable code for dynamic web applica
1 lines • 1.85 kB
JavaScript
!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof module&&module.exports?module.exports=n():e.jilto=n()}("undefined"!=typeof self?self:this,(function(){function e(e,n={},t=""){return`<${e} ${Object.entries(n).filter((([e,n])=>""!==n&&null!=n)).map((([e,n])=>`${e}="${n}"`)).join(" ")}>${t}</${e}>`}function n({url:n,text:t,linkClass:i="",linkId:l=""}){return e("a",{href:n,class:i,id:l},t)}return{createElement:e,generateList:function({items:n,ulClass:t="",liClass:i="",ulId:l=""}){const a=n.map((n=>e("li",{class:i,id:n.id},n.content))).join("");return e("ul",{class:t,id:l},a)},generateTable:function({data:n,tableClass:t="",tableId:i=""}){const l=n.map((n=>e("tr",{},n.map((n=>e("td",{},n))).join("")))).join("");return e("table",{class:t,id:i},l)},generateParagraph:function({text:n,pClass:t="",pId:i=""}){return e("p",{class:t,id:i},n)},generateNavbar:function({links:t,navClass:i="",linkClass:l="",navId:a=""}){return e("nav",{class:i,id:a},t.map((e=>n({url:e.href,text:e.text,linkClass:l,linkId:e.id}))).join(""))},generateHtmlPage:function({pageTitle:e="Page Title",headHtml:n="",contentHtml:t=""}){return`\n <!DOCTYPE html>\n <html>\n <head>\n <title>${e}</title>\n ${n}\n </head>\n <body>\n ${t}\n </body>\n </html>\n `},generateLinks:function({lstLinks:t,linkClass:i="",containerId:l=""}){const a=t.map((e=>n({url:e.href,text:e.text,linkClass:i,linkId:e.id}))).join("");return e("div",{class:i,id:l},a)},generateHref:n,generateDiv:function({content:n,divClass:t="",divId:i=""}){return e("div",{class:t,id:i},n)},generateInput:function({inputType:n,inputName:t,inputValue:i="",inputClass:l="",placeholder:a="",inputId:s=""}){return e("input",{type:n,name:t,value:i,class:l,placeholder:a,id:s})}}}));