Hacker News new | ask | show | jobs
by perihelions 735 days ago
I have a uBlock filter rule that does something like this, but with a plain regex,

    ycombinator.com##:xpath(//span[contains(@class,"age")]/a):has-text(/(\d+) minute(s?) ago/):style(color: Teal !important; font-weight: bold)
It highlights both comments and posts.

(I like using this trick, the uBlock regex → CSS matching rule that's so generically useful. I can configure things I'd otherwise be too lazy to configure, if it wasn't for uBlock).

1 comments

This is neat. Can these rules compare the votes on a post or number of comments to intensify the color accordingly?
If you mean new comments relative to previous visits, then I believe no; uBlock is stateless as far as I know.

If you mean absolute numbers, then, uBlock filters don't have a Turing-complete programming language (by intentional design), so there's nothing idiomatic for that. If you're categorizing integers by range, you can technically do that in regular expression languages (this is really an anti-pattern),

    ycombinator.com##:xpath(//span[contains(@class,"score")]):has-text(/\b[5-9]\d points/):style(color: Orange !important; font-weight: bold)
    ycombinator.com##:xpath(//span[contains(@class,"score")]):has-text(/\d{3} points/):style(color: Red !important; font-weight: bold)
That's 50-99 and 100+ score points.

    ycombinator.com##:xpath(//span[contains(@class,"subline")]/a):has-text(/\b[5-9]\d\s+comments/):style(color: Orange !important; font-weight: bold)
    ycombinator.com##:xpath(//span[contains(@class,"subline")]/a):has-text(/\d{3}\s+comments/):style(color: Red !important; font-weight: bold)
Same for comment counts.