> When is Hacker News going to have an option for a dark mode.
Browsers have the alternate name "user agents" for a reason, they are ultimately intended to be working for you, the user.
Therefore, simply adjust your "user agent" (browser) to give you a dark mode, and you will have a dark mode, without needing or waiting for HN to change anything.
The comment from @LinuxBender here shows you one way to do so using uBlock Origin.
Probably never. Sadly the folks at HN have proved over the years that they don't really care about making this site's ui functional. There's no reason I should have to permanently zoom in on this site or make custom CSS just to do work that they should have done years ago. I can do it, but that's not the point. Is the gain in "retro styling" really worth the drop in UX? Do the people at HN truly believe that it's perfect and everyone who doesn't like it is just wrong? Or is it just laziness, (i.e. it works and our core users aren't leaving the platform over it, so it's not worth working on).
You can paste this snippet into the javascript console (ie F12). It's my 5 minute attempt at artsy dark colors. Code blocks are red as in Sith (star wars). And as a warning that code is dangerous.
(function hackerNewsDarkMode() {
let bg = '#35352B';
let fg = '#EEEED1';
let tables = document.getElementsByTagName('table');
for (let i=0; i<tables.length; i += 1) {
tables[i].style.backgroundColor = bg;
tables[i].style.color = fg;
}
let codes = document.getElementsByTagName('code');
for (let i=0; i<codes.length; i += 1) {
codes[i].style.backgroundColor = '#300000';
codes[i].style.color = '#FF0000';
}
let spans = document.getElementsByTagName('span');
for (let i=0; i<spans.length; i += 1) {
spans[i].style.backgroundColor = bg;
spans[i].style.color = fg;
}
let a = document.getElementsByTagName('a');
for (let i=0; i<a.length; i += 1) {
a[i].style.backgroundColor = bg;
a[i].style.color = '#66CDAA';
}
let divs = document.getElementsByTagName('div');
for (let i=0; i<divs.length; i += 1) {
divs[i].style.backgroundColor = bg;
divs[i].style.color = '#FFC0CB';
}
let textAreas = document.getElementsByTagName('textarea');
for (let i=0; i<textAreas.length; i += 1) {
textAreas[i].style.backgroundColor = "#000000";
textAreas[i].style.color = fg;
}
document.body.style.backgroundColor = '#000000';
document.body.style.color = '#FFFFFF';
}());
about:addons -> uBlock -> Preferences -> My Filters, then add
Then adjust it however you like it.[1] - https://addons.mozilla.org/en-US/firefox/addon/ublock-origin...