diff --git a/assets/codeberg.js b/assets/codeberg.js new file mode 100644 index 0000000..b42b977 --- /dev/null +++ b/assets/codeberg.js @@ -0,0 +1,107 @@ +(() => { + const platform = "Codeberg"; + const workerUrl = "https://repos.acreetionos.org"; + let rendering = false; + + function removeCodebergFromExistingLists() { + document.querySelectorAll(".repo-item").forEach((item) => { + const source = item.querySelector(".repo-source"); + if (source?.textContent.trim().toLowerCase() === platform.toLowerCase()) { + item.remove(); + } + }); + } + + function addRepository(list, repository) { + const item = document.createElement("a"); + item.className = "codeberg-repository"; + item.href = repository.url; + item.target = "_blank"; + item.rel = "noopener noreferrer"; + + const header = document.createElement("div"); + header.className = "codeberg-repository-header"; + const name = document.createElement("strong"); + name.textContent = repository.name; + const source = document.createElement("span"); + source.textContent = platform; + header.append(name, source); + + const description = document.createElement("p"); + description.textContent = repository.description || "No description available."; + const details = document.createElement("small"); + const updated = repository.updated ? new Date(repository.updated).toLocaleDateString("en-US") : ""; + details.textContent = [repository.language, updated].filter(Boolean).join(" ยท "); + + item.append(header, description, details); + list.append(item); + } + + async function renderCodeberg() { + if (rendering || document.getElementById("codeberg-projects")) return; + + const ecosystem = document.getElementById("ecosystem"); + if (!ecosystem) return; + rendering = true; + + try { + const response = await fetch(workerUrl); + if (!response.ok) throw new Error(`Worker returned ${response.status}`); + const payload = await response.json(); + const repositories = (payload.repos || []).filter((repository) => + repository.source === platform && + typeof repository.url === "string" && + repository.url.startsWith("https://codeberg.org/sprunglesontheberg/") + ); + + const section = document.createElement("section"); + section.id = "codeberg-projects"; + section.className = "codeberg-projects"; + const heading = document.createElement("h2"); + const icon = document.createElement("i"); + icon.className = "fas fa-code-branch"; + heading.append(icon, ` ${platform}`); + const summary = document.createElement("p"); + summary.className = "section-sub"; + summary.textContent = `${repositories.length} repositories from sprunglesontheberg`; + const card = document.createElement("div"); + card.className = "card"; + const list = document.createElement("div"); + list.className = "codeberg-repository-list"; + + if (repositories.length === 0) { + list.textContent = "No Codeberg repositories found."; + } else { + repositories.forEach((repository) => addRepository(list, repository)); + } + + card.append(list); + section.append(heading, summary, card); + ecosystem.after(section); + removeCodebergFromExistingLists(); + } catch (error) { + console.error("Failed to fetch Codeberg repositories:", error); + } finally { + rendering = false; + } + } + + const start = () => { + let observerTimer; + const observer = new MutationObserver(() => { + clearTimeout(observerTimer); + observerTimer = setTimeout(() => { + removeCodebergFromExistingLists(); + renderCodeberg(); + }, 50); + }); + observer.observe(document.getElementById("app") || document.body, { childList: true, subtree: true }); + renderCodeberg(); + }; + + if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", start, { once: true }); + } else { + start(); + } +})(); diff --git a/assets/index-ea9yVlq5.css b/assets/index-ea9yVlq5.css index 2b33ce2..2bb8448 100644 --- a/assets/index-ea9yVlq5.css +++ b/assets/index-ea9yVlq5.css @@ -1 +1,2 @@ header.svelte-oiwvqb{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:8px}.header-inner.svelte-oiwvqb{display:flex;align-items:center;justify-content:space-between;gap:16px}.hamburger.svelte-oiwvqb{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;width:34px;height:34px;padding:4px;flex-shrink:0;border-radius:6px;transition:background .15s}.hamburger.svelte-oiwvqb:hover{background:#ffffff0a}.hamburger.svelte-oiwvqb span:where(.svelte-oiwvqb){display:block;width:20px;height:2px;background:#a1a1aa;border-radius:2px}.hamburger.svelte-oiwvqb:hover span:where(.svelte-oiwvqb){background:#e1e1e6}.brand.svelte-oiwvqb{display:flex;align-items:center;gap:16px;flex-shrink:0}.avatar.svelte-oiwvqb{width:52px;height:52px;border-radius:50%;overflow:hidden;border:2px solid rgba(192,132,252,.3);flex-shrink:0}.avatar.svelte-oiwvqb img:where(.svelte-oiwvqb){width:100%;height:100%;object-fit:cover}h1.svelte-oiwvqb{font-size:1.3rem;font-weight:700;color:#e1e1e6;line-height:1.2}.title.svelte-oiwvqb{font-size:.8rem;color:#7c3aed;font-weight:500}nav.svelte-oiwvqb{display:flex;align-items:center;gap:4px;flex-wrap:wrap}nav.svelte-oiwvqb a:where(.svelte-oiwvqb){color:#a1a1aa;text-decoration:none;font-size:.85rem;font-weight:500;padding:8px 14px;border-radius:8px;transition:all .15s}nav.svelte-oiwvqb a:where(.svelte-oiwvqb):hover{color:#e1e1e6;background:#ffffff0a}nav.svelte-oiwvqb a.external:where(.svelte-oiwvqb){color:#c084fc}nav.svelte-oiwvqb a.external:where(.svelte-oiwvqb):hover{background:#c084fc1a}nav.svelte-oiwvqb a:where(.svelte-oiwvqb) i:where(.svelte-oiwvqb){font-size:.75rem;margin-left:4px}.sidebar-overlay.svelte-oiwvqb{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999;animation:svelte-oiwvqb-fadeIn .15s ease}@keyframes svelte-oiwvqb-fadeIn{0%{opacity:0}to{opacity:1}}.sidebar.svelte-oiwvqb{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:90vw;background:#0a0a0f;border-right:1px solid rgba(255,255,255,.06);z-index:1000;display:flex;flex-direction:column;animation:svelte-oiwvqb-slideIn .2s ease;overflow:hidden}@keyframes svelte-oiwvqb-slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header.svelte-oiwvqb{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.sidebar-header.svelte-oiwvqb h2:where(.svelte-oiwvqb){font-size:1rem;color:#c084fc;margin:0;display:flex;align-items:center;gap:8px}.sidebar-header.svelte-oiwvqb h2:where(.svelte-oiwvqb) i:where(.svelte-oiwvqb){font-size:.9rem}.sidebar-close.svelte-oiwvqb{background:none;border:none;color:#71717a;font-size:1.1rem;cursor:pointer;padding:4px;border-radius:4px;transition:color .15s}.sidebar-close.svelte-oiwvqb:hover{color:#e1e1e6}.sidebar-search.svelte-oiwvqb{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}.sidebar-search.svelte-oiwvqb i:where(.svelte-oiwvqb){color:#52525b;font-size:.85rem}.sidebar-search.svelte-oiwvqb input:where(.svelte-oiwvqb){background:none;border:none;outline:none;color:#e1e1e6;font-size:.85rem;width:100%;font-family:inherit}.sidebar-search.svelte-oiwvqb input:where(.svelte-oiwvqb)::placeholder{color:#52525b}.sidebar-body.svelte-oiwvqb{flex:1;overflow-y:auto;padding-bottom:20px}.sidebar-group.svelte-oiwvqb{padding:12px 0}.sidebar-group.svelte-oiwvqb+.sidebar-group:where(.svelte-oiwvqb){border-top:1px solid rgba(255,255,255,.04)}.sidebar-group-title.svelte-oiwvqb{padding:4px 20px 8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#52525b;display:flex;align-items:center;gap:6px}.sidebar-group-title.svelte-oiwvqb i:where(.svelte-oiwvqb){font-size:.75rem}.sidebar-item.svelte-oiwvqb{display:block;width:100%;text-align:left;background:none;border:none;border-left:2px solid transparent;padding:10px 20px;cursor:pointer;transition:all .12s;font-family:inherit}.sidebar-item.svelte-oiwvqb:hover{background:#7c3aed0f;border-left-color:#7c3aed}.sidebar-item.svelte-oiwvqb strong:where(.svelte-oiwvqb){display:block;font-size:.82rem;color:#e1e1e6;font-weight:500}.sidebar-item-desc.svelte-oiwvqb{display:block;font-size:.72rem;color:#52525b;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-empty.svelte-oiwvqb{padding:20px;text-align:center;color:#52525b;font-size:.8rem}@media(max-width:700px){.header-inner.svelte-oiwvqb{flex-direction:column;align-items:flex-start;gap:12px}nav.svelte-oiwvqb{width:100%;gap:2px}nav.svelte-oiwvqb a:where(.svelte-oiwvqb){font-size:.78rem;padding:6px 10px}}section.svelte-1dux4xh{margin-bottom:32px}h2.svelte-1dux4xh{font-size:1.6rem;font-weight:700;color:#c084fc;margin-bottom:16px;display:flex;align-items:center;gap:10px}h2.svelte-1dux4xh i:where(.svelte-1dux4xh){font-size:1.2rem;color:#7c3aed}.card.svelte-1dux4xh{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:28px}p.svelte-1dux4xh{color:#a1a1aa;font-size:.95rem;line-height:1.8;max-width:720px;margin-bottom:24px}.grid.svelte-1dux4xh{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.item.svelte-1dux4xh{display:flex;align-items:flex-start;gap:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:18px;transition:all .15s}.item.svelte-1dux4xh:hover{border-color:#c084fc33;background:#7c3aed0a}.item.svelte-1dux4xh i:where(.svelte-1dux4xh){font-size:1.3rem;color:#c084fc;margin-top:2px;flex-shrink:0}.item.svelte-1dux4xh strong:where(.svelte-1dux4xh){display:block;font-size:.9rem;color:#e1e1e6;margin-bottom:2px}.item.svelte-1dux4xh span:where(.svelte-1dux4xh){display:block;font-size:.8rem;color:#71717a}@media(max-width:600px){.grid.svelte-1dux4xh{grid-template-columns:1fr}}section.svelte-1pch8ix{margin-bottom:32px}h2.svelte-1pch8ix{font-size:1.6rem;font-weight:700;color:#c084fc;margin-bottom:16px;display:flex;align-items:center;gap:10px}h2.svelte-1pch8ix i:where(.svelte-1pch8ix){font-size:1.2rem;color:#7c3aed}.card.svelte-1pch8ix{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:28px}p.svelte-1pch8ix{color:#a1a1aa;font-size:.95rem;line-height:1.8;max-width:720px}.stats.svelte-1pch8ix{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.stat.svelte-1pch8ix{background:#7c3aed0f;border:1px solid rgba(124,58,237,.12);border-radius:10px;padding:16px;text-align:center}.stat-value.svelte-1pch8ix{display:block;font-size:1.4rem;font-weight:700;color:#c084fc}.stat-label.svelte-1pch8ix{display:block;font-size:.75rem;color:#71717a;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}@media(max-width:600px){.stats.svelte-1pch8ix{grid-template-columns:repeat(2,1fr)}}section.svelte-y8i93o{margin-bottom:32px}.section-sub.svelte-y8i93o{font-size:.85rem;color:#71717a;margin:-12px 0 16px}h2.svelte-y8i93o{font-size:1.6rem;font-weight:700;color:#c084fc;margin-bottom:16px;display:flex;align-items:center;gap:10px}h2.svelte-y8i93o i:where(.svelte-y8i93o){font-size:1.2rem;color:#7c3aed}.card.svelte-y8i93o{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:28px}.search-bar.svelte-y8i93o{display:flex;align-items:center;gap:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 14px;margin-bottom:20px}.search-bar.svelte-y8i93o i:where(.svelte-y8i93o){color:#71717a;font-size:.9rem}.search-bar.svelte-y8i93o input:where(.svelte-y8i93o){background:none;border:none;outline:none;color:#e1e1e6;font-size:.9rem;width:100%;font-family:inherit}.search-bar.svelte-y8i93o input:where(.svelte-y8i93o)::placeholder{color:#52525b}.empty.svelte-y8i93o{text-align:center;padding:40px 0;color:#71717a;font-size:.9rem}.tab-bar.svelte-y8i93o{display:flex;gap:4px;margin-bottom:16px;background:#ffffff08;border-radius:8px;padding:4px}.tab-bar.svelte-y8i93o input:where(.svelte-y8i93o){display:none}.tab-bar.svelte-y8i93o label:where(.svelte-y8i93o){flex:1;text-align:center;padding:8px 12px;border-radius:6px;font-size:.82rem;color:#71717a;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.tab-bar.svelte-y8i93o label:where(.svelte-y8i93o):hover{color:#a1a1aa;background:#ffffff08}.tab-bar.svelte-y8i93o input:where(.svelte-y8i93o):checked+label:where(.svelte-y8i93o){background:#7c3aed26;color:#c084fc;font-weight:600}.tab-bar.svelte-y8i93o label:where(.svelte-y8i93o) i:where(.svelte-y8i93o){margin-right:4px}.tab-content.svelte-y8i93o{display:none}.repo-list.svelte-y8i93o{display:flex;flex-direction:column;gap:8px}.repo-item.svelte-y8i93o{display:block;width:100%;text-align:left;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:14px 16px;text-decoration:none;color:inherit;cursor:pointer;transition:all .15s;font-family:inherit;font-size:inherit}.repo-item.svelte-y8i93o:hover{border-color:#7c3aed33;background:#7c3aed0d}.repo-top.svelte-y8i93o{display:flex;align-items:center;gap:8px;margin-bottom:4px}.repo-name.svelte-y8i93o{font-size:.88rem;color:#e1e1e6;font-weight:600}.repo-source.svelte-y8i93o{font-size:.68rem;padding:1px 7px;border-radius:4px;font-weight:500}.repo-source.github.svelte-y8i93o{background:#6e549426;color:#a78bfa}.repo-source.gitlab.svelte-y8i93o{background:#e2743326;color:#fb923c}.repo-desc.svelte-y8i93o{font-size:.78rem;color:#71717a;margin:0 0 6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.repo-meta.svelte-y8i93o{display:flex;gap:14px;font-size:.72rem;color:#52525b}.repo-meta.svelte-y8i93o i:where(.svelte-y8i93o){margin-right:3px;font-size:.65rem}.repo-meta.svelte-y8i93o .lang:where(.svelte-y8i93o) i:where(.svelte-y8i93o){color:#7c3aed}.repo-meta.svelte-y8i93o .fa-star:where(.svelte-y8i93o){color:#fbbf24}.repo-meta.svelte-y8i93o .fa-clock:where(.svelte-y8i93o){color:#71717a}@media(max-width:600px){.tab-bar.svelte-y8i93o label:where(.svelte-y8i93o){font-size:.75rem;padding:6px 8px}.repo-meta.svelte-y8i93o{flex-wrap:wrap;gap:8px}}.detail-view.svelte-pc3wc8{animation:svelte-pc3wc8-fadeIn .2s ease}@keyframes svelte-pc3wc8-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.back-btn.svelte-pc3wc8{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid rgba(255,255,255,.08);color:#a1a1aa;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.85rem;font-family:inherit;transition:all .15s;margin-bottom:24px}.back-btn.svelte-pc3wc8:hover{border-color:#7c3aed4d;color:#c084fc;background:#7c3aed0d}.detail-header.svelte-pc3wc8{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:28px;margin-bottom:20px}.detail-title-row.svelte-pc3wc8{display:flex;align-items:center;gap:10px;margin-bottom:8px}.detail-header.svelte-pc3wc8 h2:where(.svelte-pc3wc8){font-size:1.5rem;font-weight:700;color:#c084fc;margin:0}.detail-source.svelte-pc3wc8{font-size:.72rem;padding:2px 10px;border-radius:4px;font-weight:600}.detail-source.github.svelte-pc3wc8{background:#6e549426;color:#a78bfa}.detail-source.gitlab.svelte-pc3wc8{background:#e2743326;color:#fb923c}.detail-desc.svelte-pc3wc8{color:#a1a1aa;font-size:.95rem;margin-bottom:16px;line-height:1.6}.detail-meta.svelte-pc3wc8{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.detail-tag.svelte-pc3wc8{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:#71717a;background:#ffffff08;padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.detail-tag.svelte-pc3wc8 i:where(.svelte-pc3wc8){font-size:.6rem}.detail-actions.svelte-pc3wc8{display:flex;gap:10px;flex-wrap:wrap}.action-btn.svelte-pc3wc8{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .15s}.action-btn.primary.svelte-pc3wc8{background:#7c3aed26;color:#c084fc;border:1px solid rgba(124,58,237,.2)}.action-btn.primary.svelte-pc3wc8:hover{background:#7c3aed40}.action-btn.svelte-pc3wc8:not(.primary){background:#ffffff0a;color:#a1a1aa;border:1px solid rgba(255,255,255,.08)}.action-btn.svelte-pc3wc8:not(.primary):hover{border-color:#ffffff26;color:#e1e1e6}.detail-readme.svelte-pc3wc8{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:28px}.detail-readme.svelte-pc3wc8 h3:where(.svelte-pc3wc8){font-size:1.1rem;color:#c084fc;margin-bottom:16px;display:flex;align-items:center;gap:8px}.readme-status.svelte-pc3wc8{color:#71717a;font-size:.9rem;text-align:center;padding:40px 0}.readme-status.error.svelte-pc3wc8{color:#f87171}.readme-content.svelte-pc3wc8{color:#a1a1aa;font-size:.9rem;line-height:1.7;overflow-x:auto}.readme-content.svelte-pc3wc8 h1,.readme-content.svelte-pc3wc8 h2,.readme-content.svelte-pc3wc8 h3{color:#e1e1e6;margin:20px 0 10px}.readme-content.svelte-pc3wc8 h1{font-size:1.4rem}.readme-content.svelte-pc3wc8 h2{font-size:1.2rem}.readme-content.svelte-pc3wc8 h3{font-size:1.05rem}.readme-content.svelte-pc3wc8 p{margin-bottom:12px}.readme-content.svelte-pc3wc8 code{background:#ffffff0d;padding:2px 6px;border-radius:4px;font-size:.82rem}.readme-content.svelte-pc3wc8 pre{background:#0000004d;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:16px;overflow-x:auto;margin-bottom:16px}.readme-content.svelte-pc3wc8 pre code{background:none;padding:0}.readme-content.svelte-pc3wc8 a{color:#c084fc}.readme-content.svelte-pc3wc8 ul,.readme-content.svelte-pc3wc8 ol{margin:8px 0 12px 20px}.readme-content.svelte-pc3wc8 li{margin-bottom:4px}.readme-content.svelte-pc3wc8 blockquote{border-left:3px solid rgba(124,58,237,.3);padding-left:16px;margin:12px 0;color:#71717a}.readme-content.svelte-pc3wc8 img{max-width:100%;border-radius:8px}section.svelte-13mpcvk{margin-bottom:32px}h2.svelte-13mpcvk{font-size:1.6rem;font-weight:700;color:#c084fc;margin-bottom:16px;display:flex;align-items:center;gap:10px}h2.svelte-13mpcvk i:where(.svelte-13mpcvk){font-size:1.2rem;color:#7c3aed}.card.svelte-13mpcvk{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:28px}.social-grid.svelte-13mpcvk{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.social-grid.compact.svelte-13mpcvk{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.btn-social.svelte-13mpcvk{display:flex;align-items:center;justify-content:center;gap:8px;background:#7c3aed14;color:#e1e1e6;text-decoration:none;padding:12px 14px;border-radius:8px;border:1px solid rgba(124,58,237,.12);transition:all .15s;font-weight:500;font-size:.85rem}.btn-social.svelte-13mpcvk:hover{background:#7c3aed2e;border-color:#c084fc4d;color:#c084fc;transform:translateY(-1px)}@media(max-width:600px){.social-grid.svelte-13mpcvk{grid-template-columns:repeat(2,1fr)}}footer.svelte-1sr6y3t{text-align:center;padding:32px 20px 40px;border-top:1px solid rgba(255,255,255,.06);color:#71717a;font-size:.85rem}.sub.svelte-1sr6y3t{font-size:.75rem;margin-top:4px;opacity:.6}.love.svelte-1sr6y3t{font-size:.75rem;margin-top:8px;color:#c084fc;opacity:.7}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#0a0a0f;color:#e1e1e6;line-height:1.7;min-height:100vh}.app.svelte-1n46o8q{max-width:960px;margin:0 auto;padding:0 24px}main.svelte-1n46o8q{padding:40px 0 60px} +section.codeberg-projects{margin-bottom:32px}section.codeberg-projects h2{font-size:1.6rem;font-weight:700;color:#c084fc;margin-bottom:16px;display:flex;align-items:center;gap:10px}section.codeberg-projects h2 i{font-size:1.2rem;color:#7c3aed}.codeberg-repository-list{display:flex;flex-direction:column;gap:8px}.codeberg-repository{display:block;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:14px 16px;text-decoration:none;color:inherit;transition:all .15s}.codeberg-repository:hover{border-color:#7c3aed33;background:#7c3aed0d}.codeberg-repository-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.codeberg-repository-header strong{font-size:.88rem;color:#e1e1e6}.codeberg-repository-header span{font-size:.68rem;padding:1px 7px;border-radius:4px;font-weight:500;background:#2185d026;color:#7dd3fc}.codeberg-repository p{font-size:.78rem;color:#71717a;margin:0 0 6px;line-height:1.4}.codeberg-repository small{font-size:.7rem;color:#a1a1aa} diff --git a/index.html b/index.html index adcac64..db570ef 100644 --- a/index.html +++ b/index.html @@ -9,6 +9,7 @@ +