web-dev-qa-db-ger.com

durchgestrichener Code in Markdown auf Github

Ich spreche von github markdown hier für Dateien wie README.md.

Frage: Kann ein vollständiger Code-Block in Markdown auf Github durchgestrichen werden?

Ich weiß, wie man Text als Codeblock markiert

this is
multiline code

and this

this

also

durch Einrücken um 4 Leerzeichen oder mit `` `oder` ...

Ich weiß auch wie texte durchschlagen mit

  • del tag
  • s tag
  • ~~

Vorübergehende Lösung :

Unabhängig funktionieren sie gut, aber zusammen nicht wie erwartet oder gewünscht. Ich habe mehrere Kombinationen der oben genannten probiert.

Im Moment benutze ich das: 

striked

through

mit ~~ und `für jede einzelne Zeile.

Anforderung :

Ich möchte, dass ein Code-formatierter Text durchgestrichen wird, wobei der Codeblock fortlaufend ist:

unfortunately, this is
not striked through

oder zumindest mit nur einem kleinen Absatz dazwischen:

unfortunately, also not striked through

Ist das überhaupt möglich?

Ich habe ein paar alte Beiträge und Hinweise zur Verwendung von Jekyll gefunden.

15
rocksteady

Dies wäre nur mit rohem HTML möglich, was GitHub nicht erlaubt. Möglicherweise können Sie jedoch stattdessen einen diff verwenden.

Codeblöcke sind nur für "vorformatierten" Text. Die einzige Formatierung, die Sie in einem Codeblock erhalten können, ist die Formatierung, die im Klartext dargestellt werden kann (Einrückung, Großschreibung usw.). Es gibt keinen Mechanismus zum Markieren des Inhalts eines Codeblocks (fett, kursiv, gestrichen, unterstrichen usw.). Dies war eine beabsichtigte Designentscheidung. Wie könnten Sie sonst Markdown-Text in einem Codeblock anzeigen? Wenn Sie formatierten Text wünschen, müssen Sie etwas anderes als einen Codeblock verwenden.

Wie die Regeln State: 

HTML ist ein Publishing -Format. Markdown ist ein writing -Format. Die Formatierungssyntax von Markdown behebt daher nur Probleme, die in Klartext übermittelt werden können.

Für jedes Markup, das nicht mit der Markdown-Syntax abgedeckt ist, verwenden Sie einfach HTML.

Daher müssen Sie Ihren eigenen benutzerdefinierten HTML-Codeblock so formatieren, dass die verschiedenen Bits richtig markiert sind:

<pre><code><del>some stricken code</del>
<del>A second line of stricken code</del>
</pre></code>

Aus Sicherheitsgründen entfernt GitHub jedoch jeglichen solchen rohen HTML-Code in Ihrem Markdown. Das funktioniert zwar, wenn Sie den gesamten Stack voll im Griff haben, aber bei einem gehosteten Dienst ist dies höchstwahrscheinlich nicht möglich.

Ich gehe jedoch davon aus, dass Sie einige Änderungen an einem Codeblock anzeigen möchten. Wie sich herausstellt, existiert dafür bereits ein bestimmtes Format. Und zwar ein diff . Verwenden Sie einfach einen abgeschirmten Codeblock mit diff als Sprache, und GitHub formatiert ihn richtig:

```diff
  Unchanged Line
- Removed Line
+ Added Line
```

Sie können sehen, wie GitHub den obigen Codeblock live anzeigt (das können Sie auch in raw sehen), aber ich habe der Einfachheit halber einen Screenshot beigefügt.

 enter image description here

Ich stelle fest, dass die Formatierung nicht durchgestrichen wird, sondern ein allgemein verwendetes und verständliches Format. Bei komplexeren Blöcken sollten Sie wahrscheinlich das Dienstprogrammdiff verwenden, um den Diff für Sie zu generieren.

17
Waylan

Erweiterung auf Waylans Antwort :

Dies mag für andere offensichtlich sein, aber es hat mich erwischt. Wenn Sie Zeilen eingerückt haben, stellen Sie sicher, dass + oder - das erste Zeichen in der Zeile ist, oder es wird nicht hervorgehoben.

diff

<div>
  Unchanged Line
  <ul>
    - <li>This won't work</li>
-    <li>This will</li>
+    <li>1st character, then indent</li>
  </ul>
</div>
6
Jason Deppen

Um den Inhalt eines Codeblocks zu kennzeichnen, versuchen Sie Folgendes, um eine kursive Zeichenfolge an das Ende einer Zeile von "Code" anzuheften:

<code>id\_pn\_aside\_subscriber\_form\__form\_id_</code>

(Sie können dies in Aktion unter: https://github.com/devonostendorf/post-notif#how-do-you-use-the-stylesheet_filename-attribute-with-the-shortcode ) sehen.

Es fiel mir schwer, ein Beispiel zu finden, das genau zu diesem Anwendungsfall passte. Ich hoffe, dass dies für alle anderen nützlich ist, die versuchen, einen ähnlichen Effekt zu erzielen.

1
Devon Ostendorf