bevy-website icon indicating copy to clipboard operation
bevy-website copied to clipboard

Make code blocks more readable

Open TrialDragon opened this issue 2 months ago • 14 comments

Why

Folks found that the inline code blocks looked weird and lacked contrast making them hard or annoying to read.

What

Fixes #2175

Uses darker colors for darkmode code block background and lighter on light mode (also made light mode background darker to let the contrast show through; this probably needs more work in a proper lightmode redesign PR). Also decreases the empty space next in the blocks so that it doesn't look like there is a space character when their isn't, especially when there is punctuation next to a code block. Also lowered the border radius and made it relative so that it isn't cutting into the letters in an ugly way.

How

Changed color variables (and linked the two separate code background colors that were the same), changed paddings and margins of content lists, and changed the global border radius variable.

Try

  1. Switch into your bevy website directory 1.opt Add my repository for the site if you haven't before: git remote add trialdragon [email protected]:TrialDragon/bevy-website.git
  2. Fetch my repository for the site: git fetch trialdragon
  3. Switch into the branch for this PR: git switch trialdragon/2175_improve_readability_of_code_blocks
  4. Run the site: zola serve --open 4.opt If you need to install Zola, see https://www.getzola.org/documentation/getting-started/installation/
  5. Explore the site, use it, see how you feel about the styling changes.

TrialDragon avatar Oct 07 '25 00:10 TrialDragon

Here's some before and after screenshots, for other reviewers:

image image

BD103 avatar Oct 19 '25 03:10 BD103

@cart do you want to bikeshed this before I merge? I think that this is a clear improvement personally, especially in light mode.

alice-i-cecile avatar Oct 20 '25 04:10 alice-i-cecile

I like the light mode changes, but I object to how dark the dark mode background is. Significant vibe shift, and imo stands out too much from the other colors in the scheme.

Feel free to merge the light mode changes as-is. But I'd block on the current dark mode colors. I'd like something closer to the current color scheme for dark mode. Ping me again if theres another iteration (or create a new pr for the dark mode proposal).

cart avatar Oct 20 '25 23:10 cart

Actually I object to the light mode changes too. Its trading the default text contrast for the code contrast, which feels wrong.

cart avatar Oct 20 '25 23:10 cart

I object to how dark the dark mode background is

The problem is that without this change, there's just not enough contrast. The inline code sections don't stand out against the page background, they are nearly invisible. And you can't make them lighter, since then you would have a hard time reading the text, unless you plan to lighten the text too.

viridia avatar Oct 21 '25 05:10 viridia

@cart, how does this look?

Light Mode
Before Screenshot From 2025-10-21 17-28-02
After Screenshot From 2025-10-21 17-28-09
Dark Mode
Before Screenshot From 2025-10-21 17-45-25
After Screenshot From 2025-10-21 17-45-32

TrialDragon avatar Oct 22 '25 00:10 TrialDragon

The inline code sections don't stand out against the page background, they are nearly invisible

This was actually the point. The difference between a "code section" and a "text section" isn't so important that it needs to yell "I AM A CODE SECTION". There is enough of a distinction to indicate that something is different, while still occupying roughly the same amount of mental space (and color scheme) as the background.

cart avatar Oct 24 '25 23:10 cart

@TrialDragon the new changes in dark mode still feel too "loud" to me / go against the idea in my previous message.

cart avatar Oct 24 '25 23:10 cart

The inline code sections don't stand out against the page background, they are nearly invisible

This was actually the point. The difference between a "code section" and a "text section" isn't so important that it needs to yell "I AM A CODE SECTION". There is enough of a distinction to indicate that something is different, while still occupying roughly the same amount of mental space (and color scheme) as the background.

I'm not sure what you are advocating here. Are you saying that things are fine as is, and we don't need to change anything? Look at the screenshot I posted in https://github.com/bevyengine/bevy-website/issues/2175 - the distinction between code and text is so subtle as to be nearly invisible, even to someone with reasonably good eyesight.

This complaint is mainly about inline code sections, not block code sections. The block sections are large enough that the distinction, even though subtle, can be seen relatively easily. But the inline code sections, which use the same color scheme, are really hard to see. If I turn my head and look for a moment at a bright light or window, I can't make them out at all until I give my eyes time to adjust.

viridia avatar Oct 25 '25 03:10 viridia

I do agree that inline code blocks could use a legibility boost. I'd like to explore solutions that don't throw out the current "character" of the larger code blocks.

cart avatar Oct 28 '25 21:10 cart

I do agree that inline code blocks could use a legibility boost. I'd like to explore solutions that don't throw out the current "character" of the larger code blocks.

So try to split up the color definitions so that larger code blocks have the old / current color and inline code blocks have a newer more contrasting color?

TrialDragon avatar Oct 29 '25 00:10 TrialDragon

Definitely one path worth exploring. Some other potential paths:

  1. Increase the size of the surrounding block to make it more prominent
  2. Tweak the text color inside of the block slightly to make it pop more
  3. Keep the colors tied together, but just slightly adjust the contrast rather than a more drastic change.

For future comparison images, compare against main rather than the current contents of the PR.

cart avatar Oct 29 '25 01:10 cart

  1. Increase the size of the surrounding block to make it more prominent

Please don't do this - there's already too much padding in inline code blocks, look at any code followed by punctuation, it looks weird and disconcerting.

viridia avatar Oct 29 '25 01:10 viridia

Please don't do this - there's already too much padding in inline code blocks, look at any code followed by punctuation, it looks weird and disconcerting.

I do agree that there isn't really much room to grow, ~~at least~~ especially in the horizontal direction.

cart avatar Oct 29 '25 01:10 cart