Skip to content

Commit

Permalink
Content updated
Browse files Browse the repository at this point in the history
  • Loading branch information
kordwarshuis committed Sep 12, 2024
1 parent c06d232 commit 6878554
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion static/spec-up-t-demo/docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10546,7 +10546,7 @@ <h2 id="outro"><a class="toc-anchor" href="#outro">§</a> Outro</h2>
* @license MIT
* @since 2024-06-09
*/
function fetchCommitHashes() { const e = localStorage.getItem("githubToken"); const t = function (e, t) { let n; return function (...o) { clearTimeout(n), n = setTimeout(() => e.apply(this, o), t) } }(() => { notyf.error('GitHub rate limit exceeded. See <a target="_blank" rel="noopener" href="https://blockchainbird.github.io/spec-up-t-website/docs/github-token/">documentation</a> for more info.') }, 3e3); document.querySelectorAll(".term-reference[data-local-href]").forEach(n => { const o = n.getAttribute("data-local-href").split(":"); allXrefs.xrefs.forEach(r => { if (r.externalSpec === o[1] && r.term.toLowerCase() === o[2].toLowerCase()) { if (!r.commitHash) { const e = document.createElement("span"); return e.classList.add("no-xref-found-message"), e.innerHTML = "No xref found.", void n.parentNode.insertBefore(e, n.nextSibling) } r.commitHash && r.commitHash && r.commitHash.substring(0, 7); const o = document.createElement("a"); o.href = "https://github.com/" + r.owner + "/" + r.repo + "/compare/" + r.commitHash + "../main", o.target = "_blank", o.rel = "noopener noreferrer", o.classList.add("diff", "xref-info-links", "btn"), o.innerHTML = '<svg icon><use xlink:href="#svg-github"></use></svg> Xref &lt; &gt; Now', o.title = "A Diff between the current commit hash of the definition and the commit hash referenced when the link was created.", n.parentNode.insertBefore(o, n.nextSibling); const i = document.createElement("a"); i.href = "https://github.com/" + r.owner + "/" + r.repo + "/blob/main/" + r.terms_dir + "/" + r.term.replace(/ /g, "-").toLowerCase() + ".md", i.target = "_blank", i.rel = "noopener noreferrer", i.classList.add("latest-version", "xref-info-links", "btn"), i.innerHTML = '<svg icon><use xlink:href="#svg-github"></use></svg> Now', i.title = "Go to the repo page of the definition‘s current version.", o.parentNode.insertBefore(i, n.nextSibling); const s = document.createElement("a"); s.href = "https://github.com/" + r.owner + "/" + r.repo + "/blob/" + r.commitHash + "/" + r.terms_dir + "/" + r.term.replace(/ /g, "-").toLowerCase() + ".md", s.target = "_blank", s.rel = "noopener noreferrer", s.classList.add("exact-commit-hash", "xref-info-links", "btn"), s.innerHTML = '<svg icon><use xlink:href="#svg-github"></use></svg> Xref', s.title = "Go to the repo page of the definition‘s version referenced when the link was created.", i.parentNode.insertBefore(s, n.nextSibling); const a = document.createElement("button"); a.classList.add("show-diff-modal", "xref-info-links", "btn"), a.innerHTML = "Xref &lt; &gt; Now", a.title = "Show diff between the latest version and the referenced version", i.parentNode.insertBefore(a, n.nextSibling), a.addEventListener("click", (function (n) { n.preventDefault(), function (e, n) { const o = {}; e && e.length > 0 && (o.Authorization = "token " + e), fetch("https://api.github.com/repos/" + n.owner + "/" + n.repo + "/contents/" + n.terms_dir + "/" + n.term.replace(/ /g, "-").toLowerCase() + ".md", { headers: o }).then(e => { if (403 === e.status && "0" === e.headers.get("X-RateLimit-Remaining")) { const n = new Date(1e3 * e.headers.get("X-RateLimit-Reset")); return console.error(`\n SPEC-UP-T: Github API rate limit exceeded. Try again after ${n}. See https://blockchainbird.github.io/spec-up-t-website/docs/github-token/ for more info.\n`), t(), !0 } return console.log(`\n SPEC-UP-T: Github API rate limit: ${e.headers.get("X-RateLimit-Remaining")} requests remaining. See https://blockchainbird.github.io/spec-up-t-website/docs/github-token/ for more info.\n`), e.json() }).then(e => { const t = atob(e.content), o = Diff.diffChars(n.content, t), r = document.createDocumentFragment(); o.forEach(e => { const t = e.added ? "green" : e.removed ? "red" : "grey", n = e.added || e.removed ? "#ddd" : "white"; span = document.createElement("span"), span.style.color = t, span.style.backgroundColor = n, span.appendChild(document.createTextNode(e.value)), r.appendChild(span) }); const i = document.createElement("div"); i.appendChild(r), i.innerHTML = i.innerHTML.replace(/\n/g, "<br>"), showModal(i.innerHTML) }).catch(e => { console.error("Error fetching content:", e) }) }(e, r) })) } }) }) } document.addEventListener("DOMContentLoaded", (function () { fetchCommitHashes() }));
function fetchCommitHashes() { const e = localStorage.getItem("githubToken"); const t = function (e, t) { let n; return function (...o) { clearTimeout(n), n = setTimeout(() => e.apply(this, o), t) } }(() => { notyf.error('GitHub rate limit exceeded. See <a target="_blank" rel="noopener" href="https://blockchainbird.github.io/spec-up-t-website/docs/github-token/">documentation</a> for more info.') }, 3e3); document.querySelectorAll(".term-reference[data-local-href]").forEach(n => { const o = n.getAttribute("data-local-href").split(":"); allXrefs.xrefs.forEach(r => { if (r.externalSpec === o[1] && r.term.toLowerCase() === o[2].toLowerCase()) { if (!r.commitHash) { const e = document.createElement("span"); return e.classList.add("no-xref-found-message"), e.innerHTML = "No xref found.", void n.parentNode.insertBefore(e, n.nextSibling) } r.commitHash && r.commitHash && r.commitHash.substring(0, 7); const o = document.createElement("a"); o.href = "https://github.com/" + r.owner + "/" + r.repo + "/compare/" + r.commitHash + "../main", o.target = "_blank", o.rel = "noopener noreferrer", o.classList.add("diff", "xref-info-links", "btn"), o.innerHTML = '<svg icon><use xlink:href="#svg-github"></use></svg> Xref &lt; &gt; <svg icon><use xlink:href="#svg-github"></use></svg> Now', o.title = "A Diff between the current commit hash of the definition and the commit hash referenced when the link was created.", n.parentNode.insertBefore(o, n.nextSibling); const i = document.createElement("a"); i.href = "https://github.com/" + r.owner + "/" + r.repo + "/blob/main/" + r.terms_dir + "/" + r.term.replace(/ /g, "-").toLowerCase() + ".md", i.target = "_blank", i.rel = "noopener noreferrer", i.classList.add("latest-version", "xref-info-links", "btn"), i.innerHTML = '<svg icon><use xlink:href="#svg-github"></use></svg> Now', i.title = "Go to the repo page of the definition‘s current version.", o.parentNode.insertBefore(i, n.nextSibling); const s = document.createElement("a"); s.href = "https://github.com/" + r.owner + "/" + r.repo + "/blob/" + r.commitHash + "/" + r.terms_dir + "/" + r.term.replace(/ /g, "-").toLowerCase() + ".md", s.target = "_blank", s.rel = "noopener noreferrer", s.classList.add("exact-commit-hash", "xref-info-links", "btn"), s.innerHTML = '<svg icon><use xlink:href="#svg-github"></use></svg> Xref', s.title = "Go to the repo page of the definition‘s version referenced when the link was created.", i.parentNode.insertBefore(s, n.nextSibling); const a = document.createElement("button"); a.classList.add("show-diff-modal", "xref-info-links", "btn"), a.innerHTML = 'Xref &lt; &gt; <svg icon><use xlink:href="#svg-github"></use></svg> Now', a.title = "Show diff between the latest version and the referenced version", i.parentNode.insertBefore(a, n.nextSibling), a.addEventListener("click", (function (n) { n.preventDefault(), function (e, n) { const o = {}; e && e.length > 0 && (o.Authorization = "token " + e), fetch("https://api.github.com/repos/" + n.owner + "/" + n.repo + "/contents/" + n.terms_dir + "/" + n.term.replace(/ /g, "-").toLowerCase() + ".md", { headers: o }).then(e => { if (403 === e.status && "0" === e.headers.get("X-RateLimit-Remaining")) { const n = new Date(1e3 * e.headers.get("X-RateLimit-Reset")); return console.error(`\n SPEC-UP-T: Github API rate limit exceeded. Try again after ${n}. See https://blockchainbird.github.io/spec-up-t-website/docs/github-token/ for more info.\n`), t(), !0 } return console.log(`\n SPEC-UP-T: Github API rate limit: ${e.headers.get("X-RateLimit-Remaining")} requests remaining. See https://blockchainbird.github.io/spec-up-t-website/docs/github-token/ for more info.\n`), e.json() }).then(e => { const t = atob(e.content), o = Diff.diffChars(n.content, t), r = document.createDocumentFragment(); o.forEach(e => { const t = e.added ? "green" : e.removed ? "red" : "grey", n = e.added || e.removed ? "#ddd" : "white"; span = document.createElement("span"), span.style.color = t, span.style.backgroundColor = n, span.appendChild(document.createTextNode(e.value)), r.appendChild(span) }); const i = document.createElement("div"); i.appendChild(r), i.innerHTML = i.innerHTML.replace(/\n/g, "<br>"), showModal(i.innerHTML) }).catch(e => { console.error("Error fetching content:", e) }) }(e, r) })) } }) }) } document.addEventListener("DOMContentLoaded", (function () { fetchCommitHashes() }));
function addAnchorsToTerms() { document.querySelectorAll('dt:has(> span[id^="term:"])').forEach(e => { const t = function (e) { let t = e; for (; t.querySelector('span[id^="term:"]');)t = t.querySelector('span[id^="term:"]'); return t }(e), r = t.getAttribute("id"), n = document.createElement("a"); n.setAttribute("href", "#" + r), n.setAttribute("class", "toc-anchor"), n.innerHTML = "§ ", t.parentNode.insertBefore(n, t) }) } document.addEventListener("DOMContentLoaded", (function () { addAnchorsToTerms() }));
function copyAnchorToCliboard() { document.addEventListener("click", (function (o) { if (o.target.classList.contains("toc-anchor")) { const c = o.target.href; navigator.clipboard.writeText(c).then(() => { console.log("Anchor copied to clipboard"), notyf.success("Anchor copied to clipboard: " + c) }).catch(o => { console.error("Failed to copy anchor to clipboard", o) }) } })) } document.addEventListener("DOMContentLoaded", (function () { copyAnchorToCliboard() }));
var Notyf = function () { "use strict"; var t, i = function () { return (i = Object.assign || function (t) { for (var i, e = 1, n = arguments.length; e < n; e++)for (var o in i = arguments[e]) Object.prototype.hasOwnProperty.call(i, o) && (t[o] = i[o]); return t }).apply(this, arguments) }, e = (n.prototype.on = function (t, i) { var e = this.listeners[t] || []; this.listeners[t] = e.concat([i]) }, n.prototype.triggerEvent = function (t, i) { var e = this; (this.listeners[t] || []).forEach((function (t) { return t({ target: e, event: i }) })) }, n); function n(t) { this.options = t, this.listeners = {} } (s = t = t || {})[s.Add = 0] = "Add", s[s.Remove = 1] = "Remove"; var o, s, a = (r.prototype.push = function (i) { this.notifications.push(i), this.updateFn(i, t.Add, this.notifications) }, r.prototype.splice = function (i, e) { return e = this.notifications.splice(i, e)[0], this.updateFn(e, t.Remove, this.notifications), e }, r.prototype.indexOf = function (t) { return this.notifications.indexOf(t) }, r.prototype.onUpdate = function (t) { this.updateFn = t }, r); function r() { this.notifications = [] } (s = o = o || {}).Dismiss = "dismiss"; var c = { types: [{ type: "success", className: "notyf__toast--success", backgroundColor: "#3dc763", icon: { className: "notyf__icon--success", tagName: "i" } }, { type: "error", className: "notyf__toast--error", backgroundColor: "#ed3d3d", icon: { className: "notyf__icon--error", tagName: "i" } }], duration: 2e3, ripple: !0, position: { x: "right", y: "bottom" }, dismissible: !(s.Click = "click") }, p = (d.prototype.on = function (t, e) { var n; this.events = i(i({}, this.events), ((n = {})[t] = e, n)) }, d.prototype.update = function (i, e) { e === t.Add ? this.addNotification(i) : e === t.Remove && this.removeNotification(i) }, d.prototype.removeNotification = function (t) { var i, e, n = this; (t = this._popRenderedNotification(t)) && ((e = t.node).classList.add("notyf__toast--disappear"), e.addEventListener(this.animationEndEventName, i = function (t) { t.target === e && (e.removeEventListener(n.animationEndEventName, i), n.container.removeChild(e)) })) }, d.prototype.addNotification = function (t) { var i = this._renderNotification(t); this.notifications.push({ notification: t, node: i }), this._announce(t.options.message || "Notification") }, d.prototype._renderNotification = function (t) { var i = this._buildNotificationCard(t), e = t.options.className; return e && (t = i.classList).add.apply(t, e.split(" ")), this.container.appendChild(i), i }, d.prototype._popRenderedNotification = function (t) { for (var i = -1, e = 0; e < this.notifications.length && i < 0; e++)this.notifications[e].notification === t && (i = e); if (-1 !== i) return this.notifications.splice(i, 1)[0] }, d.prototype.getXPosition = function (t) { return (null === (t = null == t ? void 0 : t.position) || void 0 === t ? void 0 : t.x) || "right" }, d.prototype.getYPosition = function (t) { return (null === (t = null == t ? void 0 : t.position) || void 0 === t ? void 0 : t.y) || "bottom" }, d.prototype.adjustContainerAlignment = function (t) { var i = this.X_POSITION_FLEX_MAP[this.getXPosition(t)], e = this.Y_POSITION_FLEX_MAP[this.getYPosition(t)]; (t = this.container.style).setProperty("justify-content", e), t.setProperty("align-items", i) }, d.prototype._buildNotificationCard = function (t) { var i = this, e = t.options, n = e.icon; this.adjustContainerAlignment(e); var s = this._createHTMLElement({ tagName: "div", className: "notyf__toast" }), a = this._createHTMLElement({ tagName: "div", className: "notyf__ripple" }), r = this._createHTMLElement({ tagName: "div", className: "notyf__wrapper" }), c = this._createHTMLElement({ tagName: "div", className: "notyf__message" }); c.innerHTML = e.message || ""; var p, d, l, u, f = e.background || e.backgroundColor; return n && (p = this._createHTMLElement({ tagName: "div", className: "notyf__icon" }), ("string" == typeof n || n instanceof String) && (p.innerHTML = new String(n).valueOf()), "object" == typeof n && (d = n.tagName, l = n.className, u = n.text, n = void 0 === (n = n.color) ? f : n, u = this._createHTMLElement({ tagName: void 0 === d ? "i" : d, className: l, text: u }), n && (u.style.color = n), p.appendChild(u)), r.appendChild(p)), r.appendChild(c), s.appendChild(r), f && (e.ripple ? (a.style.background = f, s.appendChild(a)) : s.style.background = f), e.dismissible && (a = this._createHTMLElement({ tagName: "div", className: "notyf__dismiss" }), f = this._createHTMLElement({ tagName: "button", className: "notyf__dismiss-btn" }), a.appendChild(f), r.appendChild(a), s.classList.add("notyf__toast--dismissible"), f.addEventListener("click", (function (e) { var n, s; null !== (s = (n = i.events)[o.Dismiss]) && void 0 !== s && s.call(n, { target: t, event: e }), e.stopPropagation() }))), s.addEventListener("click", (function (e) { var n, s; return null === (s = (n = i.events)[o.Click]) || void 0 === s ? void 0 : s.call(n, { target: t, event: e }) })), e = "top" === this.getYPosition(e) ? "upper" : "lower", s.classList.add("notyf__toast--" + e), s }, d.prototype._createHTMLElement = function (t) { var i = t.tagName, e = t.className; t = t.text, i = document.createElement(i); return e && (i.className = e), i.textContent = t || null, i }, d.prototype._createA11yContainer = function () { var t = this._createHTMLElement({ tagName: "div", className: "notyf-announcer" }); t.setAttribute("aria-atomic", "true"), t.setAttribute("aria-live", "polite"), t.style.border = "0", t.style.clip = "rect(0 0 0 0)", t.style.height = "1px", t.style.margin = "-1px", t.style.overflow = "hidden", t.style.padding = "0", t.style.position = "absolute", t.style.width = "1px", t.style.outline = "0", document.body.appendChild(t), this.a11yContainer = t }, d.prototype._announce = function (t) { var i = this; this.a11yContainer.textContent = "", setTimeout((function () { i.a11yContainer.textContent = t }), 100) }, d.prototype._getAnimationEndEventName = function () { var t, i = document.createElement("_fake"), e = { MozTransition: "animationend", OTransition: "oAnimationEnd", WebkitTransition: "webkitAnimationEnd", transition: "animationend" }; for (t in e) if (void 0 !== i.style[t]) return e[t]; return "animationend" }, d); function d() { this.notifications = [], this.events = {}, this.X_POSITION_FLEX_MAP = { left: "flex-start", center: "center", right: "flex-end" }, this.Y_POSITION_FLEX_MAP = { top: "flex-start", center: "center", bottom: "flex-end" }; var t = document.createDocumentFragment(), i = this._createHTMLElement({ tagName: "div", className: "notyf" }); t.appendChild(i), document.body.appendChild(t), this.container = i, this.animationEndEventName = this._getAnimationEndEventName(), this._createA11yContainer() } function l(t) { var e = this; this.dismiss = this._removeNotification, this.notifications = new a, this.view = new p; var n = this.registerTypes(t); this.options = i(i({}, c), t), this.options.types = n, this.notifications.onUpdate((function (t, i) { return e.view.update(t, i) })), this.view.on(o.Dismiss, (function (t) { var i = t.target; t = t.event; e._removeNotification(i), i.triggerEvent(o.Dismiss, t) })), this.view.on(o.Click, (function (t) { var i = t.target; t = t.event; return i.triggerEvent(o.Click, t) })) } return l.prototype.error = function (t) { return t = this.normalizeOptions("error", t), this.open(t) }, l.prototype.success = function (t) { return t = this.normalizeOptions("success", t), this.open(t) }, l.prototype.open = function (t) { var n = this.options.types.find((function (i) { return i.type === t.type })) || {}; n = i(i({}, n), t); return this.assignProps(["ripple", "position", "dismissible"], n), n = new e(n), this._pushNotification(n), n }, l.prototype.dismissAll = function () { for (; this.notifications.splice(0, 1);); }, l.prototype.assignProps = function (t, i) { var e = this; t.forEach((function (t) { i[t] = (null == i[t] ? e.options : i)[t] })) }, l.prototype._pushNotification = function (t) { var i = this; this.notifications.push(t); var e = (void 0 !== t.options.duration ? t : this).options.duration; e && setTimeout((function () { return i._removeNotification(t) }), e) }, l.prototype._removeNotification = function (t) { -1 !== (t = this.notifications.indexOf(t)) && this.notifications.splice(t, 1) }, l.prototype.normalizeOptions = function (t, e) { return t = { type: t }, "string" == typeof e ? t.message = e : "object" == typeof e && (t = i(i({}, t), e)), t }, l.prototype.registerTypes = function (t) { var e = (t && t.types || []).slice(); return c.types.map((function (t) { var n = -1; e.forEach((function (i, e) { i.type === t.type && (n = e) })); var o = -1 !== n ? e.splice(n, 1)[0] : {}; return i(i({}, t), o) })).concat(e) }, l }(), notyf = new Notyf({ types: [{ type: "success", background: "#1D6DAE", duration: 3e3 }, { type: "error", background: "orange", duration: 1e7, dismissible: !0 }] });
Expand Down

0 comments on commit 6878554

Please sign in to comment.