general-sam 1.0.4

A general suffix automaton implementation in Rust
Documentation
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/katex@0.17.0/dist/katex.min.css"
  integrity="sha384-vlBdW0r3AcZO/HboRPznQNowvexd3fY8qHOWkBi5q7KGgqJ+F48+DceybYmrVbmB"
  crossorigin="anonymous"
>
<script
  defer
  src="https://cdn.jsdelivr.net/npm/katex@0.17.0/dist/katex.min.js"
  integrity="sha384-AtrdNsnxl/75rvBneBVH7DtOvCxSVahR2zWqle1coBKd8DEmLoviqNeJSx64gNAs"
  crossorigin="anonymous"
></script>
<script
  defer
  src="https://cdn.jsdelivr.net/npm/katex@0.17.0/dist/contrib/auto-render.min.js"
  integrity="sha384-bjyGPfbij8/NDKJhSGZNP/khQVgtHUE5exjm4Ydllo42FwIgYsdLO2lXGmRBf5Mz"
  crossorigin="anonymous"
></script>
<script
  src="https://cdn.jsdelivr.net/npm/mermaid@11.16.0/dist/mermaid.min.js"
  integrity="sha256-dNfEbavKMowilHM5EKiqHtDDdFF3bo1Sldo4ordY+5s="
  crossorigin="anonymous"
></script>
<script>
// the mermaid part is from https://github.com/rust-lang/mdBook/issues/762

function patchMermaidCodeElementClass() {
  var elements = document.getElementsByClassName("language-mermaid");
  Array.from(elements).forEach((pre) => {
    Array.from(pre.childNodes).forEach((code) => {
      if (code.tagName.toLowerCase() == "code") {
        code.className = "mermaid";
      }
    });
  });
}

document.addEventListener("DOMContentLoaded", function () {
  renderMathInElement(document.body, {
    delimiters: [
      { left: "$$", right: "$$", display: true },
      { left: "$", right: "$", display: false },
      { left: "\\(", right: "\\)", display: false },
      { left: "\\[", right: "\\]", display: true },
    ],
    throwOnError: false,
  });

  patchMermaidCodeElementClass();
  mermaid.initialize({ startOnLoad: true });
});
</script>