Category image heights / General understanding of theme variables

Hey all,

while playing with some theme modifications I noticed this piece of SCSS code

@supports (--custom: property) {
  .category-logo.aspect-image {
    --max-height: 150px;
    max-height: var(--max-height);
    max-width: 60%;
    height: auto;
    width: calc(var(--max-height) * var(--aspect-ratio));

  }
}

I wonder what a proper way is (if there’s anyI) to change the max-height var here.

1 Like

I’m not sure what you’re trying to achieve, but if you just want to make the logo bigger / smaller then here’s something to get you started.

The category logo is used in a couple of places by default - on the categories page and on specific category pages.

If you want to modify the logo sizes in both those locations, you can use this

@supports (--custom: property) {
  .category-logo.aspect-image {
    --max-height: 200px; // change 200 to the desired height
  }
}

Once you change the--max-height variable, the width should adjust automatically.

If you want to something more specific, like changing the logo sizes on the categories page only, then please check the desktop_category_page_style site setting on your site and let me know what it’s set to.

If you want the change to only occur on desktop, then add the CSS above to the desktop CSS tab of your theme. If you want it to only occur on mobile then add it to the mobile CSS tab. If you want it to occur on both mobile and desktop, then add it to the common CSS tab.

5 Likes

Hmm, I’ve tried to change the --max-height as you’ve suggested and while that part updates in the inspector, the image stays the same size.

I’ve noticed in the inspector that the --aspect-ratio value doesn’t seem to be set (there’s no clickable link in Chrome to the value) and I can’t figure out where it may be set. I’ve searched the Discourse GitHub code but still can’t find it.

Any idea how I can either find where the --aspect-ratio is being set or what value I should set for it?

Edit: found the problem, the height was being set by the Discourse Category Headers theme component

.category-header-widget .category-logo.aspect-image,
.category-header-widget .category-logo.aspect-image>img {
    float: left;
    margin: 0 0.5em 0.25em 0;
    max-height: 150px;
}

So I just overrode the max-height in my theme.

category-header-widget .category-logo.aspect-image,
.category-header-widget .category-logo.aspect-image>img  {
	max-height: 80px;
}

Edit #2: your suggestion did work for the category icons on the category page, so thank you!

3 Likes