michal-h21 / make4ht

Build system for tex4ht
131 stars 15 forks source link

minted css colors based on IDs, not class names #103

Closed yalguzaq closed 9 months ago

yalguzaq commented 1 year ago

The package minted, when translated to CSS, uses HTML id's to color the code:

image <span id='textcolor5'><span class='ectt-1000'>import</span></span><span class='ectt-1000'> </span><span id='textcolor6'><span class='ectt-1000'>configparser</span></span><span id='textcolor7'><span class='ectt-1000'>,</span></span><span class='ectt-1000'> </span><span id='textcolor8'><span class='ectt-1000'>boto3</span></span><span id='textcolor9'><span class='ectt-1000'>,</span></span><span class='ectt-1000'> </span><span id='textcolor10'><span class='ectt-1000'>os</span></span><span id='textcolor11'><span class='ectt-1000'>,</span></span><span class='ectt-1000'> </span><span id='textcolor12'><span class='ectt-1000'>time</span></span><span id='textcolor13'><span class='ectt-1000'>,</span></span><span class='ectt-1000'> </span><span id='textcolor14'><span class='ectt-1000'>json</span></span>

I would argue that this is a bad design since combining several translated files into one often causes conflicts in definitions. See for instance this question.

Would it be possible to color the code chunks using CSS classes instead of HTML IDs?

michal-h21 commented 1 year ago

There are two solutions for this issue:

join_colors should be already available in the CTAN version, so you can use that with:

 $ make4ht -f html5+join_colors filename.tex