Private
Public Access
Use the guide card style for every documentation index section
This commit is contained in:
1 parent
d3158a5d06
commit
d412be5d4d
3 files changed
+22
-6
No files matched your search
@@ -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 + "\\\">\")")
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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>")
|
||||
|
||||
Reference in new issue
Block a user