* Updates to API generation and tooling
- Added build script and build instructions for API files
- Updated `.gitignore` to keep node_module folders out, wherever they occur
- Rewrite existing YAML files to use new component system
- Compile rewritten YAML files
- Add more validation checks to the route builders and dispatchers
- Add a user-facing documentation page with interactive view using RapiDoc
- Add a generic 404 handler for missing routes under `/api`, which returns JSON instead of HTML
- Clean up spec output route slightly to make it valid OpenAPI 3.0.0
* Auto-fill API Key in docs
Co-authored-by: Cocoa <momijizukamori@gmail.com>
This basically transplants the repository into ext/. There are cleaner ways
we can do this (by actually folding the code into the right places) but this
will suffice for now to solve the problems.
This switches to using a request cache on the DW::Request object instead
of using Apache notes. This also gives us a facility for observing who
is interacting with request cache -- which might please Nick as it would
let us untangle the wilderness that is Apache notes.
Make these tests also respect extlib, which makes it possible
for people to test new modules on a Dreamhack or other shared
coding environment without having to wait for system modules
to be installed.
extlib was already supported in the codebase in general, but
some tests did not respect it.
This is going to be used in the situation where a user has embedded some
HTTP content and we're delivering the page over HTTPS. I.e., this
enables us to "promote" the content to SSL by proxying it ourselves and
caching it locally.
Files are only cached for a little while, so if the content becomes
unavailable upstream, we will also stop serving it.
Bring in the ability for us to use the Foundation CSS template.
This adds compass compilation to our build process.
This varies the HTML we generate depending on if we're in Foundation
mode or not to fix the logged out forms.
We've once again been bitten by the bug wherein we depend on the URLs
and end up causing duplicate posts or comment imports. While it was nice
to depend on those URLs, we don't need to.
This commit changes it so that our import_source lines are actually just
slash separated tuples that we can generate with information that we
know, and that the remote site has to provide. (Itemids, notably.)
This commit also takes care of a long-standing issue and updates the
grabbed_until columns for jobs so that long running jobs won't get
passed on to a new worker while they're still busy.
- uses rsync, which does the hard work of checking for modified/deleted
files for us
- add build/static to .gitignore, so that we don't accidentally commit
anything in this folder
- build/static is only for generated files and shouldn't be touched (we
don't care about things going the other way)