calepin 0.0.14

A Rust CLI for preprocessing Typst documents with executable code chunks
(() => {
  "use strict";

  function initMenu() {
    const button = document.querySelector(".academic-nav-toggle");
    const menu = document.getElementById("academic-menu");
    if (!button || !menu) return;

    function setOpen(open) {
      menu.classList.toggle("is-open", open);
      button.setAttribute("aria-expanded", open ? "true" : "false");
    }

    button.addEventListener("click", () => setOpen(!menu.classList.contains("is-open")));
    menu.addEventListener("click", (event) => {
      if (event.target.closest("a")) setOpen(false);
    });
    document.addEventListener("keydown", (event) => {
      if (event.key === "Escape") setOpen(false);
    });
  }

  initMenu();
})();