Line cross sizes were calculated before children layout using placeholder estimates (20px), but never recalculated after items expanded. Added a post-layout recalculation pass (Step 9b) that updates stretched_line_cross_sizes from actual item dimensions before the container height is set in Step 10. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5.9 KiB
5.9 KiB
Investigation: MkDocs Wiki (twistdroach home wiki)
URL: http://wiki.home.twistdroach.com:8080 Last investigated: 2026-03-10
Summary
A MkDocs-generated documentation site using Bootstrap 5.3 for layout. The page has a top navbar, a left sidebar (table of contents), and main content with link lists organized by category. The overall structure is recognizable but a critical flex layout bug causes the footer to overlap main content, and several Bootstrap CSS custom properties fail to resolve.
Findings
F-001: Flex row container does not expand to contain children
- Status: Fixed (2026-03-10)
- Found: 2026-03-10
- Category: Layout
- Severity: High
- Description: The
.rowflex container (node #236) has a computed height of only 20px, despite its children being much taller — thecol-md-3sidebar is 226px tall and thecol-md-9main content is 1373px tall. The flex container should expand to the height of its tallest child. This causes the parent.containerdiv to also be undersized (400px instead of ~1373px), which cascades into the footer being mispositioned. - Evidence: Layout tree shows
.rowflex container:content: (40, 56, 720, 20)but its childcol-md-9div:content: (232, 56, 516, 1373.12). The flex container height (20) should be at least 1373.
F-002: Footer overlaps main content
- Status: Fixed (2026-03-10)
- Found: 2026-03-10
- Category: Layout
- Severity: High
- Description: The
<footer>element is positioned at y=486, which places it in the middle of the services link list. The<hr>renders at y=503 and "Documentation built with MkDocs." at y=523, overlapping with the "Video Game Collection" and nearby links. The footer should appear after all main content (~y=1429+). - Evidence: Footer layout:
content: (0, 486, 800, 73). Meanwhile, content continues below: "SyncThing" at y=570, "Immich" at y=594, "osse4" at y=1393. Display list shows footer text at y=523 interleaved with link text. - Suggested fix: This is a direct consequence of F-001. Fixing the flex container height expansion will resolve footer placement.
F-003: Undefined Bootstrap CSS custom properties (false alarm — not a bug)
- Status: Fixed (2026-03-10)
- Found: 2026-03-10
- Category: CSS Support
- Severity: Low
- Description: Investigation revealed these warnings are correct CSS behavior, not a bug. Three categories of warnings were analyzed: (1)
--bs-body-text-alignand--bs-nav-link-font-sizeare intentionally never defined in Bootstrap 5.3 — usingvar()with no fallback makes the declaration invalid at computed-value time, falling back to inherited/initial values (this is a deliberate Bootstrap pattern). (2)--bs-navbar-toggler-*and--bs-navbar-colorare defined on.navbarand properly inherited by the top-navbar's.navbar-togglerbutton. The warnings come from a second.navbar-togglerbutton in the sidebar (line 148 of HTML,class="navbar-toggler collapsed") which is NOT a descendant of.navbar, so it correctly does not inherit those scoped variables. (3) The:rootcustom property mechanism, inheritance chain, and var() substitution all work correctly — confirmed by unit tests with full Bootstrap CSS. - Evidence: Debug tracing confirmed warnings originate from
<button class="navbar-toggler collapsed">indiv.col-md-3 > div.bs-sidebar > div.navbar-header(outside.navbarscope). Unit tests with exact Bootstrap 5.3 CSS rules confirm.navbar-togglerinside.navbarcorrectly resolves all custom properties. - Note: The WARN-level log messages are noisy for what is expected CSS behavior. Consider downgrading
var()undefined-without-fallback warnings to DEBUG level.
F-004: position: fixed not applied to navbar
- Status: Open
- Found: 2026-03-10
- Category: CSS Support
- Severity: Medium
- Description: The navbar has Bootstrap's
.fixed-topclass which setsposition: fixed; top: 0. The navbar appears to remain in normal document flow (positioned at y=8 in the flow) rather than being fixed to the viewport top and removed from flow. At 800px viewport width (below Bootstrap's lg breakpoint of 992px), the navbar is collapsed anyway, so the visual impact is moderate — content is pushed down by the in-flow navbar rather than overlapping it. - Evidence: Navbar div (node #46):
content: (0, 8, 800, 20)withpadding: 8 0 8 0. Sidebar content begins at y=56, right after the navbar, suggesting it's in normal flow rather than fixed-positioned.
F-005: Font Awesome web fonts return 404
- Status: Open
- Found: 2026-03-10
- Category: Other
- Severity: Low
- Description: All FontAwesome TTF font files return HTTP 404 from the server. This is a server-side issue (missing font files), not a browser engine bug. The affected icons (search, arrow-left, arrow-right) are hidden inside the collapsed navbar at this viewport width, so there is no visible impact currently.
- Evidence:
font 'http://wiki.home.twistdroach.com:8080/webfonts/fa-brands-400.ttf' returned status 404 Not Found(repeated for fa-solid-900.ttf, fa-regular-400.ttf, fa-v4compatibility.ttf).
F-006: CSS counters() function not supported
- Status: Open
- Found: 2026-03-10
- Category: CSS Support
- Severity: Low
- Description: The CSS parser fails to parse
content: counters(section, ".") ". "used by Bootstrap's.list-group-numberedclass. Thecounters()function is not implemented. This has no visible impact on this page since no numbered list groups are present. - Evidence:
css parser: failed to parse value for 'content' [bootstrap.min.css byte 106513] near 'mbered>.list-group-item::before{content:counters(section, ".") ". ";counter-incr'
Stats
| Status | High | Medium | Low | Total |
|---|---|---|---|---|
| Open | 0 | 1 | 2 | 3 |
| Fixed | 2 | 0 | 1 | 3 |