Skip to content

docs: S23.22 style the documentation tables, and stop Core naming a platform - #765

Merged
DavidCozens merged 1 commit into
mainfrom
docs/table-styling
Aug 14, 2026
Merged

docs: S23.22 style the documentation tables, and stop Core naming a platform#765
DavidCozens merged 1 commit into
mainfrom
docs/table-styling

Conversation

@DavidCozens

@DavidCozens DavidCozens commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Purpose

Part of #708. The table presentation raised on seeing the built site — too much
white space, text too small, long identifiers badly wrapped — plus the last
finding from the narrowed Batch 6 comment pass.

Change Description

Tables. brand.css carried no table rule at all, so this was unstyled rather
than badly styled and Material's defaults were running: .64rem text with
.9375em 1.25em padding. Now 0.9em text, 0.5em 0.8em padding, 4rem header
minimum, and code set at .85em so an identifier column is no wider than it needs
to be. Chosen by comparing rendered variants of a real table on the built site,
not by picking numbers.

Two decisions worth recording, both visible in the CSS comments:

Sized in em, not Material's rem. Material scales its rem root with the
viewport — 125%, 137.5% past 100em, 150% past 125em — while .md-typeset pins
body text at a fixed 16px. A rem-sized table therefore renders 14.4px, 15.8px or
17.3px depending on window width, and on a wide monitor is larger than the prose
around it. At 0.9em it is 14.4px at every width. This is the same trap the
headings and the logo in that file already document, and they resolved it the same
way.

The wrap fix is on the code span, not the cell. Identifiers were breaking
mid-token because a hyphen is a wrap opportunity, not because of any word
rule. white-space: nowrap on the first cell would have been wrong: 145 of the
285 first cells in the documentation are multi-word or mixed, so the majority
would have become one long unwrappable line. Scoped to the code span, a lone
identifier stays whole while prose still wraps at its spaces. Scoped to the first
column, because a later column can carry a long unbroken run — the SPDX licence
expression in security/sbom.md is one.

SolidSyslogBlockStore.h. The threshold-callback gotcha offered
SolidSyslogPosixMessageQueueBuffer as the way to avoid re-entering Log. The
hazard is Core's to state, but naming one platform's buffer as the example is the
coupling we do not allow: the eleventh platform never gets added to that list.
"A Buffer that returns rather than sending inline" already says it.

Test Evidence

  • mkdocs build --strict exit 0.
  • Rendered variants compared on the running site against the current styling, on
    a large monitor and on mobile, across ci.md and a selection of other
    table-heavy pages. The scratch comparison page and its page_descriptions.py
    entry were deleted once the numbers were settled; neither is in this branch.
  • clang-format --dry-run --Werror on the changed header: clean. The edit is
    comment-only and line-count neutral, so misra_suppressions.txt is unaffected
    and no renumber was needed.

Areas Affected

docs/assets/stylesheets/brand.css — affects every table on the published site.
One comment-only change to a public header, which changes its generated API page.
No production logic changes.

Summary by CodeRabbit

  • Documentation
    • Clarified guidance for threshold callbacks by using a general Buffer reference instead of a specific implementation example.

…latform

The tables were unstyled rather than badly styled: brand.css carried no table
rule at all, so Material's defaults ran -- .64rem text with .9375em 1.25em
padding, which reads as small type adrift in white space. Bigger text, roughly
half the vertical padding, a narrower header minimum.

Sized in em, not Material's rem, for the reason the headings in the same file
are fixed px: Material scales its rem root with the viewport while .md-typeset
pins body text at 16px, so a rem table outgrows the prose around it on a wide
monitor.

Long identifiers were breaking mid-token because a hyphen is a wrap
opportunity, not because of any word rule. Fixed on the code span rather than
the cell -- most first cells are prose, or prose mixed with code, and those
must still wrap at their spaces -- and scoped to the first column, because a
later one can carry a long unbroken run such as the SPDX licence expression.

Separately, the BlockStore threshold callback offered one platform's buffer as
the way to avoid re-entering Log. The hazard is Core's to state; the example
was not, and the eleventh platform would never have been added to it.

Part of #708
@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: f6687066-c40f-46e7-b488-71af022b7315

📥 Commits

Reviewing files that changed from the base of the PR and between 172c59c and 5df3a1a.

⛔ Files ignored due to path filters (1)
  • docs/assets/stylesheets/brand.css is excluded by !docs/assets/**
📒 Files selected for processing (1)
  • Core/Interface/SolidSyslogBlockStore.h

Walkthrough

The change updates one documentation line in SolidSyslogBlockStore.h. It replaces a concrete buffer implementation name with the generic Buffer term in threshold-callback recursion guidance. No public declarations change.

Changes

Threshold callback documentation

Layer / File(s) Summary
Generalise returning Buffer guidance
Core/Interface/SolidSyslogBlockStore.h
The recursion guidance now refers to a returning Buffer without naming SolidSyslogPosixMessageQueueBuffer.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Mergeability Score: ⚪ Minimal · up to 5df3a

This PR only adjusts documentation table styling and clarifies a public header comment; the reported checks pass, and no actionable merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies both primary changes: documentation table styling and removal of platform-specific Core naming.
Description check ✅ Passed The description includes all required sections and provides clear rationale, affected areas, and test evidence.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/table-styling

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

☀️   Quality Summary

   JUnit   build-linux-gcc (Whole Project): ✅ successful — 1531 passed
   JUnit   build-freertos-host-tdd-plustcp (Whole Project): ✅ successful — 1883 passed
   JUnit   build-linux-clang (Whole Project): ✅ successful — 1462 passed
   JUnit   sanitize-linux-gcc (Whole Project): ✅ successful — 1462 passed
   JUnit   integration-linux-openssl (Whole Project): ✅ successful — 16 passed
   JUnit   integration-linux-mbedtls (Whole Project): ✅ successful — 14 passed
   JUnit   integration-windows-openssl (Whole Project): ✅ successful — 16 passed
   JUnit   bdd-linux-syslog-ng (Whole Project): ✅ successful — 49 passed, 3 skipped
   JUnit   bdd-windows-otel (Whole Project): ✅ successful — 46 passed, 6 skipped
   JUnit   bdd-freertos-qemu-plustcp (Whole Project): ✅ successful — 45 passed, 7 skipped
   JUnit   bdd-freertos-qemu-lwip (Whole Project): ✅ successful — 45 passed, 7 skipped
   JUnit   build-windows-msvc (Whole Project): ✅ successful — 1304 passed
   JUnit   build-linux-tunable-override (Whole Project): ✅ successful — 1462 passed
   ⚠️   Clang-Tidy (Whole Project): No warnings
   ⚠️   CPPCheck (Whole Project): No warnings


Created by Quality Monitor v4.15.0 (#82d77af). More details are shown in the GitHub Checks Result.

@DavidCozens
DavidCozens marked this pull request as ready for review August 13, 2026 17:12
@DavidCozens
DavidCozens merged commit 0b38e58 into main Aug 14, 2026
38 checks passed
@DavidCozens
DavidCozens deleted the docs/table-styling branch August 14, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant