diff --git a/docs/404.html b/docs/404.html deleted file mode 100644 index 829eda8..0000000 --- a/docs/404.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - Page Not Found - - - - -
-

404

-

Page Not Found

-

The specified file was not found on this website. Please check the URL for mistakes and try again.

-

Why am I seeing this?

-

This page was generated by the Firebase Command-Line Interface. To modify it, edit the 404.html file in your project's configured public directory.

-
- - diff --git a/docs/index.html b/docs/index.html index 05842a0..85bbe00 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,10 +2,8 @@ - - + +
itty.bitty is experimental technology that renders linked content from outside sources. Learn more.

This content is only as trustworthy as its source, and it should be treated with the caution diff --git a/docs/index.src/index-min.css b/docs/index.src/index-min.css deleted file mode 100644 index f86f66c..0000000 --- a/docs/index.src/index-min.css +++ /dev/null @@ -1 +0,0 @@ -body{font-family:sans-serif}#iframe{border:0;position:absolute;top:0;left:0;width:100%;height:100%}#edit{font-family:monospace;font-weight:bold;color:rgba(0,0,0,0.54);position:absolute;z-index:100;position:absolute;top:.85em;right:1em;display:none}#edit:not(:hover){text-decoration:none}#warning{position:absolute;border-radius:4px;background-color:#feecc2;padding:1em;font-size:16px;width:20em;z-index:100;top:10vh;left:50vw;margin-left:-10em}#warning:empty{display:none}body.toasting #iframe,body.toasting #edit{opacity:.5;pointer-events:none}body.toasting #toast{box-sizing:border-box;background-color:#feecc2;border-radius:4px;font-size:13px;left:50%;top:10px;margin-left:-160px;padding:1em;position:absolute;max-width:320px;z-index:101}body:not(.toasting) #toast,body.toasting #warning{display:none}body:not(.download) #download{display:none}#download{background:#fafafa;width:100vw;height:100vh;position:absolute;top:0;left:0;display:flex;text-decoration:none;color:black;justify-content:center;align-items:center;flex-direction:column;font-size:14px}#dl-image{width:128px;height:128px;background-position:center;background-repeat:no-repeat;background-image:url("data:image/svg+xml,%0A%3Csvg width='128' height='128' viewBox='0 0 128 128' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='path-1-outside-1_116_2' maskUnits='userSpaceOnUse' x='27' y='15' width='74' height='98' fill='black'%3E%3Crect fill='white' x='27' y='15' width='74' height='98'/%3E%3Cpath d='M80 16H28V112H100V36L80 16Z'/%3E%3C/mask%3E%3Cpath d='M80 16H28V112H100V36L80 16Z' fill='white'/%3E%3Cpath d='M28 16V15H27V16H28ZM80 16L80.7071 15.2929L80.4142 15H80V16ZM28 112H27V113H28V112ZM100 112V113H101V112H100ZM100 36H101V35.5858L100.707 35.2929L100 36ZM28 17H80V15H28V17ZM29 112V16H27V112H29ZM100 111H28V113H100V111ZM99 36V112H101V36H99ZM100.707 35.2929L80.7071 15.2929L79.2929 16.7071L99.2929 36.7071L100.707 35.2929Z' fill='black' fill-opacity='0.15' mask='url(%23path-1-outside-1_116_2)'/%3E%3C/svg%3E%0A");padding:20px 32px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;color:rgba(0,0,0,0.3);font-weight:bold}#dl-button{text-decoration:none;background:gray;color:white;padding:.5em 1em;border-radius:2em;display:none}#dl-button:hover{background:black}#dl-name{margin-bottom:2em} diff --git a/docs/index.src/index-min.js b/docs/index.src/index-min.js deleted file mode 100644 index 5f24b0f..0000000 --- a/docs/index.src/index-min.js +++ /dev/null @@ -1 +0,0 @@ -var HEAD_TAGS="PGJhc2UgdGFyZ2V0PSJfdG9wIj4K";var HEAD_TAGS_EXTENDED="PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxzYW5zLXNlcmlmO3dvcmQtd3JhcDogYnJlYWstd29yZDt9PC9zdHlsZT4g";function dismiss(){if(document.getElementById("never").checked)window.localStorage.setItem("toasted",true);document.body.classList.remove("toasting")}var validTypes=["image/svg+xml"];window.onhashchange=window.onload=function(){var hash=window.location.hash.substring(1);if(hash.length<3){location.href="/edit"}else{var iframe=document.getElementById("iframe");var link=document.getElementById("edit");var preamble=undefined;var download=undefined;var slashIndex=hash.indexOf("/");var title=hash.substring(0,slashIndex);document.title=title.length?decodeURIComponent(title.replace(/_/g," ")):location.hostname;hash=hash.substring(slashIndex+1);var editable=hash.charAt(0)=="?";if(editable){hash=hash.substring(1)}if(hash.indexOf("data:")!=0){var colon=hash.indexOf(":");if(colon>0&&colon<15){document.body.classList.remove("toasting");return window.location.replace(hash)}var compressed=true;preamble=HEAD_TAGS_EXTENDED;hash="data:text/html;charset=utf-8;"+(compressed?"bxze64,":"base64,")+hash}else if(hash.indexOf("data:text/html;")==0){preamble=HEAD_TAGS}else if(hash.indexOf("data:text/plain;")==0){preamble=HEAD_TAGS_EXTENDED}else{let match=hash.match(/data:([^;]+)/);let type=match[1];console.log("match",match,type);if(!validTypes.includes(type)){console.log("unknown type, rendering as download");let extension=title.split(".");document.querySelector("#dl-name").innerText=title;if(extension.length>1)document.querySelector("#dl-image").innerText=extension.pop();download=document.querySelector("#download");download.download=title}}link.onclick=function(){location.href="/edit"+location.hash};var isIE=navigator.userAgent.match(/rv:11/);var isEdge=navigator.userAgent.match(/Edge\//);if((isEdge||isIE)&&location.href.length==2083){document.getElementById("warning").innerHTML='Edge only supports shorter URLs (maximum 2083 bytes).
Larger sites may require a different browser.
Learn more'}decompressDataURI(hash,preamble,(function(dataURL){if(!dataURL)return;iframe.sandbox="allow-downloads allow-scripts allow-forms allow-top-navigation allow-popups allow-modals allow-popups-to-escape-sandbox";if(download){try{download.href=dataURL;download.click();document.body.classList.add("download")}catch(e){iframe.src=dataURL}}else if(!isIE){iframe.src=dataURL}else{dataToString(dataURL,(function(content){var doc=iframe.contentWindow.document;doc.open();doc.write(content);doc.close()}))}}));var link=document.getElementById("edit");link.href="/edit"+location.hash;link.style.display=editable?"block":"none"}}; diff --git a/firebase.json b/firebase.json index f6b60a7..9081e76 100644 --- a/firebase.json +++ b/firebase.json @@ -8,11 +8,12 @@ "**/.git/**", "**/node_modules/**", "firebase.json", - "index.src/**", "LICENSE", "samples/**", "src/**" ], + "cleanUrls": true, + "trailingSlash": false, "rewrites": [ { "source": "/**/", diff --git a/functions/index.js b/functions/index.js index 108489c..dc42d1f 100644 --- a/functions/index.js +++ b/functions/index.js @@ -8,9 +8,9 @@ exports.index = functions.https.onRequest((request, response) => { let components = path.split("/"); components.shift(); components.pop(); - let title = components.shift().replace("_", " "); - let desc = components.shift().replace("_", " "); - let image = components.join("/"); + let title = decodeURIComponent(components.shift()).replace("_", " "); + let desc = decodeURIComponent(components.shift()).replace("_", " "); + let image = decodeURIComponent(components.join("/")); console.log("components", title, desc, image) let content = "";