-
-
Notifications
You must be signed in to change notification settings - Fork 462
Add a glossary to the Docs #3536
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 2 commits
2eada0a
7a67cab
420d60a
e4b3ae7
bcd021b
c91c78f
404c897
ccb30ad
a5cf8ca
72047cd
ec2b00e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| +++ | ||
| title = "Glossary" | ||
| weight = 500 | ||
| template = "docs/glossary.html" | ||
| [extra] | ||
| tile = "Definitions for the words and acronyms used across Matrix" | ||
| meta_description = "Definitions for the terms, jargon, and acronyms used across Matrix and The Matrix.org Foundation." | ||
| updated = "2026-07-15T00:00:00Z" | ||
| +++ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,158 @@ | ||
| # Glossary entries shown on /docs/glossary/. | ||
| # | ||
| # To add a term, append a new [[terms]] block below (alphabetical order isn't | ||
| # required - the page sorts them itself). Only `term` and `definition` are | ||
| # required. | ||
| # | ||
| # [[terms]] | ||
| # term = "Your term" | ||
| # category = "One of the categories used below, or a new one" | ||
| # aliases = ["Optional alternate names or abbreviations"] | ||
| # definition = "One or two plain-language sentences." | ||
| # learn_more = "/docs/some/relevant/page/#anchor" # optional, internal or external | ||
|
|
||
| [[terms]] | ||
| term = "Homeserver" | ||
| category = "Core concepts" | ||
|
MTRNord marked this conversation as resolved.
Outdated
|
||
| aliases = ["HS"] | ||
| definition = "A server that hosts Matrix user accounts and participates in the network. Every account belongs to exactly one homeserver, identified by that server's domain." | ||
| learn_more = "/docs/matrix-concepts/elements-of-matrix/#homeserver" | ||
|
|
||
| [[terms]] | ||
| term = "Client" | ||
| category = "Core concepts" | ||
| definition = "An application people use to read and send messages on Matrix, such as Element. Clients talk to a homeserver, never directly to other clients." | ||
| learn_more = "/docs/matrix-concepts/elements-of-matrix/#client" | ||
|
|
||
| [[terms]] | ||
| term = "Federation" | ||
| category = "Core concepts" | ||
| definition = "The process by which independently-run homeservers exchange room data with each other, so users on different servers can share rooms without depending on a central server." | ||
| learn_more = "/docs/matrix-concepts/elements-of-matrix/" | ||
|
|
||
| [[terms]] | ||
| term = "Matrix ID" | ||
| category = "Core concepts" | ||
| aliases = ["MXID", "User ID"] | ||
|
MTRNord marked this conversation as resolved.
Outdated
|
||
| 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\"." | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can get removed from branding then |
||
| learn_more = "/docs/matrix-concepts/elements-of-matrix/#homeserver" | ||
|
|
||
| [[terms]] | ||
| term = "Room" | ||
| category = "Core concepts" | ||
| definition = "A conversation, shared between the homeservers of everyone taking part. Each participating server keeps its own local copy of the room, which is kept in sync with the others." | ||
| learn_more = "/docs/matrix-concepts/rooms_and_events/" | ||
|
|
||
| [[terms]] | ||
| term = "Room ID" | ||
| category = "Core concepts" | ||
| definition = "The internal, permanent identifier of a room, written as `!opaqueid:example.com`. Unlike a room's published address, it never changes for the lifetime of the room." | ||
| learn_more = "/docs/matrix-concepts/rooms_and_events/" | ||
|
|
||
| [[terms]] | ||
| term = "Event" | ||
| category = "Core concepts" | ||
| definition = "A single timestamped, signed item in a room's history: a message, a membership change, a room setting being updated, and so on. Rooms are built up from a directed acyclic graph of events." | ||
| learn_more = "/docs/matrix-concepts/rooms_and_events/" | ||
|
|
||
| [[terms]] | ||
| term = "State event" | ||
| category = "Core concepts" | ||
| definition = "An event that represents a piece of persistent room state (such as the room name, topic, or a member's membership) rather than a one-off message. Only the latest state event for a given type and key is considered current." | ||
| learn_more = "/docs/matrix-concepts/rooms_and_events/" | ||
|
|
||
| [[terms]] | ||
| term = "Power level" | ||
| category = "Core concepts" | ||
| aliases = ["PL"] | ||
| definition = "A per-user or per-action number in a room that determines what a user is allowed to do, such as sending certain event types, kicking, or banning." | ||
| learn_more = "/docs/matrix-concepts/rooms_and_events/#administration-privileges" | ||
|
|
||
| [[terms]] | ||
| term = "Application Service" | ||
| category = "Core concepts" | ||
| aliases = ["AppService"] | ||
| definition = "A privileged piece of software, registered with a homeserver, that can puppet many virtual users and rooms at once. Bridges and some advanced bots are built as Application Services." | ||
| learn_more = "https://spec.matrix.org/latest/application-service-api/" | ||
|
|
||
| [[terms]] | ||
| term = "Bridge" | ||
| category = "Core concepts" | ||
| 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." | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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)
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We also currently only put chat bridges into /ecosystem/bridges. Other definitions would include e.g. hookshot in bridges, which we keep under integrations. |
||
| learn_more = "/ecosystem/bridges/" | ||
|
|
||
| [[terms]] | ||
| term = "Identity server" | ||
| category = "Core concepts" | ||
| definition = "A separate, optional service that maps third-party identifiers (such as email addresses or phone numbers) to Matrix IDs, used when inviting someone by contact detail instead of by their Matrix ID." | ||
|
|
||
| [[terms]] | ||
| term = "End-to-end encryption" | ||
| category = "Security" | ||
| aliases = ["E2EE"] | ||
| definition = "Encryption where messages are only readable by the sending and receiving devices, not by the homeservers relaying them. Matrix implements this using the Olm and Megolm cryptographic ratchets." | ||
| learn_more = "/docs/matrix-concepts/end-to-end-encryption/" | ||
|
|
||
| [[terms]] | ||
| term = "Device verification" | ||
| category = "Security" | ||
| definition = "The process of two devices confirming each other's cryptographic identity keys out-of-band, so they can trust that messages are really coming from who they claim to be from." | ||
| learn_more = "/docs/matrix-concepts/end-to-end-encryption/#blocking-verifying-devices" | ||
|
|
||
| [[terms]] | ||
| term = "Cross-signing" | ||
| category = "Security" | ||
| definition = "A mechanism where a user signs their own devices with a private master key, so other users only need to verify that one master key to trust all of that user's current and future devices." | ||
|
|
||
| [[terms]] | ||
| term = "Key backup" | ||
| category = "Security" | ||
| definition = "An encrypted, server-side backup of a user's message decryption keys, so they aren't lost if all of a user's devices are lost or logged out at once." | ||
|
|
||
| [[terms]] | ||
| term = "Unable to decrypt" | ||
| category = "Security" | ||
| aliases = ["UTD"] | ||
| definition = "An error state shown for a message a client received but could not decrypt, usually because it never obtained the room key for that message." | ||
|
|
||
| [[terms]] | ||
| term = "Account locking" | ||
| category = "Trust & Safety" | ||
| definition = "A reversible action where a user is prevented from logging in to their account, but the account itself is preserved in place." | ||
|
|
||
| [[terms]] | ||
| term = "Account suspension" | ||
| category = "Trust & Safety" | ||
| definition = "A reversible action similar to locking, except the user can still log in and read their account; they just cannot write (send messages, join rooms, and so on)." | ||
|
|
||
| [[terms]] | ||
| term = "Account deactivation" | ||
| category = "Trust & Safety" | ||
| definition = "A destructive, irreversible action where an account is removed from all rooms and permanently deleted." | ||
|
|
||
| [[terms]] | ||
| term = "Working Group" | ||
| category = "Governance" | ||
| aliases = ["WG"] | ||
| definition = "A standing group, formed under the Foundation's Governing Board, focused on getting a specific area of work done - for example events, or a part of the ecosystem." | ||
| learn_more = "/foundation/working-groups/" | ||
|
|
||
| [[terms]] | ||
| term = "Governing Board" | ||
| category = "Governance" | ||
| aliases = ["GB"] | ||
| definition = "The organ of The Matrix.org Foundation through which the ecosystem participates in its governance, made up of representatives elected or appointed from across the community." | ||
| learn_more = "/foundation/governing-board/" | ||
|
|
||
| [[terms]] | ||
| term = "Spec Core Team" | ||
| category = "Governance" | ||
| aliases = ["SCT"] | ||
| definition = "The team responsible for stewarding the Matrix specification itself, including reviewing and merging Matrix Spec Changes (MSCs)." | ||
|
|
||
|
MTRNord marked this conversation as resolved.
|
||
| [[terms]] | ||
| term = "Matrix Spec Change" | ||
| category = "Governance" | ||
| aliases = ["MSC"] | ||
| definition = "A proposal to change or extend the Matrix specification, following the process defined by the Spec Core Team." | ||
| learn_more = "https://spec.matrix.org/proposals/" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -28,9 +28,14 @@ title = "Categories" | |
| href = "/category/" | ||
|
|
||
| [[header]] | ||
| id = "docs" | ||
| title = "Docs" | ||
| href = "/docs/" | ||
|
|
||
| [[header.children]] | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?) |
||
| title = "Glossary" | ||
| href = "/docs/glossary/" | ||
|
|
||
| [[header]] | ||
| title = "Ecosystem" | ||
| section = "ecosystem" | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| // Breadcrumb navigation | ||
| // Used via macros/breadcrumb.html. Two contexts: | ||
| // 1. Inside .page-header (dark background) - text is white/muted-white | ||
| // 2. Inside .detail-page (light background) - text is muted grey | ||
|
|
||
| .breadcrumb { | ||
| ol { | ||
| display: flex; | ||
| flex-wrap: wrap; | ||
| align-items: center; | ||
| list-style: none; | ||
| margin: 0; | ||
| padding: 0; | ||
| gap: 0.25rem; | ||
| font-size: 0.85rem; | ||
| } | ||
|
|
||
| li { | ||
| display: flex; | ||
| align-items: center; | ||
|
|
||
| // Chevron separator before every item except the first | ||
| & + li::before { | ||
| content: "/"; | ||
| margin-right: 0.25rem; | ||
| opacity: 0.45; | ||
| } | ||
| } | ||
|
|
||
| a, | ||
| span { | ||
| text-decoration: none; | ||
| line-height: 1; | ||
| } | ||
|
|
||
| // Dark context (inside .page-header) | ||
| .page-header & { | ||
| margin-bottom: 0.75rem; | ||
|
|
||
| a { | ||
| color: rgb(255 255 255 / 70%); | ||
|
|
||
| &:hover { | ||
| color: #fff; | ||
| } | ||
| } | ||
|
|
||
| // 45% white only clears ~4.4:1 against the black hero background, | ||
| // just under AA's 4.5:1 for text; 60% keeps it safely above. | ||
| span { | ||
| color: rgb(255 255 255 / 60%); | ||
| } | ||
|
|
||
| li + li::before { | ||
| color: rgb(255 255 255 / 45%); | ||
| } | ||
| } | ||
|
|
||
| // Light context (inside .detail-page) | ||
| .detail-page & { | ||
| margin-bottom: 1.25rem; | ||
|
|
||
| a { | ||
| color: var(--color-text-muted); | ||
|
|
||
| &:hover { | ||
| color: var(--color-text); | ||
| } | ||
| } | ||
|
|
||
| // The current-page label is text, not decoration, so it still needs | ||
| // to clear WCAG AA (4.5:1); #aaa on white only manages ~2.3:1. | ||
| span { | ||
| color: var(--color-text-light); | ||
| } | ||
|
|
||
| li + li::before { | ||
| color: #ccc; | ||
| } | ||
| } | ||
| } |
Uh oh!
There was an error while loading. Please reload this page.