Ändern Sie das Styling von Inline-Codeblöcken, damit sie besser hervorstechen

Ein Teams-Kunde bittet um Inline-Codeblöcke, die besser hervorstechen. Derzeit unterscheidet sich der Codeblock in dunklem oder hellem Modus farblich nicht stark von anderem Text. Könnten wir die Textfarbe in Discourse standardmäßig ändern, sodass eine auffälligere Farbe verwendet wird, z. B. Rot?

Ich weiß, dass dies für die meisten Kunden kein großes Problem darstellt, da sie das Thema anpassen können, um das CSS auf ihrer Website zu ändern. Für Discourse for Teams ist diese Art der Anpassung jedoch nicht möglich. Währenddessen ist es für Teams, die Code diskutieren, von großer Bedeutung, dass er sich deutlich von anderem Text abhebt.

2 „Gefällt mir“

Danke Tobias. Ich möchte betonen, dass ich ausschließlich über Inline-Blöcke spreche. Ich habe keine Bedenken bezüglich mehrzeiliger Elemente.

2 „Gefällt mir“

Ja, die mehrzeiligen Blöcke sind ziemlich cool.

Es gibt andere Wege, Text zu markieren, aber offensichtlich ist das Backtick am zweckmäßigsten.

2 „Gefällt mir“

Zur Information, wenn Sie ein HTML-Noob sind wie ich (ich musste danach suchen):

  1. <kbd>Fancy!</kbd> wird mit <kbd>Fancy!</kbd> erstellt
  2. <ins>Ohhhh!</ins> wird mit <ins>Ohhhh!</ins> erstellt

Es ist nützlich zu wissen, danke @tobiaseigen.
Ich denke immer noch, dass es sinnvoll wäre, das CSS für dieses ebenfalls anzupassen. Wir haben einige technische Beiträge, die viele Backticks verwenden, und die Verwendung der beiden Alternativen ist definitiv nicht so benutzerfreundlich.

3 „Gefällt mir“

Ein Tipp für das nächste Mal: Zitiere einfach den Beitrag, bei dem du wissen möchtest, wie das geht, dann kannst du es sehen.

3 „Gefällt mir“

Entschuldigen Sie das! Normalerweise würde ich den Trick verraten, aber ich war an meinem Handy und hatte es ein wenig eilig.

Ein weiterer nützlicher Trick, um zu sehen, wie ein Beitrag erstellt wurde, ist die Verwendung der Roh-URL, z. B. https://meta.discourse.org/raw/57255/7

4 „Gefällt mir“

Oh, es gibt noch eine dritte Möglichkeit, etwas hervorzuheben, die auch nett ist und die ich immer wieder vergesse. Sie sieht so aus und wird mit diesem HTML-Markup <mark>Text</mark> gemacht. Es gibt eine von der Community beigesteuerte Theme-Komponente (nicht in Teams verfügbar), mit der Sie stattdessen ==Text== verwenden können, was sehr praktisch ist. Ich finde sie aus irgendeinem Grund gerade nicht.

Aber anyway, ich werde mit meinen Kollegen darüber sprechen, das Standard-Styling von Codeblöcken zu aktualisieren, damit sie auffälliger sind. Vielleicht reicht es auch schon, die Hintergrundfarbe des Codeblocks deutlicher zu gestalten.

3 „Gefällt mir“

Hier ist ein PR, der Inline-Codeblöcke im Kern ändert: PR: Inline code block styling edits by jordanvidrine · Pull Request #16394 · discourse/discourse · GitHub

6 „Gefällt mir“

Entschuldigung … ich mache das vorerst rückgängig.

3 „Gefällt mir“

Inline-Code sah schon immer wie normaler Code aus, in einer (monospaced) Schriftart. Alles, was sehr hell und grell ist, wäre stark von der Community abhängig und definitiv nicht konsistent mit der Art und Weise, wie ich Code an den meisten Stellen im Web sehe.

Das Thema Syntaxhervorhebung ist anders; man bräuchte mehrere Codezeilen, um zu bestimmen, mit welcher Syntax man es zu tun hat. Vielleicht war das die Wurzel des Problems – wenn man Syntaxhervorhebung wünscht, braucht man einen Block von Code, z. B.

var x, y, z;  // Deklariere 3 Variablen
x = 5;    // Weise x den Wert 5 zu
y = 6;    // Weise y den Wert 6 zu
z = x + y;  // Weise z die Summe von x und y zu

document.getElementById("demo").innerHTML =
"Der Wert von z ist " + z + ".";

