Tengo un sitio web de django donde me gustaría mostrar bloques de código con resaltado de sintaxis.
Instalé resaltado.js y, según sus instrucciones, estoy inyectando estilo y js en html, en este caso en base.html :
... <link rel="stylesheet" href="{% static 'highlight/styles/default.min.css' %}"> <script src="{% static 'highlight/highlight.min.js' %}"></script> <script>hljs.highlightAll();</script>Luego agrego código a alguna vista usando componentes dash html:
... html.Div([html.H3(title), html.Pre(html.Code(code, className=f'language-{lang}'))])El código no está resaltado de sintaxis. No estoy seguro de cómo solucionar este problema.
Editar: si codifica un elemento <pre><code>...</pre><code> en una plantilla html que se le aplicará resaltar.js, donde la inspección del elemento muestra las diversas transformaciones de cada palabra en el código bloquear. Sin embargo, si el HTML se genera mediante un guión, como en el ejemplo anterior, es simplemente un bloque <pre><code>...</pre><code> simple. ¿Cómo permito que Highlight.js se aplique al HTML generado por guión?