diff --git a/docs/_stylesheets/filter_tool.css b/docs/_stylesheets/filter_tool.css index a4203eea..c2bbb481 100644 --- a/docs/_stylesheets/filter_tool.css +++ b/docs/_stylesheets/filter_tool.css @@ -82,15 +82,63 @@ background: var(--filter-soft); } -.filter-example-primer p { +.filter-example-primer > p { margin: 0; color: color-mix(in srgb, var(--md-default-fg-color) 76%, transparent); font-size: 0.72rem; line-height: 1.45; } -.filter-example-primer p + p { - margin-top: 0.35rem; +.filter-primer-tables { + display: grid; + grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); + gap: 0.6rem; + align-items: start; + margin-top: 0.5rem; +} + +.filter-primer-table { + width: 100%; + margin: 0 !important; + border-collapse: collapse; + border: 1px solid var(--filter-border); + background: var(--md-default-bg-color); + font-size: 0.68rem; + line-height: 1.35; +} + +.filter-primer-table caption { + padding: 0 0 0.3rem; + color: var(--md-default-fg-color); + font-size: 0.7rem; + font-weight: 800; + text-align: left; +} + +.filter-primer-table th, +.filter-primer-table td { + padding: 0.32rem 0.4rem; + border: 1px solid var(--filter-border); + text-align: left; + vertical-align: top; +} + +.filter-primer-table th { + background: var(--filter-soft); + font-weight: 800; +} + +.filter-primer-table th:first-child, +.filter-primer-table td:first-child { + width: 38%; +} + +.filter-primer-table code { + white-space: nowrap; +} + +.filter-example-primer > .filter-primer-note { + margin-top: 0.45rem; } .filter-example-grid { @@ -743,6 +791,10 @@ } @media (max-width: 62rem) { + .filter-primer-tables { + grid-template-columns: 1fr; + } + .filter-tool-grid { grid-template-columns: 1fr; } diff --git a/docs/filter_tool.md b/docs/filter_tool.md index 2e5518fe..79d7c7ea 100644 --- a/docs/filter_tool.md +++ b/docs/filter_tool.md @@ -42,22 +42,42 @@ in the simulator below. The examples draw from
Read each summary as when all conditions match,
do the actions. A match alone does not stop forwarding.
- hops=3+ means the rule applies at a received hop count of
- three or more.
- type=grp_data matches one payload type.
- type=any matches every payload.
- type=class:group matches group text and data;
- type=class:login matches REQ, RESPONSE, TXT_MSG, ANON_REQ,
- and PATH; type=class:other matches everything else.
-
- channel=, rx.scope=, path=, and
- tempradio= further narrow a match. After do,
- drop prevents retransmission, scope= sets the
- outgoing transport scope, rate= limits matches per minute,
- and timing= selects the schedule.
+
type= value | Matches |
|---|---|
grp_data | Only the named payload type |
any | Every payload type |
class:group | GRP_TXT and GRP_DATA |
class:login | REQ, RESPONSE, TXT_MSG, ANON_REQ, and PATH |
class:other | Every remaining payload type |
| Field | Meaning |
|---|---|
hops= | Received hop count: all, 3+, 2-6, or 3 |
channel= | Group channel |
rx.scope= | Original incoming transport scope |
path= | Path prefix, blacklist, bucket, or loop match |
tempradio= | Temporary-radio state |
do drop | Do not retransmit |
do scope= | Set the outgoing transport scope |
do rate= | Apply a per-minute rate and burst |
do timing= | Select fast, normal, or slow scheduling |
+ There is no class:txt. Use type=grp_txt for
+ channel text or type=txt_msg for peer text.