Skip to content

Commit 528fed2

Browse files
Fix Build-Site YAML script block
Replace indented here-string with inline JavaScript string assignment so the workflow YAML parses correctly while retaining central nav-state injection. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 2b5cc1c commit 528fed2

1 file changed

Lines changed: 1 addition & 88 deletions

File tree

.github/workflows/Build-Site.yml

Lines changed: 1 addition & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -180,94 +180,7 @@ jobs:
180180
throw "Expected Zensical output at ../../_site but it was not created."
181181
}
182182
183-
$navStateScript = @'
184-
(() => {
185-
const storageKey = "zensical-nav-state-v1";
186-
let lastSignature = "";
187-
188-
const getToggles = () =>
189-
Array.from(document.querySelectorAll("input.md-nav__toggle.md-toggle[id]"));
190-
191-
const getPrimaryList = () =>
192-
document.querySelector("nav.md-nav--primary > ul.md-nav__list");
193-
194-
const applyDefaultTopLevelState = (toggles) => {
195-
const primaryList = getPrimaryList();
196-
if (!primaryList) {
197-
return;
198-
}
199-
200-
const topLevelToggles = Array.from(
201-
primaryList.querySelectorAll(
202-
":scope > li > input.md-nav__toggle.md-toggle[id]"
203-
)
204-
);
205-
const topLevelIds = new Set(topLevelToggles.map((toggle) => toggle.id));
206-
207-
for (const toggle of toggles) {
208-
toggle.checked = topLevelIds.has(toggle.id);
209-
}
210-
};
211-
212-
const restoreState = (toggles) => {
213-
const raw = localStorage.getItem(storageKey);
214-
if (!raw) {
215-
applyDefaultTopLevelState(toggles);
216-
return;
217-
}
218-
219-
try {
220-
const state = JSON.parse(raw);
221-
for (const toggle of toggles) {
222-
if (Object.prototype.hasOwnProperty.call(state, toggle.id)) {
223-
toggle.checked = !!state[toggle.id];
224-
}
225-
}
226-
} catch {
227-
applyDefaultTopLevelState(toggles);
228-
}
229-
};
230-
231-
const persistState = (toggles) => {
232-
const state = {};
233-
for (const toggle of toggles) {
234-
state[toggle.id] = !!toggle.checked;
235-
}
236-
localStorage.setItem(storageKey, JSON.stringify(state));
237-
};
238-
239-
const initialize = () => {
240-
const toggles = getToggles();
241-
if (toggles.length === 0) {
242-
return;
243-
}
244-
245-
const signature = toggles.map((toggle) => toggle.id).join("|");
246-
if (signature === lastSignature) {
247-
return;
248-
}
249-
250-
lastSignature = signature;
251-
restoreState(toggles);
252-
for (const toggle of toggles) {
253-
if (toggle.dataset.navStateBound === "true") {
254-
continue;
255-
}
256-
257-
toggle.dataset.navStateBound = "true";
258-
toggle.addEventListener("change", () => persistState(getToggles()));
259-
}
260-
};
261-
262-
if (document.readyState === "loading") {
263-
document.addEventListener("DOMContentLoaded", initialize, { once: true });
264-
} else {
265-
initialize();
266-
}
267-
268-
setInterval(initialize, 500);
269-
})();
270-
'@
183+
$navStateScript = '(()=>{const k="zensical-nav-state-v1";let s="";const g=()=>Array.from(document.querySelectorAll("input.md-nav__toggle.md-toggle[id]"));const p=()=>document.querySelector("nav.md-nav--primary > ul.md-nav__list");const d=t=>{const l=p();if(!l)return;const n=new Set(Array.from(l.querySelectorAll(":scope > li > input.md-nav__toggle.md-toggle[id]")).map(x=>x.id));for(const x of t){x.checked=n.has(x.id)}};const r=t=>{const raw=localStorage.getItem(k);if(!raw){d(t);return;}try{const m=JSON.parse(raw);for(const x of t){if(Object.prototype.hasOwnProperty.call(m,x.id))x.checked=!!m[x.id];}}catch{d(t)}};const w=t=>{const m={};for(const x of t){m[x.id]=!!x.checked;}localStorage.setItem(k,JSON.stringify(m));};const i=()=>{const t=g();if(t.length===0)return;const sig=t.map(x=>x.id).join("|");if(sig===s)return;s=sig;r(t);for(const x of t){if(x.dataset.navStateBound==="true")continue;x.dataset.navStateBound="true";x.addEventListener("change",()=>w(g()));}};if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",i,{once:true});}else{i();}setInterval(i,500);})();'
271184
272185
Get-ChildItem -Path '../../_site' -Filter '*.html' -Recurse | ForEach-Object {
273186
$html = Get-Content -Path $_.FullName -Raw

0 commit comments

Comments
 (0)