Why is custom CSS an important feature for you?

was commenting on this Enable userchrome.css for plugin webviews - #11 by laurent thread, but realized the convo moved here

I am realizing that you might have gone further with theme development than I realize. I think your idea of having the plugin developers deeply integrate into the theme is ideal.

There are a few pieces of a great theme, in my opinion:

  • Fonts
  • Colors
  • Icons
  • Layout
  • Spacing

It seems like fonts/colors might now have deeper integration with variables, I will check it out. The layout part is handled well from the Change Application Layout menu. I still would like the ability to adjust spacing (compact mode / whitespace mode), but not as big of a deal. Would love to have custom icons, but I feel like that is a stretch since the app uses a icon font.

For me, the main use for custom CSS is to override the base theme decisions – specific requests I've seen asked about recently are making font sizes different in note panel vs Markdown panel, changing the size / color of scrollbar, changing how the TOC is displayed (hide until hovered).

As someone who is much more familiar with HTML / CSS than building the app / modifying the code, I have really enjoyed the ability to "hack" Joplin with CSS. It makes the app extremely flexible in a way that no other app I've used ever has. To make this flow better, having an ID on each module in the app and applying state with CSS classes would be really great. I realize this is easier said than done. :slight_smile:

tl;dr: Improving theming is awesome! Having the ability to customize CSS is whatever way someone can dream up – that's a super power.

2 Likes