Jump to content

User:DoggoBit/Sandbox/Infobox board

From NixOS Wiki

Raspberry Pi 5

Manufacturer Raspberry Pi Foundation
Architecture AArch64
Support status Limited community efforts
Technical information
SoC BCM2712

An infobox to be used on board-specific pages, e.g. NixOS_on_ARM/Raspberry_Pi_5.

Usage

{{Infobox board
  |title=Raspberry Pi 5
  |image=Raspberry_Pi_5,_8_GB_RAM.jpg
  |manufacturer=Raspberry Pi Foundation
  |architecture=AArch64
  |support-status=Limited community efforts
  |soc=BCM2712
  |footer=[[NixOS on ARM|Development Board]]
}}

Implementation details

The "logical" elements of the box are also captured via CSS classes, so any styles could be incorporated into the website's MediaWiki:common.css. Each element has two classes: nix-wiki and infobox-something.

All CSS properties are implemented via variables, so style inheritance would apply if the styles would be moved into the global CSS. I.e. surrounding the template in a div that overrides any one of the values will propagate the changes. For example:

<div style="--infobox-color: green;">
  {{Infobox board
    ...
  }}
</div>

In the meantime, the CSS variables can also be set via MediaWiki variables, so we could easily implement something like:

{{Infobox board
  |color=green
  ...
}}

I would personally love to top-align the content cells, so that we don't get the staggered lines on multi-line cells, but that would be a lot of manual work now, and would result in an overly complicated template. However, it should be a common.css one-liner.