Skip to content

Instantly share code, notes, and snippets.

@PixelMelt
Created June 2, 2023 03:06
Show Gist options
  • Save PixelMelt/20a019411def76bb8ec3027b623bc8bd to your computer and use it in GitHub Desktop.
Save PixelMelt/20a019411def76bb8ec3027b623bc8bd to your computer and use it in GitHub Desktop.
Abuse the fact that the demo website is pretty much the entire extension
function loadCssPro() {
const head = document.getElementsByTagName('head')[0];
const cssFiles = [
{ href: "https://cdnjs.cloudflare.com/ajax/libs/tippy.js/6.3.7/tippy.min.css", rel: "preload", as: "style" },
{ href: "https://cdn.jsdelivr.net/npm/@simonwep/pickr/dist/themes/nano.min.css", rel: "preload", as: "style" },
{ href: "https://cdnjs.cloudflare.com/ajax/libs/tom-select/2.2.2/css/tom-select.min.css" },
{ href: "https://cdnjs.cloudflare.com/ajax/libs/lity/2.4.1/lity.css", rel: "preload", as: "style" },
{ href: "https://cdn.jsdelivr.net/npm/diff2html/bundles/css/diff2html.min.css", rel: "preload", as: "style" }
];
cssFiles.forEach(css => {
const link = document.createElement('link');
link.rel = "stylesheet";
link.href = css.href;
if (css.rel) link.setAttribute("rel", css.rel);
if (css.as) link.setAttribute("as", css.as);
head.appendChild(link);
});
const scriptFiles = [
{ src: "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js", defer: true },
{ src: "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js" },
// { src: "demo-build/ruler2.js" },
{ src: "https://cdnjs.cloudflare.com/ajax/libs/lity/2.4.1/lity.min.js", async: true },
];
scriptFiles.forEach(scriptData => {
const script = document.createElement('script');
script.src = scriptData.src;
if (scriptData.defer) script.defer = scriptData.defer;
if (scriptData.async) script.async = scriptData.async;
head.appendChild(script);
});
const mainScript = document.createElement('script');
mainScript.setAttribute('src', 'https://csspro.com/demo-build/mainnewnew.js');
mainScript.id = 'css-pro-demo-script';
document.body.appendChild(mainScript);
mainScript.onload = () => {
mainScript.dataset.loaded = true;
window.cssProReady();
};
}
loadCssPro();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment