mirror of
https://github.com/cotes2020/jekyll-theme-chirpy.git
synced 2025-06-07 16:17:50 +00:00

Some checks failed
Close stale issues and PRs / stale (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Style Lint / stylelint (push) Has been cancelled
Lint Commit Messages / commitlint (push) Has been cancelled
Build and Deploy / build (push) Has been cancelled
Build and Deploy / deploy (push) Has been cancelled
- Ensure inline scripts execute after the DOM has fully loaded. - Use Rollup to bundle the theme-mode and Mermaid scripts, reducing the number of Jekyll include snippets.
20 lines
601 B
JavaScript
20 lines
601 B
JavaScript
const ATTR_DISPLAY = 'sidebar-display';
|
|
const $sidebar = document.getElementById('sidebar');
|
|
const $trigger = document.getElementById('sidebar-trigger');
|
|
const $mask = document.getElementById('mask');
|
|
|
|
class SidebarUtil {
|
|
static #isExpanded = false;
|
|
|
|
static toggle() {
|
|
this.#isExpanded = !this.#isExpanded;
|
|
document.body.toggleAttribute(ATTR_DISPLAY, this.#isExpanded);
|
|
$sidebar.classList.toggle('z-2', this.#isExpanded);
|
|
$mask.classList.toggle('d-none', !this.#isExpanded);
|
|
}
|
|
}
|
|
|
|
export function initSidebar() {
|
|
$trigger.onclick = $mask.onclick = () => SidebarUtil.toggle();
|
|
}
|