Änderungen im Code und Kommentare anzeigen

Es geht hier darum, ob eine solche Funktion bereits existiert (möglicherweise als Plugin), oder ob es sich um einen Feature-Wunsch handelt, falls dies nicht der Fall ist…

Ich suche nach der Möglichkeit, etwas wie Folgendes innerhalb von Discourse-Forum-Diskussionen anzuzeigen:

Nicht nur die Anzeige eines Code-Ausschnitts mit sprachspezifischer Syntaxhervorhebung (dies ist uns bereits möglich, indem wir ihn beispielsweise mit ```php einleiten und mit ``` abschließen).

Was ich möchte, ist die Möglichkeit, eine Zeile zu hervorheben, sie eventuell zu kommentieren und eine Änderung an der Zeile zu zeigen. Dies ist in Foren, die sich mit technischen Themen befassen, üblicherweise nützlich, wenn man Änderungen empfiehlt, die vorgenommen werden sollen, oder problematische Bereiche aufzeigt.

Obwohl wir für unser Projekt tatsächlich GitHub verwenden, bitte ich nicht speziell darum, Änderungen so darzustellen, wie sie in GitHub erfolgen, sondern vielmehr um eine Lösung, die unabhängig innerhalb von Discourse eingegeben werden kann – das obige Bild dient nur als Beispiel dafür, wie dies aussehen könnte.

Sie können Diff-Ansichten wie folgt anzeigen:

Eine normale Zeile
- entfernte Zeile
+ hinzugefügte Zeile

```diff
Eine normale Zeile
- entfernte Zeile
+ hinzugefügte Zeile
```
6 „Gefällt mir“

Okay… das sieht :cool: aus

Gibt es eine Möglichkeit, das mit sprachspezifischer Syntaxhervorhebung zu kombinieren?

Der Code wirkt so langweilig ohne und so toll damit.

Leider nicht – ich stimme zu, es wäre trotzdem schön. Wir verwenden highlight.js für unsere Syntax-Hervorhebung. Es scheint eine ähnliche Diskussion in deren GitHub-Repository gegeben zu haben, aber sie entschieden, dass dies nicht in den Aufgabenbereich des Projekts fällt.

3 „Gefällt mir“

Hhmm :thinking:

Sie haben diesen Gist-Ausschnitt dort. Ihr Vorschlag ist, dass Leute das außerhalb des Highlighters implementieren (in diesem Fall ist es marked.js; ich vermute, dasselbe ließe sich auch mit highlight.js machen).

Denkst du, dass Discourse das könnte? Oder, um vorwegzugehen: Ergibt das architektonisch überhaupt Sinn?

Die Grundidee ist wohl einfach, eine Suchen-und-Ersetzen-Operation durchzuführen, die Diff-Markierungen zu entfernen, den Text an den Syntax-Highlighter zu übergeben und ihn danach mit weiteren Suchen-und-Ersetzen-Operationen weiterzuverarbeiten. Das klingt sehr umständlich, aber die Wahrheit ist, dass der Ausschnitt gar nicht so kompliziert ist.

1 „Gefällt mir“

Es ist zwar möglich, aber ich denke nicht, dass es einfach sein wird. Die gesamte Syntax-Hervorhebung erfolgt in JavaScript, sodass sie über eine Theme-Komponente manipuliert werden könnte.

1 „Gefällt mir“

Wie hast du sie eingefärbt?

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 „Gefällt mir“
Eine normale Zeile
- entfernte Zeile
+ hinzugefügte Zeile

Ich habe es geschafft! Danke @david

2 „Gefällt mir“

Ich werde ab jetzt die diff-Struktur verwenden, sie ist hilfreich.

Ich sehe nicht, dass Discourse den anderen Vorschlag aus dem Gist umsetzt. Je mehr ich darüber nachdenke, desto mehr bin ich überzeugt, dass er perfekt in den Syntax-Highlighter hinein und nicht außerhalb gehören würde.

Im Grunde macht es im Laufe der Jahre Sinn, Syntax-Highlightern einige Funktionen hinzuzufügen, und die grundlegende Aufgabe, Code auf eine leicht lesbare Weise anzuzeigen, erweitert sich natürlich auch darauf, einige der Dynamiken des Codes zu zeigen.

Was hat sich geändert, wo, von wem; worauf deute ich; welcher hilfreiche Kommentar erklärt die Beziehung des Codes zu dem Ort, an dem er gepostet wird, usw.

Vielen Dank an alle für ihre Teilnahme an dieser Diskussion.

1 „Gefällt mir“

Maybe an alternative?

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

del
ins

4 „Gefällt mir“