Skip to main content

DEFAULT_GRAPH_TEMPLATE

Constant DEFAULT_GRAPH_TEMPLATE 

Source
pub const DEFAULT_GRAPH_TEMPLATE: &str = "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"utf-8\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n  <title>{% if site_title %}Graph \u{2014} {{ site_title }}{% else %}Graph{% endif %}</title>\n  <script>(function(){try{\n  var s=localStorage.getItem(\'doc-theme\');\n  var t=s||(matchMedia(\'(prefers-color-scheme: light)\').matches?\'light\':\'dark\');\n  document.documentElement.setAttribute(\'data-theme\',t);\n  var w=parseInt(localStorage.getItem(\'doc-left-rail-width\'),10);\n  if(w>=180&&w<=560)document.documentElement.style.setProperty(\'--left-rail-width\',w+\'px\');\n}catch(e){}})();</script>\n  <link rel=\"stylesheet\" href=\"{{ base | safe }}/docgen.css\" />\n  <link rel=\"stylesheet\" href=\"{{ base | safe }}/code.css\" />\n</head>\n{% macro render_nodes(nodes, depth) %}\n<ul class=\"docgen-tree\" data-depth=\"{{ depth }}\">\n  {% for node in nodes %}\n    {% if node.kind == \"dir\" %}\n      <li class=\"docgen-tree__group\">\n        <details class=\"docgen-tree__details\" open>\n          <summary class=\"docgen-tree__summary\"><span class=\"docgen-tree__chev\" aria-hidden=\"true\"></span>{{ node.name }}</summary>\n          {{ render_nodes(node.children, depth + 1) }}\n        </details>\n      </li>\n    {% else %}\n      <li class=\"docgen-tree__item{% if node.slug == slug %} is-active{% endif %}\">\n        <a class=\"docgen-tree__link\" href=\"{{ base | safe }}/{{ node.slug | safe }}\"{% if node.slug == slug %} aria-current=\"page\"{% endif %}>{{ node.title }}</a>\n      </li>\n    {% endif %}\n  {% endfor %}\n</ul>\n{% endmacro %}\n<body class=\"docgen-app\" x-data=\"{ navOpen: false }\" @keydown.escape.window=\"navOpen=false\">\n  <a class=\"docgen-skip-link\" href=\"#docgen-main\">Skip to content</a>\n  <header class=\"docgen-topbar\">\n    <a class=\"docgen-topbar__brand\" href=\"{{ base | safe }}/\">\n      <span class=\"docgen-brand-mark\" aria-hidden=\"true\"></span>\n      <span class=\"docgen-brand-name\">{% if site_title %}{{ site_title }}{% else %}Docs{% endif %}</span>\n    </a>\n    <div class=\"docgen-topbar__main\">\n      {% if search_enabled %}\n      <button class=\"docgen-search-trigger\" data-docgen-search>\n        <svg class=\"docgen-search-trigger__icon\" viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"M21 21l-4.3-4.3\"/></svg>\n        <span class=\"docgen-search-trigger__label\">Search pages, headings, Rust refs\u{2026}</span>\n        <kbd class=\"docgen-kbd\">\u{2318}K</kbd>\n      </button>\n      {% endif %}\n      <div class=\"docgen-topbar__actions\">\n        <div class=\"docgen-btn-strip\" role=\"group\" aria-label=\"Layout\">\n          {% if has_diff %}\n          <a class=\"docgen-ctl--diff icon-only\" href=\"{{ base | safe }}/diff\" aria-label=\"Show documentation diff\" title=\"Show documentation diff\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M6 4v16M18 4v16\"/><path d=\"M9 8h6M9 16h6M12 5v6M12 13v6\"/></svg>\n          </a>\n          {% endif %}\n          <button type=\"button\" class=\"docgen-ctl--fullwidth icon-only\" aria-pressed=\"false\" aria-label=\"Toggle full page width\" title=\"Toggle full page width\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M8 3H3v5M16 3h5v5M21 16v5h-5M3 16v5h5\"/></svg>\n          </button>\n          <button type=\"button\" class=\"docgen-ctl--rail icon-only\" aria-pressed=\"true\" aria-label=\"Toggle page info\" title=\"Toggle page info\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16M4 12h16M4 18h16\"/></svg>\n          </button>\n        </div>\n        <div class=\"docgen-theme-toggle\" x-data=\"docgenThemeToggle\" role=\"tablist\" aria-label=\"Theme\">\n          <button type=\"button\" class=\"docgen-theme-toggle__btn\" :class=\"{ \'is-active\': theme===\'dark\' }\" :aria-pressed=\"theme===\'dark\'\" @click=\"set(\'dark\')\" aria-label=\"Dark\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z\"/></svg>\n          </button>\n          <button type=\"button\" class=\"docgen-theme-toggle__btn\" :class=\"{ \'is-active\': theme===\'light\' }\" :aria-pressed=\"theme===\'light\'\" @click=\"set(\'light\')\" aria-label=\"Light\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"/></svg>\n          </button>\n        </div>\n        <button class=\"docgen-sidebar-toggle\" aria-label=\"Toggle navigation\" aria-controls=\"docgen-sidebar\" :aria-expanded=\"navOpen ? \'true\' : \'false\'\" @click=\"navOpen=!navOpen\">\n          <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 6h18M3 12h18M3 18h18\"/></svg>\n        </button>\n      </div>\n    </div>\n  </header>\n  <div class=\"docgen-sidebar-backdrop\" x-show=\"navOpen\" @click=\"navOpen=false\" x-cloak></div>\n  <div class=\"docgen-layout\">\n    <nav class=\"docgen-sidebar\" id=\"docgen-sidebar\" :class=\"{ \'is-open\': navOpen }\">\n      {{ render_nodes(tree, 0) }}\n    </nav>\n    <div class=\"docgen-rail-resizer\" role=\"separator\" aria-orientation=\"vertical\" aria-label=\"Resize sidebar\" tabindex=\"-1\"></div>\n    <main class=\"docgen-content docgen-graph-page\" id=\"docgen-main\" tabindex=\"-1\">\n      <article class=\"docgen-doc-content\">\n        <h1>Doc graph</h1>\n        <p class=\"docgen-graph__meta\">{{ node_count }} nodes &middot; {{ edge_count }} links</p>\n        <div class=\"docgen-graph\" x-data=\"docgenGraph\">\n          <svg class=\"docgen-graph__svg\" viewBox=\"0 0 1420 760\" preserveAspectRatio=\"xMidYMid meet\" role=\"img\" aria-label=\"Document link graph\"></svg>\n        </div>\n        <script type=\"application/json\" id=\"docgen-graph-data\">{{ graph_json | safe }}</script>\n      </article>\n    </main>\n    <aside class=\"docgen-rail\"></aside>\n  </div>\n  {% if search_enabled %}\n  <script src=\"{{ base | safe }}/search.js\" defer></script>\n  {% endif %}\n  <!-- island infra: bootstrap defines the registry; the graph island self-registers; Alpine starts last -->\n  <script>window.DOCGEN_BASE = {{ base | tojson | safe }};</script>\n  <script src=\"{{ base | safe }}/bootstrap.js\"></script>\n  <script src=\"{{ base | safe }}/islands/theme-toggle.js\"></script>\n  <script src=\"{{ base | safe }}/islands/layout.js\"></script>\n  <script src=\"{{ base | safe }}/islands/wikilink.js\"></script>\n  <script src=\"{{ base | safe }}/islands/graph.js\"></script>\n  <script src=\"{{ base | safe }}/vendor/alpine/alpine.min.js\" defer></script>\n</body>\n</html>\n";
Expand description

The built-in /graph/ doc-link-graph template, embedded at compile time.