Commit Graph

73 Commits (7ba4564ac3145bae862069a16cb2c5a1308fbfb4)

Author SHA1 Message Date
Travis Ralston 71e6321f4d Rework how room versions are represented
Versions are actually on a scale of recommendations, and are expected to be created as needed. The scale presented here (develop/beta/default/recommended/mandatory) is a more wordy version of what was previously discussed/intended for room versions - the labels aren't final and may be changed.
6 years ago
Travis Ralston ffe577371d Add a room version specification
The "Room Specification" (or "Room Version Specification") is the specification that defines which room versions do what and are intended to be documents which speak the truth about how rooms operate under the hood.

The approach taken here is a bit different than other specifications. For starters, the specification is versioned in this project instead of relying on the matrix.org repository to track compiled HTML. This is done for a couple reasons, the first being we're still developing the v1 specification while concurrently making a v2 spec and the second being trying to reduce the reliance on matrix.org's repository for specifications.

Because the room spec is built into versions, some changes needed to be made. The `targets.yaml` now has a special syntax for indicating what version something is at, and the changelog generator can handle rendering different versions of the same changelog (as parsed from the RST). Some additional work has been put in to the changelog parsing to allow us to reference the v1 room spec as "v1" without having to sacrifice clarity in the changelog headings.

Finally, this moves the state resolution algorithms into the versioned
spec as a result of MSC1759 (https://github.com/matrix-org/matrix-doc/pull/1759).

Note: this does not introduce the concept of versioned schemas (tabs) that I was previously working with. There's currently no use for them, so they are shelved elsewhere.
6 years ago
Travis Ralston 7d34995ece It's actually an "identity server implementing the Identity Service API"
Also add a note about appservices being special.
6 years ago
Travis Ralston 7ac76fa27c Actually we're going with "identity server" afterall 6 years ago
Travis Ralston 2753d24302 Merge remote-tracking branch 'matrix-org/master' into travis/general/r0-prep 6 years ago
Richard van der Hoff f649d04ae1
Merge pull request #1626 from matrix-org/rav/encoding
Set the encoding to UTF-8 on all file I/O
6 years ago
Richard van der Hoff 4e90b32348 Set the encoding to UTF-8 on all file I/O
Hopefully this will resolve issues with building the spec on systems where the
default encoding is somthing other than UTF-8.
6 years ago
Travis Ralston b2092922e8 Don't define a variable for the appservice major version 6 years ago
Travis Ralston a5c3924492 Merge remote matrix-org/master 6 years ago
Travis Ralston c7a228bf7b Don't make the major version a variable
We are likely to want to maintain v1 when we release a v2, so we'll avoid a variable for now.
6 years ago
Travis Ralston e7a69a6a6d Merge remote-tracking branch 'matrix-org/master' into travis/general/r0-prep 6 years ago
Travis Ralston b402608b41 Don't reference the major version for the push gateway specification
If we ever have a v2 endpoint for the push gateway, we'd likely spec it alongside the v1 stuff, updating applicable references elsewhere.
6 years ago
Travis Ralston fa96d8629b Prepare the appservice spec for an r0 release
This puts the scaffolding in place for an r0 release to happen, such as the changelog and version variables.
6 years ago
Travis Ralston d370a2c6fd Prepare the identity service and server-server APIs for r0
* Create the changelog scaffolding
* Set up the variables for versioning
6 years ago
Travis Ralston ba51d5960e r0.1.0 release of the Push Gateway specification
Because this is the first release, it has several moving parts to it:
* The version variables have been defined.
* The towncrier changelog has been prepared for future modifications.
* The templating has been updated to better support future versions of the specification.
* A release process document has been created.
6 years ago
Travis Ralston ebc7db12fb Remove extraneous list casting 6 years ago
Travis Ralston 9e0fafbcd4 Remove debugging line 6 years ago
Travis Ralston 550f95570b Fix regex for some versions of python 6 years ago
Travis Ralston c2f85788de Add documentation about how to add to the changelog 6 years ago
Travis Ralston f54d5a4039 Convert build scripts to python 3 6 years ago
Richard van der Hoff 87d90ab58a gendoc: improve title line matching
This makes it possible to include tables etc without the script trying to turn
them into titles.
7 years ago
Richard van der Hoff a38d4fc68e Move templating into scripts dir
There's no real need for this to be at the top level.
7 years ago
Richard van der Hoff 13d3293378 Fix version-extraction regexp
Fixes https://github.com/matrix-org/matrix-doc/issues/982
7 years ago
Richard van der Hoff 0af06291fe Hardcode client major version r0 7 years ago
Richard van der Hoff 986e51cf35 Gendoc: allow overriding the dest dir 7 years ago
Oddvar Lovaas 1ea836bb1b Remove howtos from build script 8 years ago
Richard van der Hoff 49cd65dd58 Add a license to the spec
We're licensing hte spec under ASLv2. Add the LICENSE file, and add the
short-form to as much of the source as is practical right now (adding it to
json source is a massive pita).
8 years ago
Richard van der Hoff 8b61dab1c6 gendoc.py: add --list_targets arg
I want to be able to run all of the targets except one from matrix-doc, so make
a way to list the targets.
9 years ago
Richard van der Hoff 01f8173c84 Put each bit of spec in its own directory
I want to change the URLs for the spec sections on the website from
<version>/<section>.html to <section>/<version>.html, to better reflect how we
do the versioning.

This puts each bit of spec in its own directory, updates the index to point to
the right place, and fixes continuserv to deal with directories as well as
files.

This will probably require fixes to the speculator too, but I'll have to come
back to that.
9 years ago
Richard van der Hoff a8eed29e9f gendoc: Allow multiple targets 9 years ago
Richard van der Hoff 1f6c4d5bb2 Speed up gendoc.py by only running build.py once 9 years ago
Daniel Wagner-Hall aaeaa1dd98 Detect major version in presence of patch release 9 years ago
Daniel Wagner-Hall 97fd1fdd62 Embed client and server release numbers
Note that this also removes the changelog - I'm going to re-add the
changelog differently soon.
9 years ago
Daniel Wagner-Hall e171acf01f Split spec into page-per-section 9 years ago
Daniel Wagner-Hall 8586744771 Add anchors to spec
This is currently done by a script on the prod serving machine.

We might as well keep the matrix.org spec and dev spec as similar as
possible.
9 years ago
Mark Haines df443c10ac Move css into a css subdirectory.
Add css to put a bar next to blockquotes.
9 years ago
Erik Johnston 70704240dc gendoc should just add newlines rather than complaining about the lack thereof 9 years ago
Kegan Dougal 7805ca87df If build.py throws, actually print stdout. Also run jenkins.sh in verbose mode. 9 years ago
Kegan Dougal 6afdfc0771 Add more logging and make logging context clearer
This is now actually useful if you want to debug why your swagger YAML
isn't producing a table you think it should be.
9 years ago
Kegan Dougal f1adad5fb3 Add more logging with file prefixes
This makes the handoff between gendoc and batesian clearer in the logs.
9 years ago
Kegan Dougal 064a2c9172 Use argparse and log functions for gendoc.py
gendoc.py has become more complex such that we actually want to pass things
to it like `--verbose`, `--nodelete`, `--target`, so use `argparse` to do this
like we have `build.py`. Pass through `-v` flags to `build.py`.
9 years ago
Kegan Dougal 1da64db302 Use relative depths for groups instead of absolute ones
This means the group can be agnostic to how deeply nested it is,
improving reusability of groups.
9 years ago
Kegan Dougal 16693a644a Various review fixes 9 years ago
Kegan Dougal b21859836d Print stdout of build.py in verbose mode 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 d5e0115e42 Merge branch 'master' into spec-restructure-modules 9 years ago
Kegan Dougal 65ce95249f cat the spec according to the build target. Remove old checks as they are now obsolete since we don't care about the filename 9 years ago
Kegan Dougal 8590cc84b5 Process and extract targets in gendoc.py 9 years ago
Mark Haines 6b5b8432b3 Turn on code highlighting for HTTP api responses and add a
code highlighting stylesheet for the specification.
9 years ago