Ein einzelnes Code-Element ist von allem Kontext getrennt, der für die Syntaxhervorhebung notwendig ist. Man könnte jedoch eine einzelne Zeile JavaScript machen:

"Der Wert von z ist " + z + ".";

Was so aussieht wie

``` javascript
"Der Wert von z ist " + z + ".";
```

Ich schätze, hier geht es also um Codeblöcke im Gegensatz zu einem Wort von Code.

3 „Gefällt mir“

Ich schätze, @jordan.vidrine, hier gibt es Marschbefehle. Machen Sie einfach eine vollständige Rückgängigmachung der Änderung. Vielleicht erstellen Sie eine Theme-Komponente für „alternative Code-Stile“, die sie für Inline-Code vollständig wie Slack rot färben kann, da sie eine Komponente ist.

3 „Gefällt mir“

Diese jüngste Iteration war eine Theme-Komponente, die auf Meta aktiv war, und keine tatsächliche Änderung, daher habe ich sie deaktiviert.

4 „Gefällt mir“

Keine Änderung erforderlich. :+1:

Ich denke, die Anforderung war wirklich, eine schnelle und einfache Möglichkeit zu finden, Text in Diskussionen hervorzuheben. Viele Leute (einschließlich mir) haben angefangen, Backticks zum Hervorheben von Text zu verwenden, weil es super einfach ist. Man muss nicht einmal die Umschalttaste drücken, und es ist im Menü zu finden. Aber es hebt sich nicht sehr gut vom Rest des Textes im Absatz ab.

Fett und Kursiv sind ebenfalls im Menü und fallen auch nicht sehr auf. Andere Möglichkeiten, Text inline hervorzuheben, erfordern mehr Tastenanschläge. Außerdem sind sie nicht prominent dokumentiert und erfordern daher Insiderwissen.

Soweit ich weiß, sind dies die besten Optionen:

Button <kbd>Button</kbd>
Grüne Unterstreichung <ins>Grüne Unterstreichung</ins>
Roter Durchstreich <del>Roter Durchstreich</del>
Hervorhebung <mark>Hervorhebung</mark>
Durchstreich <strike>Durchstreich</strike>

Für Leute, die Plugins installieren können, gibt es das offizielle Discourse BBCode color Plugin. Und für diejenigen, die keine Plugins installieren können, hat @merefield die Theme-Komponente Discourse Coloured Text erstellt.

Ich mochte auch die Theme-Komponente, die ==hervorheben== in <mark>hervorheben</mark> umwandelte, habe aber hier auf Meta den Überblick verloren.

3 „Gefällt mir“

Dies müsste derzeit in einem Plugin erfolgen, da Sie es in HTML einbetten möchten und nicht nur eine clientseitige Transformation durchführen.

Wenn ich mir https://markdown-it.github.io/ ansehe, scheint es jetzt standardmäßig in markdown.it im nicht-strengen Modus aktiviert zu sein, @Vitaly?

3 „Gefällt mir“

Interessant. Danke für die Erklärung.

Ich habe das Plugin, das dies tut, heute zufällig gefunden, als ich durch die #plugin-Kategorie gescrollt bin. Lustig, wie man in manchen Fällen einfach nicht auf das richtige Schlüsselwort kommt, um ein Plugin zu finden. :rofl:

2 „Gefällt mir“

Ich verstehe… die Root-Implementierung ist hier:

1 „Gefällt mir“

Unabhängig von der Lösung gibt es meiner Meinung nach ein klares UX-Problem mit dem aktuellen Design des code blocks. Der Kontrast ist fast nicht vorhanden.

Um @codinghorror zu zitieren, würde ich im Gegenteil sagen, dass „die meisten Orte im Web“ dieses Problem nicht aufweisen.

Siehe GitHub:

oder Slack:
image

oder sogar Notion
image

Ich würde argumentieren, dass sowohl grüner Unterstrich als auch Hervorhebung das genaue Gegenteilige Problem mit unnötig hohem Kontrast haben, aber das ist eher Geschmackssache als ein UX-Problem.

Wie wäre es mit der Implementierung des GitHub-Ansatzes mit einem dunkleren grauen Hintergrund und etwas Polsterung?

2 „Gefällt mir“

Wo es kompliziert wird, ist die Befürwortung einer großen Änderung an jeder einzelnen Discourse-Instanz, von denen viele an das aktuelle, milde Styling gewöhnt sind. Das ist ein großer Käsezug.

Die Umgehungslösung, einfach CSS hinzuzufügen, existiert bereits für die meisten Installationen.

1 „Gefällt mir“