Files
jq/docs
Nicolas Williams bd7b48c1b9 Make |= delete LHS when RHS is empty (Fix #1314)
Now that #1313 is fixed, |= no longer outputs null when the RHS update
expression outputs empty.

When a user wants to keep the current value of the LHS they would have
the RHS update expression output `.`, so having `empty` achieve the same
thing would be redundant.  The obvious thing to do is to delete the LHS
when the RHS update outputs `empty` (i.e., doesn't output any values).

It's reasonable to think that existing programs won't be broken by this
change, because reduce and |= not handling empty well is clearly a bug.
(Though it's possible that some programs were using empty to quickly
terminate reduce or |=, it's not likely.  They should use label/break
instead.)

Prior to this change |= would use the _last_ value output by the RHS
update expression.  With this change |= will use the _first_ value
instead.  This change _is_ a minor backwards-incompatible change.  It
may or may not be acceptable; we'll see.  It is a useful change in that
it makes |= faster when the update expression produces multiple values.
2017-01-30 14:11:05 -06:00
..
2012-09-18 17:51:53 +01:00
2015-08-15 13:23:19 -07:00
2015-08-15 13:23:19 -07:00
2015-08-15 12:23:16 -07:00
2015-08-15 13:03:33 -07:00

Documentation

The jq website, manpages and some of the tests are generated from this directory. The directory holds a Bonsai website, and the manual is a YAML file in content/3.manual.

To build the documentation (including building the jq manpage), you'll need a working Ruby setup. The easiest way to get one is to install RVM and Ruby 1.9.3 like so:

\curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3

After that finishes installing, you'll need to make sure RVM is on your path by doing source $HOME/.rvm/scripts/rvm, or just opening a new shell. See https://rvm.io for more info on RVM.

Once RVM is installed, you can install all the dependencies for jq's documentation build by running this from the docs directory:

bundle install

When bundle manages to install the dependencies, rerun ./configure in the jq root directory and then the Makefile will be able to generate the jq manpage.