Richard van der Hoff
b0ea6038c6
Move jekyll back out of matrix-doc again
...
Having the jekyll assets here is a mistake, because they need to be versioned
separately to the spec: we keep old versions of the spec, but they sometimes
need to be restyled to match the latest website.
7 years ago
Richard van der Hoff
8a66b1a68b
Build the spec as part of the build
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
Richard van der Hoff
9d2a93ad7b
Run jekyll as part of the matrix-doc build
...
- this saves us having to run it manually on the web server.
7 years ago
Richard van der Hoff
934dd4754c
swagger-http-server: fix port param
...
it needs to be an int, not a list
8 years ago
Richard van der Hoff
2ec43a5948
Add continuserv index
...
Oops, forgot this when adding support for the API docs to continuserv in
bfb65d8
.
8 years ago
Richard van der Hoff
d41438605d
Use matrix.org for swagger UI
...
In the swagger UI, default to matrix.org rather than localhost, to make the UI
more useful.
8 years ago
Richard van der Hoff
bfb65d8ceb
Serve the API docs with continuserv
8 years ago
Richard van der Hoff
1320a86cbe
Serve the api docs from the speculator
...
There are a few parts to this:
* when we generate the spec for a particular git sha, also run the script which
turns our yaml api descriptions into a swagger json file.
* tweak serveSpec to add another header when serving the generated json.
* add a link to the generated index which will (via js hackery) redirect to our
hosted swagger UI at http://matrix.org/docs/api/client-server , with a "url"
query-param pointing at the generated json.
Also, factor makeTempDir out of gitClone, so that we can give clearer log lines.
8 years ago
Richard van der Hoff
459f4b953d
swagger-http-server: add a --port argument
8 years ago
Oddvar Lovaas
1ea836bb1b
Remove howtos from build script
8 years ago
Benjamin Saunders
33d80408e0
Add a nix-shell environment suitable for building
...
This enables easy execution of scripts/*.py by Nix users.
Signed-off-by: Benjamin Saunders <ben.e.saunders@gmail.com>
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).
9 years ago
Stas Rudakou
b6c41727c5
Add PyYAML to scripts/README.md
...
PyYAML is a 3rd-party package used by `gendoc.py`.
9 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
f46a2a7f2b
Include the basePath in the path in swagger output
...
This fixes both SPEC-393, and ORG-52.
9 years ago
Richard van der Hoff
8aa0f64665
Update the speculator to understand spec subdirs
...
Fix the speculator so that it doesn't blow up when it finds subdirs in the gen
directory.
(It doesn't handle the html diff very well in the case that the subdirs don't
match, but it's hard to do much about that)
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
7138205f31
Update README.md
...
escape angle-bracket to stop it getting lost in markdown
9 years ago
Richard van der Hoff
0546f0917d
Replace hacky shell to do matrix styling with hacky perl
...
Since the shell just wrapped three invocations of perl, we might as well do
it all in perl.
9 years ago
Richard van der Hoff
23c4ffbc1b
Add securityDefintions to generated swagger JSON
...
Also factor out to a common file
9 years ago
Richard van der Hoff
60f36bf868
Script to serve the generated swagger JSON
...
We need custom CORS headers to serve the swagger JSON, so add a script to do it
9 years ago
Richard van der Hoff
c39d797cce
Dump-swagger: take output file name rather than output dir
...
Make the argument to dump-swagger.py be the name of the output file rather than
the output dir, and give it a sensible default.
Also, use the absolute path to the output file, so that the output path is
relative to the user's cwd rather than the templating dir.
9 years ago
Richard van der Hoff
d6c1d1343b
Continuserv: Reduce number of watches
...
rather than trying to watch half the filesystem, be a bit more conservative in
what we put watches on. This means that we don't end up dying with "No space on
device" (thanks for that, Linux.)
9 years ago
Daniel Wagner-Hall
072d285153
speculator: Allow access token to be specified
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
ad7874a730
Use site-relative stylesheet
9 years ago
Daniel Wagner-Hall
60127de1e3
Take list of files to edit as args
9 years ago
Daniel Wagner-Hall
a9b4f6fef0
Add missing _ to paths
9 years ago
Daniel Wagner-Hall
db5cad4711
Remove accidentally committed change
9 years ago
Daniel Wagner-Hall
99b8a066c8
Make dump-swagger work from all directories
9 years ago
Daniel Wagner-Hall
1f5b6271f2
Generate swagger-ui output for client-server API
...
Depends on:
https://github.com/matrix-org/matrix-doc/pull/212
https://github.com/matrix-org/matrix-doc/pull/208
https://github.com/matrix-org/matrix-doc/pull/207
for the actual rendered output to not throw javascript errors at runtime.
9 years ago
Richard van der Hoff
d1d3d27e2f
Merge pull request #216 from matrix-org/rav/fix_speculator_redirects
...
Add a host and scheme to Location headers in redirects
9 years ago
Richard van der Hoff
f31a053995
Add a host and scheme to Location headers in redirects
...
Our apache reverse-proxy can't correctly rewrite relative Location headers, so
add the Host from the request into the Location.
9 years ago
Matthew Hodgson
78e04d662e
add moi :(
9 years ago
Richard van der Hoff
1b7548d460
Make the speculator serve the spec from drafts branches.
9 years ago
Daniel Wagner-Hall
2f3a00fe34
Consistently spell homeserver as homeserver
9 years ago
Daniel Wagner-Hall
1ce3357927
continuserv: serve multiple paths
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
ebed3b60bd
Add trailing slashes to links
9 years ago
Daniel Wagner-Hall
a4668c1d8c
Fix typo
9 years ago
Daniel Wagner-Hall
c4eaf7458f
302 to spec/head/index.html rather than serving it on /spec/head
...
Otherwise relative links are broken
9 years ago
Daniel Wagner-Hall
6c66bfc755
Flatten out v1 and v2_alpha directories
...
As a side effect, I got rid of all of the horrible symlinks and just put
in all of the proper relative paths. Because the horrible symlinks were
horrible.
9 years ago
Daniel Wagner-Hall
e401d3e262
Merge pull request #184 from matrix-org/daniel/splitspec
...
Split spec into page-per-section
9 years ago
Daniel Wagner-Hall
30ed918633
speculator: Allow spec viewing for multi-page spec
9 years ago
Daniel Wagner-Hall
e171acf01f
Split spec into page-per-section
9 years ago
Daniel Wagner-Hall
f0c99a6925
Generate API docs from swagger
9 years ago
Richard van der Hoff
2aa4773cc1
Make the speculator serve up errors as plain text
...
... so that they are legible.
9 years ago
Daniel Wagner-Hall
ec31c0f518
speculator: allow styling like matrix.org
9 years ago
Daniel Wagner-Hall
cc4869e68a
Merge pull request #174 from matrix-org/daniel/speculatorhardening
...
Several improvements to speculator to prepare it for actually being used by the masses, not just us devs
9 years ago
Daniel Wagner-Hall
c432396079
Add comment
9 years ago
Daniel Wagner-Hall
866fa58276
Rename
9 years ago
Daniel Wagner-Hall
e045f28b44
Pull out constant for permissions
...
Also, drop permissions from 0755 to 0700
9 years ago
Oddvar Lovaas
24356d864e
Merge pull request #176 from matrix-org/daniel/gendoc
...
Tweaks to spec generation for matrix.org
9 years ago
Daniel Wagner-Hall
4ac85997f5
Fix check
9 years ago
Daniel Wagner-Hall
da93317a78
Take dir not files as args
9 years ago
Daniel Wagner-Hall
ca3a9e3562
exec gendoc outside of script
9 years ago
Daniel Wagner-Hall
e041033048
Rename file
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
Daniel Wagner-Hall
6f1d00097b
Only bother trying to fetch if we need to
9 years ago
Daniel Wagner-Hall
8872e17f93
Fall back to last known HEAD sha if fetch fails
9 years ago
Daniel Wagner-Hall
dd53847211
Include command stderr in error text
9 years ago
Daniel Wagner-Hall
9ad64b02d1
speculator: guard against concurrent git commands
9 years ago
Daniel Wagner-Hall
0f0359d9c1
speculator: Nessle up some more if statements
9 years ago
Daniel Wagner-Hall
740cc66a7c
speculator: Fetch before deciding head is fresh
9 years ago
Daniel Wagner-Hall
27ffe7bacd
Don't serve rst diffs as HTML
9 years ago
Daniel Wagner-Hall
c3608b3a69
Merge branch 'master' into daniel/continuservconcurrency
...
Conflicts:
scripts/continuserv/main.go
9 years ago
Daniel Wagner-Hall
bbf9e229a7
continuserv: guard concurrent accesses to wg
9 years ago
Daniel Wagner-Hall
1be5b856bd
Preserve text/plain for errors
...
Newlines are nice
9 years ago
Daniel Wagner-Hall
7f6eafdce5
continuserv: set Content-Type header
9 years ago
Daniel Wagner-Hall
937ff046d8
Force / to be HTML too
9 years ago
Daniel Wagner-Hall
559747e77a
speculator: Sent Content-Type: text/html header
...
Go is auto-detecting that this is XML (because for some reason we
generate XHTML), and serving it with a Content-Type header text/xml.
This causes the browser to render it as XHTML, which gives interesting
quirks like extra newlines.
This forces the browser to interpret it as HTML.
What we should probably do instead of stop generating XHTML and start
generating HTML. But in the mean time, this will fix the rendering
issues.
9 years ago
Mark Haines
71874870c8
Enable syntax highlighting for example http requests
9 years ago
Daniel Wagner-Hall
1aeddac319
Cache spec output
...
Does not cache inability to generate spec. Does not cache diffs or
anything fancy. Just the raw spec generation.
9 years ago
Mark Haines
df443c10ac
Move css into a css subdirectory.
...
Add css to put a bar next to blockquotes.
9 years ago
Daniel Wagner-Hall
82d4ea199f
Trust Leo
9 years ago
Kegsay
e5559e4ea5
Merge pull request #106 from matrix-org/erikj/newline_gendoc_STOP_BEING_CRANKY
...
gendoc should just add newlines rather than complaining about the lack thereof
9 years ago
Erik Johnston
70704240dc
gendoc should just add newlines rather than complaining about the lack thereof
9 years ago
Richard van der Hoff
013b6db895
Add a note on building the speculator
...
... because the wiki says you need to read the README on how to build it.
9 years ago
Richard van der Hoff
270e1d7aa8
Add richvdh to list of trusted pushers for spectulator
...
richvdh is awesome, he should have all the permissions.
9 years ago
Oddvar Lovaas
1cfe4f784f
special css for spec/howto
9 years ago
Oddvar Lovaas
ceebf34fca
generate docs with new nav bar
9 years ago
Daniel Wagner-Hall
6922850643
Add missing return
9 years ago
Daniel Wagner-Hall
b46f0e30b8
Checkout SHA of origin/master rather than merging
9 years ago
Daniel Wagner-Hall
a0cf485919
speculator: Specify merge target
9 years ago
Kegan Dougal
7805ca87df
If build.py throws, actually print stdout. Also run jenkins.sh in verbose mode.
9 years ago
Kegsay
8c092e3d11
Merge pull request #74 from matrix-org/module-presence
...
Presence module
9 years ago
Daniel Wagner-Hall
7df3d9090a
Merge pull request #81 from matrix-org/daniel/speculatormerge
...
speculator: Merge after fetching, so that /spec/head works
9 years ago
Daniel Wagner-Hall
0e8f1b5475
Quote args
9 years ago
Daniel Wagner-Hall
a69e03f577
speculator: Report listening port
9 years ago
Daniel Wagner-Hall
30232f20aa
speculator: Merge after fetching, so that /spec/head works
9 years ago
Kegan Dougal
cc6f256b24
Merge branch 'master' into module-presence
...
Conflicts:
specification/modules/presence.rst
9 years ago
Kegsay
f74cb4d54c
Merge pull request #76 from matrix-org/speculator-speedup
...
Modify how speculator uses git repos
9 years ago
Kegan Dougal
b6f0b67da6
Speed up continuserv
...
Ignore .git directory as that shouldn't affect spec generation. Also, when
we receive writes from the OS, wait a bit before re-generating the spec to
clump together multiple writes rather than re-generating one after another
and waiting for no more writes before serving the request.
9 years ago
Kegan Dougal
ede43fbe9f
Modify how speculator uses git repos
...
Modified so it has a "master" repo and local A/B repos which pull from the
"master". This saves an extra git clone operation per HTTP request.
9 years ago
Kegan Dougal
52f6496cf0
Merge branch 'master' into module-presence
9 years ago
Kegan Dougal
a49d5f67f1
Delete rather than comment out the offending CSS
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
0a04672d76
Start converting the presence module. Add Rationale admonition.
9 years ago
Daniel Wagner-Hall
083a76096f
Support viewing the spec at head
9 years ago
Daniel Wagner-Hall
2434dfaf1c
Merge branch 'master' into speculator-htmldiff
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
Kegsay
5fbd534713
Merge pull request #51 from matrix-org/daniel/gendoc
...
Print errors to stderr
9 years ago
Kegan Dougal
cf8abdafd4
Fix PR comments
9 years ago
Kegan Dougal
ba4998a62b
Apparently tabs are A Thing
9 years ago
Kegan Dougal
427e4c8b1b
Log port being listened on
9 years ago
Kegan Dougal
1f6b12b3e8
Modify and enforce the file format/structure used
...
Convert the file format to be of the form ##_##_something.rst where the
first ## is the top-level section number and the second ## is the
second-level section number, e.g. 07_01_push_cs_api.rst means
Section 7.1 - This is now enforced in gendoc.py along with the title line
style that should be used (= for top-level, - for 2nd level) which will
give helpful suggestions if you trip up. This feels much more intuitive
now looking in /specification
9 years ago
Kegan Dougal
06e46c1899
Fix on a better numbering format
9 years ago
Kegan Dougal
ef473b4161
Start enforcing title styles
...
This depends on the number of the file.
9 years ago
Daniel Wagner-Hall
08defafd98
Print errors to stderr
...
This means that continuserv will actually display them
9 years ago
Kegan Dougal
ad26b7f8cb
Fix a subtle rendering bug when catting spec sections
...
Throw in gendoc.py if a spec section doesn't end with \n\n
There needs to be TWO new lines at the end of each spec section else the
title of the next section merges into the last paragraph of the earlier
section. This happens without rst2html producing a warning, and results
in the section heading of a file disappearing(!)
9 years ago
Kegan Dougal
9c3a333a6d
Apparently tabs are A Thing
9 years ago
Kegan Dougal
9b18fd252e
Log port being listened on
9 years ago
Daniel Wagner-Hall
21411309e0
Fix chdir path
9 years ago
Mark Haines
c3eab1cc3c
Set the current working directory in gendoc.py to the script directory as that is where it expects to be run
9 years ago
Daniel Wagner-Hall
c55917d99c
Add spec diff to index page
9 years ago
Daniel Wagner-Hall
521d625aac
Fix typo
9 years ago
Daniel Wagner-Hall
d9013cab5f
speculator: Add HTML diffing
...
I started fiddling with re-implementing the perl script in Go to add
some new functionality (and avoid the Perl), but it's not yet usable
9 years ago
Daniel Wagner-Hall
d251f791fb
speculator: Document /
9 years ago
Daniel Wagner-Hall
f9ef934625
Merge branch 'master' into speculator-list
...
Conflicts:
scripts/speculator/main.go
9 years ago
Kegsay
e4f4670260
Merge pull request #44 from matrix-org/speculator-errs
...
speculator: Don't ignore errors
9 years ago
Daniel Wagner-Hall
b6dab0009d
speculator: Don't ignore errors
9 years ago
Daniel Wagner-Hall
20f0284155
speculator: Unified diff for rst diff
9 years ago
Daniel Wagner-Hall
ba780a589a
speculator: Add list-pull-request functionality
9 years ago
Daniel Wagner-Hall
fef97802b7
Merge pull request #39 from matrix-org/speculator
...
speculator: Tool to preview spec pull requests
9 years ago
Daniel Wagner-Hall
bf318ffcd5
Add HTTP endpoints to README
9 years ago
Daniel Wagner-Hall
ca7dd49dc6
speculator: Add /healthz endpoint
9 years ago
Daniel Wagner-Hall
708f281270
Add comments about auth
9 years ago
Kegsay
c427c579cb
Merge pull request #37 from matrix-org/continuserv
...
continuserv: Server to live serve local updates to the spec
9 years ago
Daniel Wagner-Hall
c29aef362e
Error on failure of Watcher.Add
9 years ago
Daniel Wagner-Hall
6ac519d9dc
Log on file updates
9 years ago
Daniel Wagner-Hall
6e86cb34d2
continuserv: Adding README
9 years ago
Daniel Wagner-Hall
34091038f3
speculator: Tool to preview spec pull requests
...
Not the prettiest thing in the world, and horribly unperformant, but
useful :)
9 years ago
Daniel Wagner-Hall
cdc06a8bf1
Document --nodelete
9 years ago
Daniel Wagner-Hall
a74fb54053
Correct comment
9 years ago
Daniel Wagner-Hall
ad595aea45
Optionally don't delete intermediate rst files
...
Useful for debugging
Hackily hackily implemented :)
9 years ago
Daniel Wagner-Hall
e30272733b
continuserv: Make port flag-specified
9 years ago
Daniel Wagner-Hall
c4acee3bcb
continuserv: Live serves updates to the spec
9 years ago
Daniel Wagner-Hall
0414ff4cc3
Output error if command fails
9 years ago
Kegan Dougal
e572cc662a
Restructure the first few sections.
...
Remove unecessary sections; put presnece/profile sections on the right level.
Move Living Standard warning to the top of the Introduction section.
10 years ago
Kegan Dougal
bb9537b824
Add a CHANGELOG. Modify table CSS.
...
Hook up templating system to read the CHANGELOG for version and changelog info.
Modified nature.css to make it clearer on table headings/sub-headings. Use the
full _matrix/client path on title links to make it clear it is for v1.
10 years ago
Kegan Dougal
f9710a6e17
Add help blurb to gendoc.py
10 years ago
Kegan Dougal
5b31c442f5
Completely split up the templating system from the Matrix Spec template code.
...
The two are now linked together in build.py by specifying the input module.
Updated gendoc.py to specify the right module.
10 years ago
Kegan Dougal
96671ce833
Use the templating system to set {{git_version}}. Restructure sections code.
...
Restructured the sections code to be slightly more encapsulated than before.
This will be expanded to more clearly separate the templating system from
the specific implementation of the spec templates.
10 years ago
Kegan Dougal
dc5c01607b
Sort out table layout and rejig where state_key is placed.
10 years ago
Kegan Dougal
02c44a889e
Remove stuff from 20_events.rst and replace with {{room_events}}. Update gendoc to call build.py for template vars.
10 years ago
Matthew Hodgson
d40f6c1d7c
lots of fixes based on kegan's review of https://github.com/matrix-org/matrix-doc/pull/13
10 years ago
Matthew Hodgson
598e9b3113
big reshuffle:
...
* try to make 00_basis slightly more accessible and less terse
* move CS API before Events, as it's meaningless to dive into specific events if you haven't been introduced to how the CS API works
* Try to improve the beginning of the CS API by merging back in some of kegan's original v1 content (which has subsequently been deleted somewhere along the line?)
* document m.presence event consistently
* move typing from drafts to spec
* move push stuff from drafts to spec
...and lots of other stuff
move push & typing from drafts into main spec.
10 years ago
Kegan Dougal
a6fa4e53fb
Update gendoc.py
...
Copy howto to tmp/ so the $GIT_VERSION can be dropped in.
10 years ago
Kegan Dougal
505c804426
Update scripts to look in the right places. Update jsfiddles to be more obvious in the HOWTO.
10 years ago
Kegsay
6af1627b51
Minor tweak for matrix.org example
10 years ago
Kegan Dougal
1388612c48
Add a README, spell matrix correctly.
10 years ago
Kegan Dougal
4b0e858529
Add $GIT_VERSION to the spec which is replaced by the gendoc script.
10 years ago
Kegan Dougal
df448df813
Redo gendoc script.
10 years ago
Matthew Hodgson
3c16dbd63b
it's 2015
10 years ago
Matthew Hodgson
9de59e3777
move gendoc to matrix-doc and make it work. rename tutorials section to match matrix.org structure
10 years ago