lobste.rs is overriding this in local.css but at least other sites
can get a basic thing there.
mention in README that local css should go into a directory.
The previous version of `htmlentities` had a duplicate key in one of
its hashes, which produced the following warning:
```
.../htmlentities-4.3.2/lib/htmlentities/mappings/expanded.rb:465:
warning: key "inodot" is duplicated and overwritten on line 466
```
Updating to the latest removes this warning.
Username linking was disabled in
0f498d3ee3, leaving the test suite in a
failing state. This test can be restored when the functionality is
re-introduced.
Judging from the test suite, the only issue in supporting Ruby 2.2.0+
was with the `mysql2` gem. Updating this to the latest 0.3.x allows
Lobsters to run with newer Rubies.
We can't update to the absolute latest `mysql2` gem without first
updating Rails, which is why I used the pessimistic version constraint
for `mysql2`.
I've changed this a few times because I didn't want to show
"discuss" to non-users, but they at least need a link to the story
to copy, so show a link with "no comments" to them.
We force a connection to a pre-resolved IP to avoid being tricked
into connecting to a local host, but hosts that use SNI need the
hostname in the SSL negotiation instead of an IP.
Fixes the problem with CloudFlare blocking requests to medium.com,
which prevented the URL canonicalization code from being run when a
medium URL was submitted, which prevented us from stripping off
those stupid referral codes medium attaches to URLs (which could
be stripped out in Story#url= but medium allows custom domains, so
that wouldn't work for things like m.signalvnoise.com).
Code from Pushover.
but not take them into its score, just its hotness value. this way
when a new winning story takes over an upvoted story, the hotness
value will be near the losing one.