From dd29ae4ccb8d801899690528ffc181c2d81acba2 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Fri, 7 Aug 2026 17:16:57 +0200 Subject: [PATCH] pkgs/nixos-render-docs: fix included content should be 'page' to avoid class collisions --- doc/style.css | 3 ++- .../nixos-render-docs/src/nixos_render_docs/manual.py | 10 +++++----- .../src/nixos_render_docs/manual_structure.py | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/style.css b/doc/style.css index 5ca664ed61f7..042c3f42de82 100644 --- a/doc/style.css +++ b/doc/style.css @@ -465,7 +465,8 @@ div.appendix .variablelist .term { font-display: swap; } -.chapter { +div.chapter, +div.page { content-visibility: auto; } diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py index 551465ad4881..66f65c85df18 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py @@ -236,7 +236,7 @@ class RendererMixin(Renderer): 'included_preface': lambda *args: self._included_thing("preface", *args), 'included_parts': lambda *args: self._included_thing("part", *args), 'included_appendix': lambda *args: self._included_thing("appendix", *args), - 'included_content': lambda *args: self._included_thing("content", *args), + 'included_page': lambda *args: self._included_thing("page", *args), 'included_options': self.included_options, } @@ -396,7 +396,7 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer): intersection_observer_js = """ // Token: included = [self._build_config_item(node, config_file) for node in nodes] - token = Token('included_content', '', 0, map=[0, 1]) + token = Token('included_page', '', 0, map=[0, 1]) token.meta['included'] = included token.meta['include-args'] = {} return token @@ -749,7 +749,7 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]): path = (config_file.parent / node.file).resolve() leaf_src = path.read_text() self._base_paths.append(path) - self._current_type.append('content') + self._current_type.append('page') try: fragment = self._parse(leaf_src) finally: @@ -884,7 +884,7 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]): title_html = ( f"{title_html}" if typ == 'chapter' - else title_html if typ in [ 'book', 'part', 'content' ] + else title_html if typ in [ 'book', 'part', 'page' ] else f'the section called “{title_html}”' ) return XrefTarget(id, title_html, toc_html, re.sub('<.*?>', '', title), path, drop_fragment) diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual_structure.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual_structure.py index 204b5aa9b933..56b122918285 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual_structure.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual_structure.py @@ -15,8 +15,8 @@ FragmentType = Literal['preface', 'part', 'chapter', 'section', 'appendix'] # the TOC allows every fragment type. it also allows the enclosing book. # it allows 'example' and 'figure'. -# --experimental-config adds a generic 'content' kind. -TocEntryType = Literal['book', 'preface', 'part', 'chapter', 'section', 'appendix', 'example', 'figure', 'content'] +# --experimental-config adds a generic 'page' kind. +TocEntryType = Literal['book', 'preface', 'part', 'chapter', 'section', 'appendix', 'example', 'figure', 'page'] def is_include(token: Token) -> bool: return token.type == "fence" and token.info.startswith("{=include=} ")