Ajouter la coloration syntaxique avec Highlight js

Inscris-toi

(c'est gratuit !)

Un compte est nécessaire pour participer aux discussions.

Créer un compte

Toutes les questions

Beachmountains

23 septembre 2024

Résolue
10 réponses

Problème de couleur avec highlight.js

Bonjour, j'ai un probleme avec la fonction `hljs.highlightAll();` la couleur ne fonctionne pas j'ai bien mis dans html `` Et l'autre `` ![](/media/mentoring/Probl%C3%A8me_de_couleur_avec_highlight.js-1648x928.webp)

Pour terminer notre projet, nous allons utiliser la librairie highlight js pour styliser les blocs de codes de l'IA.

Pour commencer, nous allons ajouter la librairie javascript et la feuille de style dans le <head> de notre page index.html :

<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/highlight.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/styles/default.min.css">

De retour dans l'événement d'envoi du formulaire, nous allons ajouter un bloc try /catch / finally pour terminer le traitement du message une fois le stream terminé :

document.addEventListener("DOMContentLoaded", () => {
    const form = document.querySelector("#prompt-form");
    const spinnerIcon = document.querySelector("#spinner-icon");
    const sendIcon = document.querySelector("#send-icon");

    form.addEventListener("submit", async (event) => {
        event.preventDefault();
        spinnerIcon.classList.remove("hidden");
        sendIcon.classList.add("hidden");

        const prompt = form.elements.prompt.value;
        addToLog(prompt);

        try {
            const answerBlock = addToLog("GPT est en train de réfléchir...");
            const reader = await fetchPromptResponse();
            await readResponseChunks(reader, answerBlock);
        } catch (error) {
            console.error('Une erreur est survenue:', error);
        } finally {
            spinnerIcon.classList.add("hidden");
            sendIcon.classList.remove("hidden");
            hljs.highlightAll();
        }
    });
});

Dans le bloc finally, nous changeons les classes des icônes pour masquer l'icône de chargement et afficher de nouveau l'icône d'envoi.

Puis, nous utilisons hljs.highlightAll() pour ajouter la coloration syntaxique sur tous les blocs de code détectés sur la page.

Le catch nous permet en cas d'erreur de récupérer l'erreur et l'afficher dans la console.

Ce n'est pas fini...

Tu as complété % du parcours 🔥

Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.

Rechercher sur le site

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.