Affichage des modifications de code et des commentaires

Il s’agit de savoir si une fonctionnalité existe (éventuellement sous forme de plugin) ou s’il s’agit d’une demande de fonctionnalité au cas où elle n’existerait pas…

Ce que je recherche, c’est la possibilité d’afficher quelque chose comme ceci dans les discussions du forum Discourse :

Pas seulement l’affichage d’un extrait de code avec une coloration syntaxique spécifique au langage (nous avons déjà cette fonctionnalité en l’introduisant avec <kbd>\``php, par exemple, et en la fermant avec ````).

Ce que je veux, c’est pouvoir surligner une ligne, peut-être ajouter un commentaire et montrer une modification apportée à cette ligne. Ces fonctionnalités sont généralement utiles dans tous les forums discutant de sujets techniques où vous conseillez des modifications à appliquer ou pointez des zones problématiques.

Bien que nous utilisions GitHub pour notre projet, je ne demande pas spécifiquement d’afficher les modifications telles qu’elles apparaissent dans GitHub, mais plutôt quelque chose qui peut être saisi indépendamment dans Discourse - l’image ci-dessus n’est donnée qu’à titre d’exemple de l’apparence possible.

Vous pouvez afficher des diffs comme ceci :

Une ligne normale
- ligne supprimée
+ ligne ajoutée

```diff
Une ligne normale
- ligne supprimée
+ ligne ajoutée
```
6 « J'aime »

D’accord… ça a l’air :cool:

Est-il possible de le combiner avec une coloration syntaxique spécifique à la langue ?

Le code semble si terne sans elle, et tellement mieux avec.

Malheureusement non — je conviens que ce serait tout de même agréable. Nous utilisons highlight.js pour la coloration syntaxique. Il semble qu’une discussion similaire ait eu lieu sur leur dépôt GitHub, mais ils ont décidé que cela relevait du hors champ du projet.

3 « J'aime »

Hhmm :thinking:

Donc ils ont ce extrait de code ici. Ce qu’ils suggèrent, c’est que les gens l’implémentent en dehors du surligneur (dans ce cas, c’est marked.js, je suppose que la même chose pourrait être faite avec highlight.js).

Penses-tu que Discourse pourrait le faire ? Ou, pour reprendre la question précédente, est-ce que cela a du sens d’un point de vue architectural ?

Je suppose que l’idée générale est simplement de faire un remplacement de texte, supprimer les marques de diff, l’envoyer au surligneur de syntaxe, puis travailler dessus avec d’autres remplacements de texte ensuite. Cela semble très maladroit, mais en réalité, l’extrait n’est pas du tout si compliqué.

1 « J'aime »

C’est certainement possible, mais je ne pense pas que ce sera facile. Tout le coloriage syntaxique s’effectue en JavaScript, il pourrait donc être manipulé à l’aide d’un composant de thème.

1 « J'aime »

Comment les avez-vous rendus colorés ?

Type out the code block like this:

```diff
A normal line
- removed line
+ added line
```

Specifying diff as the syntax means that you can use + and - at the beginning of lines to highlight them green and red.

3 « J'aime »
Une ligne normale
- ligne supprimée
+ ligne ajoutée

Je l’ai fait ! Merci @david

2 « J'aime »

J’utiliserai désormais la structure diff, elle est utile.

Je ne vois pas Discourse mettre en œuvre cette autre suggestion du Gist ; plus j’y réfléchis, plus je suis convaincu qu’elle s’intégrerait parfaitement à l’intérieur du surligneur de syntaxe, et non à l’extérieur.

En somme, avec les années, il est logique d’ajouter certaines fonctionnalités aux surligneurs de syntaxe, et la tâche fondamentale de présenter le code de manière lisible s’étend naturellement pour afficher également certains aspects dynamiques du code.

Quoi a changé, où, par qui ; sur quoi je pointe ; quel commentaire utile explique le lien entre le code et l’endroit où il est publié, etc.

Merci à tous pour votre participation à cette discussion.

1 « J'aime »

Peut-être une alternative ?

<del>del</del> 
<ins>ins</ins> 

del
ins

4 « J'aime »