Commit Graph

214 Commits (dfa4af5c19192967bdb3f7c49d5470f88b6c2760)

Author SHA1 Message Date
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).
8 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