rust-web-server 18.10.0

Single-binary web server and reverse proxy: automatic HTTPS (Let's Encrypt), HTTP/1.1, HTTP/2 and HTTP/3, load balancing, auth and rate limiting, configured in one TOML file. Also a Rust library: routing, middleware, MCP server, ORM, background jobs. No hyper, no Tower; HTTP/2 and HTTP/3 framing via h2 and quinn.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// lit-material-tabs leaves panels to the page: a [data-tab-group] holds the
// tabs and its [data-tab-panel] siblings, shown by index on `change`.
export function initTabPanels() {
  for (const group of document.querySelectorAll("[data-tab-group]")) {
    const tabs = group.querySelector("lit-material-tabs");
    const panels = [...group.querySelectorAll("[data-tab-panel]")];
    const show = () => {
      const index = Number(tabs.selected ?? 0);
      panels.forEach((panel, i) => (panel.hidden = i !== index));
    };
    tabs.addEventListener("change", show);
    show();
  }
}