> whenever I’m scrolling HN before bed I feel like I’m pointing a flashlight at my face
Maybe don't scroll through HN before bed? You might sleep better :-)
Pie Jesu Domine, Dona eis requiem.
In Emacs-eww, the nested replies are rendered flat, not indented, but you can set up a search on the "parent" hyperlinks. then search forward to move down the comment tree, or click the hyperlink to jump backup the tree.
When viewing in a modern browser a bit of javascript can make HN dark.
(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 = fg;
// 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;
}
// new case. comments now in a <div> with class commtext
let comments = document.getElementsByClassName('commtext');
for (let i=0; i<comments.length; i += 1) {
comments[i].style.backgroundColor = bg;
comments[i].style.color = fg;
}
document.body.style.backgroundColor = '#000000';
document.body.style.color = '#FFFFFF';
}());Obviously the text from `user_profile.custom_css`. Users then will test and share their CSS in a (past)-able threads. We don’t even need prefer-*, just make a user css textbox and cat it after hn.css.
I do wonder why light mode is the default though, since historically computers had bright characters on black screens, and this is supposed to be "hacker news". It wasn't until the 90s when white backgrounds became normalized. Even though many users may not be old enough to remember the days of using MS-DOS, "dark mode" is generally quite popular among techies. I really wonder what a poll would show here.
!news.ycombinator.com (Hacker News)
news.ycombinator.com##body:style(color: #CCCCCC !important; background-color: #1A1A1A !important; )
news.ycombinator.com##table:style(background-color: #2B2B2B !important; )
news.ycombinator.com##input:style(background-color: #DFDFDF !important; )
news.ycombinator.com##table, tr, td, .pagetop, .score:style(color: #CCCCCC !important; )
news.ycombinator.com##td:style(border: 1px solid #2B2B2B !important; background-color: #2B2B2B !important; )
news.ycombinator.com##b:style(color: inherit !important; )
news.ycombinator.com##a, .c00:style(color: #eee !important; )
news.ycombinator.com##.c00 a:style(color: rgb(49, 140, 212) !important; )
news.ycombinator.com##.comhead, .subtext:style(color: #828282 !important; )
news.ycombinator.com##.comhead > a, .subtext > a:style(color: orange !important; )
news.ycombinator.com##.comhead font:style(color: #5a5a5a !important )
news.ycombinator.com##.c5a, .c88, .c9c:style(color: #999 !important; )
news.ycombinator.com##input:style(color: black !important; )
news.ycombinator.com##textarea:style(background-color: #C0C0C0 !important; border-left: 12px solid #AAAAAA !important; )
news.ycombinator.com##font[color="#000000"]:style(color: #a3b72c !important; Like so
indented
Back to origin
Every line with four intial space AND any indent space