Commit Graph

325 Commits (d318ff95f3e835687df9d3411cf52613475516a3)

Author SHA1 Message Date
Kegsay 4a7a682c0f Merge pull request #65 from matrix-org/spec-feature-profiles
Spec feature profiles
9 years ago
Kegan Dougal 365a9076b9 Add nested dict template support; Add x-pattern
For cases where event schema specify `patternProperties` it would be nice
to give that pattern a "human-readable" form rather than a raw regex. This
is now supported by specifying `x-pattern` in the value part of the specified
pattern e.g. `patternProperties:{ "^.*":{ x-pattern: "$THING", ... } }`

Templating had limited record type descriptions limited to value primitives
e.g. `{string: integer}`. It now supports inspecting the values recursively
if the value is `object`.

Updated `m.receipt` to take both these points into account to make it read
better. Tweak receipt module text.
9 years ago
Kegan Dougal 3b73b07bab Clarifications that room invites are m.call.invites not actual invites 9 years ago
Kegan Dougal e82661413e Add /turnServer endpoint 9 years ago
Kegan Dougal 6c3e70d272 Start fleshing out voip module 9 years ago
Kegan Dougal 097dc50180 Minor tweaks 9 years ago
Kegan Dougal a82f2ad4ac Flesh out typing module 9 years ago
Kegan Dougal 2b7e02c080 Add sections for typing. Add swagger, JSON schema and example m.typing event 9 years ago
Kegan Dougal 52f6496cf0 Merge branch 'master' into module-presence 9 years ago
Kegan Dougal 4e1e82f995 Fix paragraph CSS and adjust where paragraphs are in the RST
The CSS for `nature.css` was such that it was preventing `p` tags from
having sufficient vertical whitespace. This meant that you couldn't insert
any kind of spacing between lengthy sections (they just appeared as new lines).

This PR fixes this so you can actually have some whitespace between paragraphs.
As a result of this change, some parts of the spec appeared to have too much
whitespace. These were often sections which shouldn't have begun a new
paragraph anyway (e.g. a single sentence being an entire paragraph, `TODO`
blocks resulting in new paragraphs). This PR fixes the most offending areas
where we shouldn't have been inserting new paragraphs.
9 years ago
Kegan Dougal 069e4e39f4 Move presence specific sections from intro to presence module 9 years ago
Kegan Dougal 0a04672d76 Start converting the presence module. Add Rationale admonition. 9 years ago
Kegan Dougal cdf9f011e9 Add room history visibility as a module. 9 years ago
Kegan Dougal 5abea1f2bc Minor tweaks 9 years ago
Kegan Dougal 70518ae655 Clarify template suffixes 9 years ago
Kegan Dougal 643468e914 Mention swagger. Clarify how event type template vars are formed. 9 years ago
Kegan Dougal c2fc1a2fb1 Add basic module template.
This has the core sections for events/server/client/security.
9 years ago
Kegan Dougal c6375ed3d1 Flesh out feature profiles section
Add table detailing the profiles. Add anchors to link through to each module
following a well-defined format (rather than the name of the module section).
Allow UTF-8 in the spec.
9 years ago
Kegan Dougal 5115346297 Add instant_messaging module; modify batesian section rules
Previously, all `m.room.*` events were wodged into `{{room_events}}` which
isn't great when you want to pull specific ones out. Batesian had a 1:1
mapping of `render_foo()` to a section `{{foo}}`, and having to constantly
add functions for new types is a PITA. Batesian now supports returning a
`dict` instead of a section `string` where the keys are the `{{foo}}` and
the value is what will be inserted. Also add conflicting section key checks
to avoid multiple definitions of the same `{{foo}}`. Define dicts for
event schemata and swagger HTTP APIs.

Using this new feature, split out the instant messaging stuff from the events
section, and replace `{{room_events}}` with a list of specific events e.g.
`{{m_room_member_event}}`.
9 years ago
Kegan Dougal 5b134119bd Add presence module; fix relative title bug
If a relative title appeared after an HTTP API table, it
would insert the wrong level because it thought that part
of the table was a title.
9 years ago
Kegan Dougal 0c0ac3e814 Fix common event fields template to use subtitle char 9 years ago
Kegan Dougal e8cdfcbba2 Rename spec files to not have numbers everywhere; update targets.yaml 9 years ago
Kegan Dougal f71763b0d3 Implement relative title styles
Templates don't know at what level they will be inserted. Previously, we
hard-coded the title style which is not compatible with the build target
system. Define a set of styles which will be replaced by the gendoc script
when it encounters them:
 '<' : Make this title a sub-heading
 '/' : Make this title a heading at the same level
 '>' : Make this title a super-heading

The build target system is now basically complete and functioning.
9 years ago
Kegan Dougal 067363c629 Get the desired title levels right; print out the actual level used to stdout 9 years ago
Kegan Dougal f520ac9d82 Create a modules folder to group together similar parts of the spec 9 years ago