Making custom highlighting styles in Hugo with Chroma
Hugo uses Chroma for syntax highlighting. Hugo has a {{ < highlight > }} shortcode.
Custom Styles
For this site I made some custom styles. To do this, we need to change the highlighter to use classes.
markup:
highlight:
noClasses: falseGenerate CSS
hugo gen chromastyles --style swapoff > syntax.cssThis gives you a baseline style to work with. The classes are fairly straight forward. Using the browser inspect tool, you’ll find it easy to see the class to target.
CSS Variables allow for you to standarize the colors. My example below is not great but gives you an idea of some options.
.chroma {
--yellow-bright: #ffff9d;
--yellow-dim: #c9c95c;
--error: #ffb48e;
--keyword: #ffb48e;
--orange-dim: #ffc2aa;
--variables: #77a5a1;
--attribute: #68c8d2;
--o: #b3ffa4;
--p: #62b0b0;
}
.chroma .nx {
color: var(--o);
}