Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
ReSpec is a JS library that makes it easier to write technical specifications, or documents that tend to be technical in nature in general. It was originally designed for the purpose of writing W3C specifications, but has since grown to be able to support other outputs as well.
ReSpec is not endorsed by W3C and nobody should expect the W3C Webmaster to provide advice on problems encountered with ReSpec, or on why it may be failing to produce pubrules-compliant content.
Bibliographical references have been moved out of ReSpec. You want to use this: https://github.com/tobie/specref
There is the original version of ReSpec that can be found in http://dev.w3.org/2009/dap/ReSpec.js/, known as v1. That version is the most popular, but is restricted to producing W3C specifications and the code was organically grown over time in a manner that is not extremely user-friendly or easy to maintain.
Then there is ReSpec v2 which can be found at http://dvcs.w3.org/hg/respec2/. It is flexible, modular, and has a number of nice features. But the problem is that it was never completely finished, and in the meantime v1 has continued to be patched for bugs. This leads to a situation in which v2 is not a proper superset of v1, and patches to the latter have to be rewritten completely to also apply to v2. Obviously, that's not a desirable situation.
The version in this repository here is “ReSpec: Evolution”. What I've done is essentially that I've imported the v1 source here. I am very quickly going to make a few very small changes to it so as to make it 100% compatible with the existing v1 but to start making use of the flexible loading facility included in v2. Then I will cease all development on the other two versions, making this the only canonical option. Since it will start off v1 it will be guaranteed compatible, but it will progressively be rewritten over time to attain v2's features — without the synchronisation problems.
It is common for people to contribute to RS, notably to make changes to the biblio references. You certainly are welcome to submit whatever change you wish to (though if it's a complex feature please try to coordinate with others first to avoid working long on something that will then be rejected).
If you're familiar with GitHub then contributing is simple: just fork and make pull requests. Please
just be careful to note that the primary branch is gh-pages
and not master
(this ensures that the
result gets published on the Web). More importantly, please note that the development branch is
develop
. If you are making patches and pull requests, please base them off this branch.
If you're not familiar with GitHub, you need to follow the following steps:
Respec runs a number of high level, end-to-end tests using Jasmine. These tests are run by Travis, a hosted continuous integration solution, on each pull requests.
There are two options to run these tests locally: in a browser or using PhantomJS.
Tests need to be served from the root of the repository to function properly. Any server will do, but
here's an example using Python's SimpleHTTPServer
:
$ cd /path/to/repo/
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
Navigating to http://localhost:8000/tests/SpecRunner.html
with any recent browser will launch the test
suite.
PhantomJS is a headless, WebKit-based browser. It allows running the tests directly from the command line.
In order to run the test from the command line, you need to install Node, npm and PhantomJS. Note that npm comes bundled with recent versions of Node.
Once these dependencies are installed, running the test suite should be as simple as:
$ npm test
Normally, producing a build of ReSpec should not be necessary for anyone, unless you're on the core development team. Certrainly don't bother with this if you are providing pull requests. But on occasion it can be useful in order to debug a painful corner-case, so here are the instructions. This not being something normally exposed to the world, they are a bit convoluted (and may be simplified).
That should be all. Normally, within a few minutes the W3C server will have picked up, gzipped, and published the latest and greatest version.
FAQs
A technical specification pre-processor.
The npm package respec receives a total of 260 weekly downloads. As such, respec popularity was classified as not popular.
We found that respec demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.