diff --git a/docs/architecture/index.html b/docs/architecture/index.html
index 36b9e53..896d279 100644
--- a/docs/architecture/index.html
+++ b/docs/architecture/index.html
@@ -50,7 +50,12 @@
A service notifies other services about state changes by sending them signal SIGUSR1
.
Configuration files
-
+
+
+
+
+
+
+
+
State files
-
+
+
+
+
+
+
File |
@@ -113,8 +125,15 @@
+
+
Available ports
-
+
+
+
+
+
+
+
+
Here’s an example of cmd/diagd
output:

diff --git a/website/content/architecture.md b/website/content/architecture.md
index 165c64f..7475691 100644
--- a/website/content/architecture.md
+++ b/website/content/architecture.md
@@ -18,23 +18,28 @@ The individual services can be found in [github.com/rtr7/router7/cmd](https://pk
## Configuration files
+{{}}
| File | Consumer(s) | Purpose |
|---|---|---|
| `/perm/interfaces.json` | `netconfigd` | Set IP/MAC addresses of `uplink0` and `lan0` |
| `/perm/portforwardings.json` | `netconfigd` | Configure nftables port forwarding rules |
| `/perm/dhcp6/duid` | `dhcp6` | Set DHCP Unique Identifier (DUID) for obtaining static leases |
+{{
}}
## State files
+{{}}
| File | Producer | Consumer(s) | Purpose |
|---|---|---|---|
| `/perm/dhcp4/wire/ack` | `dhcp4` | `dhcp4` | last DHCPACK packet for renewals across restarts |
| `/perm/dhcp4/wire/lease.json` | `dhcp4` | `netconfigd` | Obtained DHCPv4 lease |
| `/perm/dhcp6/wire/lease.json` | `dhcp6` | `netconfigd`, `radvd` | Obtained DHCPv6 lease |
| `/perm/dhcp4d/leases.json` | `dhcp4d` | `dhcp4d`, `dnsd` | DHCPv4 leases handed out (including hostnames) |
+{{
}}
## Available ports
+{{}}
| Port | Purpose |
|---|---|
| `:8053` | `dnsd` metrics (forwarded requests)
@@ -46,6 +51,7 @@ The individual services can be found in [github.com/rtr7/router7/cmd](https://pk
| `:8077` | `backupd` (serve backup.tar.gz)
| `:7733` | `diagd` (perform diagnostics)
| `:5022` | `captured` (serve captured packets)
+{{
}}
Here’s an example of `cmd/diagd` output:
diff --git a/website/layouts/shortcodes/table.html b/website/layouts/shortcodes/table.html
new file mode 100644
index 0000000..c1dab56
--- /dev/null
+++ b/website/layouts/shortcodes/table.html
@@ -0,0 +1,6 @@
+{{ $htmlTable := .Inner | markdownify }}
+{{ $class := .Get 0 }}
+{{ $old := "" }}
+{{ $new := printf "" $class }}
+{{ $htmlTable := replace $htmlTable $old $new }}
+{{ $htmlTable | safeHTML }}