Remove embarrassing comment

In commit 7b0fe181968bbfd5, which I foolishly coded up at 1:15 in the
morning the other day, I accidentally committed a comment that I had
intended to be a local-only "TODO" reminder.

This commit removes the silly comment.

Change-Id: I075cf39cf95bcadc817253d4f1ed8239f4a17398
Reviewed-on: https://gerrit.causes.com/27111
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Add Backbone and Underscore components

For reasons explained at length in this epic ticket...

  https://github.com/bower/bower/issues/172

...we reference a shim/mirror repo here rather than the real thing.

I'll be using this subsequently to organize/structure some of the JS.

Change-Id: Ibc64d3d74a09fe8b55a4df93e08d2248e60d3a0a
Reviewed-on: https://gerrit.causes.com/27112
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Update to replace.js 0.0.2

We don't actually need any of the new functionality, but I wanted to
demonstrate to a colleague of mine how to do an update of a
Bower-managed component. We may as well keep it.

Change-Id: I9868133d1bd549c8cf102a70f101681192293562
Reviewed-on: https://gerrit.causes.com/27113
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Update to Bootstrap 3.0.0 final

Note that Glyphicons are included again, so we can remove that as a
separate dependency.

Change-Id: I67277d1af8062503fbc614def2b831015f148170
Reviewed-on: https://gerrit.causes.com/27114
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Fix style breakages caused by Bootstrap 3.0.0 final

Change-Id: I04b34e21ac0a6e77593a286b1b85eea1a63c5ec4
Reviewed-on: https://gerrit.causes.com/27115
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Convert russia.js to Backbone view

Backbone provides us with a nice means of structuring and organizing
client-side code. This is a more or less straight conversion of the old
code that was in russia.js to a new file at views/_russia.js.

I took inspiration from the declarative "data-view" pattern employed in
causes.git, but additionally I pass through any additional data
attributes on the element, which in this case I use to pass through
URLs. This makes life a little easier in the constructor function.

I took advantage of some of the niceties that Backbone provides, such as
easy binding of event handlers, scoped jQuery operations (via
`this.$()`), convenient access to `this.$el` and `this.el`, and
splitting the code into more readable functions (ie. `showNovelStats()`
and `render()`).

Change-Id: Ia117bcef2ff297aa4de76c2c71cf3b94bcb7c7f7
Reviewed-on: https://gerrit.causes.com/27116
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Return `this` from Backbone render() function

This is a best practice, as it enables chaining after a `render()` call.

Change-Id: I34f796404414c2d17f38da21a09f6b70798030c9
Reviewed-on: https://gerrit.causes.com/27117
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Convert _profile.js to Backbone view

This is much the same pattern as employed with _russia.js, but arguably
a little simpler as there are no event handlers and no additional
options getting passed around.

Change-Id: I3fa401b81409d5877457beda6e52567c9f391a7c
Reviewed-on: https://gerrit.causes.com/27118
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Rename russia.js to _russia.js for consistency

Change-Id: I1d8c249a2ce1ce9dd282f8a8f4887d0f0c37e31c
Reviewed-on: https://gerrit.causes.com/27119
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Return `this` from Twigg.Views.Profile.render()

Again, for conformity with best practices.

Change-Id: I498d78e7b99a4ea550e776e81042cfd82b863632
Reviewed-on: https://gerrit.causes.com/27120
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Make config initialization a little more terse

This is something I suggested to Henric in code review here:

  https://gerrit.causes.com/#/c/27012/2/twigg/lib/twigg/config.rb

Get rid of the somewhat ugly `if` conditional by teaching
`config_from_file` to do nothing when `path` is `nil`; as a bonus, this
allows us to simplify the other call sites as well.

Change-Id: I08c74d5ef6aa83bbe95f71d11f309f6388ba6873
Reviewed-on: https://gerrit.causes.com/27121
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Prevent file permission warnings from spamming during spec run

Without this, the Twigg::Config specs will (likely) cause the
world-readability check in `#config_from_file` to fire repeatedly and
spam the console with warnings about file system permissions (because
the templates/twiggrc.yml file almost certainly won't have the desired
600 permissions on it.

Use a stub to silence the warning.

Change-Id: I021b0cc1b3b9b4e1a594b099d31000d3750a9bf5
Reviewed-on: https://gerrit.causes.com/27122
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>