Use the guide card style for every documentation index section

This commit is contained in:
root committed 2026-10-14 12:34:04 +00:00
1 parent d3158a5d06
commit d412be5d4d
3 files changed
+22 -6

No files matched your search

+1 -1
View File
@@ -371,7 +371,7 @@ def write_index_component(pages: list[dict]) -> None:
section_pages = pages_of_kind(pages, kind)
if not section_pages:
continue
class_name = "capy-guide-index" if kind == "guide" else "doc-list-section"
class_name = "capy-guide-index"
grid_class = "capy-guide-grid" if kind in {"guide", "how-to"} else "func-grid"
item_class = "capy-guide-card" if kind in {"guide", "how-to"} else "func-item"
lines.append(" print(\"<section class=\\\"" + class_name + "\\\"><h2>" + title + "</h2><div class=\\\"" + grid_class + "\\\">\")")
+17 -1
View File
@@ -1,10 +1,26 @@
#!/usr/bin/env python3
from pathlib import Path
import tempfile
import unittest
from unittest.mock import patch
from generate_capy_docs import detail_html, read_signature_data
from generate_capy_docs import SECTION_DEFINITIONS, detail_html, read_signature_data, write_index_component
class DocumentationGeneratorTests(unittest.TestCase):
def test_index_sections_share_the_guide_card_style(self):
page = {"route": "/doc/test/", "label": "Test", "title": "Test", "kind": "api"}
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
(root / "components").mkdir()
with patch("generate_capy_docs.DOC", root), patch("generate_capy_docs.pages_of_kind", return_value=[page]):
write_index_component([])
source = (root / "components/index.capy").read_text()
self.assertEqual(source.count('section class=\\"capy-guide-index\\"'), len(SECTION_DEFINITIONS))
self.assertNotIn('section class=\\"doc-list-section\\"', source)
self.assertIn('class=\\"func-grid\\"', source)
self.assertIn('class=\\"capy-guide-grid\\"', source)
def test_reads_call_boundary_from_generated_signature(self):
data = 'struct DocCapySignature { std::string_view page, declaration, boundary; };\n'
data += '\t{"hosted", "function hosted() bool", "host"},\n'
+4 -4
View File
@@ -12,7 +12,7 @@ function COMPONENT(props : dval)
{
print("<div class=\"api-reference-heading\"><h2>API Reference</h2><p>Bearer APIs available to Capy units.</p></div>")
print("<form class=\"search-bar\" action=\"/doc/search/\" method=\"get\"><input id=\"doc-search\" name=\"q\" type=\"search\" aria-label=\"Search documentation\" placeholder=\"Search documentation…\" autocomplete=\"off\" spellcheck=\"false\"></input><button type=\"submit\">Search</button></form>")
print("<section class=\"doc-list-section\"><h2>API Functions</h2><div class=\"func-grid\">")
print("<section class=\"capy-guide-index\"><h2>API Functions</h2><div class=\"func-grid\">")
print("<div class=\"func-item\">");
link("/doc/api/abs/", "abs", "api");
print("</div>")
@@ -737,7 +737,7 @@ function COMPONENT(props : dval)
link("/doc/api/zip-read/", "zip_read", "api");
print("</div>")
print("</div></section>")
print("<section class=\"doc-list-section\"><h2>Types</h2><div class=\"func-grid\">")
print("<section class=\"capy-guide-index\"><h2>Types</h2><div class=\"func-grid\">")
print("<div class=\"func-item\">");
link("/doc/type/array/", "array", "type");
print("</div>")
@@ -793,7 +793,7 @@ function COMPONENT(props : dval)
link("/doc/type/u8/", "u8", "type");
print("</div>")
print("</div></section>")
print("<section class=\"doc-list-section\"><h2>Handlers</h2><div class=\"func-grid\">")
print("<section class=\"capy-guide-index\"><h2>Handlers</h2><div class=\"func-grid\">")
print("<div class=\"func-item\">");
link("/doc/handler/cli/", "CLI", "handler");
print("</div>")
@@ -819,7 +819,7 @@ function COMPONENT(props : dval)
link("/doc/handler/ws/", "WS", "handler");
print("</div>")
print("</div></section>")
print("<section class=\"doc-list-section\"><h2>How-to</h2><div class=\"capy-guide-grid\">")
print("<section class=\"capy-guide-index\"><h2>How-to</h2><div class=\"capy-guide-grid\">")
print("<div class=\"capy-guide-card\">");
link("/doc/how-to/neovim-editor-setup/", "Set up Capy in Neovim", "how-to");
print("</div>")