Skip to content

Add a glossary to the Docs#3536

Open
MTRNord wants to merge 11 commits into
mainfrom
MTRNord/glossary
Open

Add a glossary to the Docs#3536
MTRNord wants to merge 11 commits into
mainfrom
MTRNord/glossary

Conversation

@MTRNord

@MTRNord MTRNord commented Jul 15, 2026

Copy link
Copy Markdown
Member

Description

This fixes #2262 while hopefully not ending up in another unmaintained FAQ :)

grafik

Related issues

#2262

(also mildly related to #3534 and #3518 since this is cherry picked from the same local branch I have for all this work)

Role

Website & Content WG

Timeline

Whenever

Signoff

Please sign off your individual commits.

Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
@MTRNord
MTRNord requested a review from a team as a code owner July 15, 2026 10:27
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
@MTRNord
MTRNord force-pushed the MTRNord/glossary branch from 0791ab0 to 7a67cab Compare July 15, 2026 10:40
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 15, 2026

Copy link
Copy Markdown

Deploying matrix-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: ec2b00e
Status: ✅  Deploy successful!
Preview URL: https://77e407bc.matrix-website.pages.dev
Branch Preview URL: https://mtrnord-glossary.matrix-website.pages.dev

View logs

Comment thread navigation.toml
title = "Docs"
href = "/docs/"

[[header.children]]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spicy, at this point we should probably add all the docs sections (except legacy?)

Comment thread templates/docs/glossary.html
Comment thread templates/docs/glossary.html Outdated
Comment thread templates/docs/glossary.html Outdated
Comment thread templates/docs/glossary.html Outdated
Comment thread content/docs/glossary/terms.toml Outdated
Comment thread content/docs/glossary/terms.toml
Comment thread content/docs/glossary/terms.toml Outdated
term = "Matrix ID"
category = "Core concepts"
aliases = ["MXID", "User ID"]
definition = "A user's identifier, made up of a local part and the domain of their homeserver, written as `@username:example.com`. Pronounced \"at username on example dot com\"."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can get removed from branding then

Comment thread content/docs/glossary/terms.toml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/branding should probably inherit this layout. can be a followup pr

@HarHarLinks HarHarLinks added missing content Something that would be expected to exist is missing. enhancement This would be an improvement to the website. labels Jul 15, 2026
MTRNord added 6 commits July 15, 2026 13:01
Switches terms.toml from a flat [[terms]] array with a category string field
to one [[terms.<category>]] array per category (terms.core, terms.security,
terms.trust_safety, terms.governance), and updates the template to read the
new shape.

Also fixes the category display order along the way: group_by(attribute=
"category") in the old template produced whatever order Tera's grouping
happened to yield, not a meaningful one (Trust & Safety was first). Tera has
no map literals to build a sorted {label, terms} list dynamically, so the
template now uses two parallel arrays (category_labels/category_keys) kept
in alphabetical order by hand instead.

Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Each term now gets a stable id="term-<slug>" and a "#" permalink next to its
name (revealed on hover/focus, same idea as the client-card anchor links
elsewhere), so a specific definition can be linked to directly instead of
only the page as a whole.

Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
A plain h2 on white didn't read as a section boundary at a glance across
two dozen+ terms in 4 categories. Gives the sticky category heading a subtle
background tint (the same --color-bg-tint used by the docs sidebar
elsewhere) and bold weight, without changing its structure - kept
deliberately small since an earlier, more decorative attempt (bordered card
wrapper, coloured accent bar) ended up reading like a different site's
design language entirely.

Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
- Rename "Matrix ID" to "Matrix user ID" per review, keeping "Matrix ID" as
  an alias alongside MXID/User ID - matches how the term is actually used
  in running text more often than as a standalone noun.
- Give "Spec Core Team" a learn_more link to its section on /foundation/about/.

Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
vodozemac is the Rust library implementing Matrix's E2EE ratchets (Olm and
Megolm), replacing the deprecated libolm - a better fit for the glossary than
the branding page's spelling/pronunciation table. Carries over both links
from the original branding.md row (the Croatian dictionary entry for
"vodozémac" and the YouTube pronunciation clip).

Definitions are now rendered as inline markdown (`| markdown(inline=true) |
safe`) instead of plain escaped text, so those links (and the existing
`code`-style backticks used by a few other terms) actually render.

Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Comment thread sass/_glossary.scss
}

// Only reveal the "#" permalink on hover/focus - it's a bonus for
// sighted mouse/keyboard users linking to a term, not something that

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rip mobile users

@HarHarLinks HarHarLinks Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe just reveal this always while in mobile view. make sure the touch area is big enough.

{% if term.aliases %}
<span class="glossary-aliases">({{ term.aliases | join(sep=", ") }})</span>
{% endif %}
<a href="#{{ term_id }}" class="glossary-term-anchor" aria-label="Link to {{ term.term }}">#</a>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a problem everywhere, but jumping to this anchor needs an offset considering the navbar etc:
image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uhhhh it does have one 🤔

Screensizes strike again...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i could imagine trying to scroll it to the middle would be a valid workaround? if that is even possible.

it could also be an idea to put a highlighting frame something around the currently selected term.

Comment thread content/branding.md
Comment on lines 43 to 44
| `#room:server.tld` | | Pronounced "[hash room on server dot tld](https://matrix.org/blog/wp-content/uploads/2014/09/Introducing-matrix.pdf)". |
| `@user:server.tld` | | Pronounced "[at user on server dot tld](https://matrix.org/blog/wp-content/uploads/2014/09/Introducing-matrix.pdf)". |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MXID is already transferred, room alias can be too?

Comment thread sass/_glossary.scss
top: var(--navbar-height);
margin: 0;
padding: 0.5rem 0;
background-color: var(--color-bg-tint);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm no i'm not convinced. that's not what i was looking for :/


[[terms.core]]
term = "Bridge"
definition = "A form of Application Service that relays messages between Matrix and a third-party chat platform (for example IRC, Slack, or Discord), so users on either side can talk to each other."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oooh i think we have definitions of more details like puppeting and portalling and stuff somewhere. probably terms that are worth appearing here even if the details are only behind a link

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think bridges being appservices is strictly speaking also incorrect. a bridge is a component that unpacks one message completely, incl possible decryption, and then sends it to another network. a protocol converter is a component that only converts the protocol around a message without need to decrypt. something slide 25 https://docs.google.com/presentation/d/1hxRlyJ6SD3zXb2MPGmfigB0s9Yj4dsWBMtctNPv06IA/edit?usp=sharing (yay obscure documents)

Comment thread sass/_glossary.scss Outdated
padding: 0.5rem 0;
background-color: var(--color-bg-tint);
border-bottom: 1px solid var(--color-border);
font-size: 1.1rem;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

MTRNord added 3 commits July 16, 2026 17:11
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement This would be an improvement to the website. missing content Something that would be expected to exist is missing.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move https://github.com/matrix-org/glossary into docs?

2 participants