← richliu.com / Post
中文 EN

Plurk Dark Mode

2026-04-02 CSS Tampermonkey Dark Mode Frontend

The Problem: Custom Themes Only Work on the Main Timeline

Plurk lets you apply custom CSS themes to your timeline — but that styling only takes effect on the main feed page. The moment you open an individual plurk in its own tab, you're back to the default white background, which is rough on the eyes in a dark room.

Two solutions follow: a pure CSS snippet for the main page, and a Tampermonkey script that covers all Plurk pages.

Solution 1: CSS (paste into Plurk Theme Settings)

Go to Plurk Settings → Themes → Custom CSS and paste the following:

/* Plurk Dark Mode - main timeline */
body, #main_content {
  background-color: #1a1a1a !important;
  color: #eee !important;
}

.content_holder, .plurk_cnt, .response_cnt {
  background: #2a2a2a !important;
  color: #eee !important;
}

.input_holder, .plurk_add_response {
  background: #333 !important;
  color: #eee !important;
}

a { color: #7ab8ff !important; }
a:hover { color: #aacfff !important; }

Solution 2: Tampermonkey (covers all Plurk pages)

Install Tampermonkey, then add a new script with the following content:

// ==UserScript==
// @name         Plurk Dark Mode
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Dark mode for Plurk, including individual post pages
// @match        https://www.plurk.com/*
// @grant        GM_addStyle
// ==/UserScript==

GM_addStyle(`
  body, #main_content, .content_holder,
  .plurk_cnt, .response_cnt {
    background-color: #1a1a1a !important;
    color: #eee !important;
  }

  .cnt_box, .response_box {
    background: #2a2a2a !important;
    border-color: #444 !important;
  }

  .content_holder { background: #282828 !important; }
  .input_holder   { background: #333 !important; color: #eee !important; }
  .plurk_add_response textarea {
    background: #3a3a3a !important;
    color: #eee !important;
  }

  .user_card, .timeline_holder {
    background: #505050 !important;
  }

  a { color: #7ab8ff !important; }
`);

Color Palette

Notes

Plurk's HTML structure is deeply nested and full of specificity battles, so getting the CSS right took more effort than expected. Claude helped debug the final version. Feel free to use or adapt this for your own Plurk setup.