docs: reorganise supported hardware page (#3363)

* docs: supported hardware structure changes

Added a few links to hardware intergration pages to provide clearly signal to reader "you can make your own".
Removed "Contributing" section since it's not really relavent anymore.

* docs: move unsupported boards section out of metadata

* address review comments

* fix broken link

* board variants, interconnect, fix link, move unsupported section

* Apply suggested change

Co-authored-by: Nicolas Munnich <98408764+nmunnich@users.noreply.github.com>

---------

Co-authored-by: Nicolas Munnich <98408764+nmunnich@users.noreply.github.com>
This commit is contained in:
Genteure 2026-06-08 00:45:31 +08:00 committed by GitHub
parent 773dec58ea
commit ff09f2d0c9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 54 additions and 41 deletions

View file

@ -84,6 +84,34 @@ function HardwareList({ items }: HardwareListProps) {
return (
<>
<section>
<Heading as="h2" id="composite">
Composite Keyboards
</Heading>
<p>
Composite keyboards are composed of two main PCBs: a small controller{" "}
<strong>board</strong> with exposed pads, and a larger keyboard PCB (a{" "}
<strong>shield</strong>, in ZMK lingo) with switch footprints. The
board and shield share the same <strong>interconnect</strong>{" "}
standard, which defines the physical and electrical specifications for
the PCB-to-PCB connection.
</p>
<p>
Boards and shields that share the same interconnect are usually
compatible with each other but not always. Check hardware
compatibility before connecting them.
</p>
<p>
Designing a custom composite keyboard with an off-the-shelf controller
board? Check out the{" "}
<a href="/docs/hardware-integration/new-shield">
New Keyboard Shield
</a>{" "}
guide.
</p>
{Object.values(grouped.interconnects).map(mapInterconnect)}
</section>
<section>
<Heading as="h2" id="onboard">
Onboard Controller Keyboards
@ -93,6 +121,10 @@ function HardwareList({ items }: HardwareListProps) {
the components of a keyboard, including the controller chip, switch
footprints, etc.
</p>
<p>
Designing a custom keyboard with an onboard controller? Check out the{" "}
<a href="/docs/hardware-integration/new-board">New Board</a> guide.
</p>
<ul>
{grouped["onboard"]
.sort((a, b) => a.name.localeCompare(b.name))
@ -101,19 +133,6 @@ function HardwareList({ items }: HardwareListProps) {
))}
</ul>
</section>
<section>
<Heading as="h2" id="composite">
Composite Keyboards
</Heading>
<p>
Composite keyboards are composed of two main PCBs: a small controller
board with exposed pads, and a larger keyboard PCB (a shield, in ZMK
lingo) with switch footprints and a location where the controller is
added. This location is called an interconnect. Multiple interconnects
can be found below.
</p>
{Object.values(grouped.interconnects).map(mapInterconnect)}
</section>
</>
);
}