2016-12-30 7 views
7

Ich spreche über github markdown hier für Dateien wie README.md.durchgestrichen code in markdown auf github

Frage: Ist es möglich, einen vollständigen Codeblock in Markdown auf Github zu durchstreichen?

Ich weiß, wie Text als Code-Block

this is 
multiline code 

and this

this

also

durch Einrücken von 4 Leerzeichen oder mit `` `oder` markieren ...

Ich weiß auch, wie man Streik durch Texte

mit
  • del tag
  • s tag
  • ~~

temporäre Lösung:

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

Vorerst Ich benutze diese:

striked

through

unter Verwendung ~~ und `für jede einzelne Zeile.

Anforderung:

Ich möchte einen Code formatierten Text durchgestrichen haben, wo der Code-Block kontinuierlich ist:

unfortunately, this is 
not striked through 

oder zumindest nur mit einem kleinen Absatz zwischendurch:

unfortunately, also not striked through

Ist das überhaupt möglich?

Ich fand einige alte Beiträge und Hinweise auf die Verwendung von Jekyll, aber was ich suchte, ist eine einfache Möglichkeit, vorzugsweise in Markdown.

Antwort

9

Dies wäre nur mit Raw HTML möglich, was GitHub nicht erlaubt. Aber Sie können möglicherweise ein Diff stattdessen verwenden.

Code blocks 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, mit dem der Inhalt eines Codeblocks markiert werden kann (fett, kursiv, hervorgehoben, unterstrichen usw.). Dies war eine absichtliche Designentscheidung. Wie wäre es sonst möglich, Markdown-Text in einem Codeblock anzuzeigen? Wenn Sie formatierten Text benötigen, müssen Sie etwas anderes als einen Codeblock verwenden.

Als rules Zustand:

HTML ist ein Verlag-Format; Markdown ist ein Schreiben Format. Die Formatierungssyntax von Markdown behebt also nur Probleme, die im Klartext vermittelt werden können.

Für jedes Markup, das nicht von der Markdown-Syntax abgedeckt wird, verwenden Sie einfach HTML selbst.

Daher müssten Sie Ihre eigenen HTML-Code-Block mit den verschiedenen Bits richtig markiert bis zu formatieren:

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

jedoch aus Sicherheitsgründen, wird GitHub in Ihrer Abschriften eine solche rohe HTML Streifen aus . Während dies funktioniert, wo Sie die volle Kontrolle über den gesamten Stack haben, ist es auf einem gehosteten Service höchstwahrscheinlich nicht möglich.

Ich nehme jedoch an, dass Sie einige Änderungen an einem Codeblock anzeigen möchten. Wie sich herausstellt, existiert dafür bereits ein spezifisches Format. Nämlich eine diff. Verwenden Sie einfach einen eingezäunten Codeblock mit diff als Sprache und GitHub es formatiert richtig:

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

Sie können sehen, wie GitHub zeigt die obige Codeblock live (Sie auch, dass in raw sehen kann), aber ich habe enthalten einen Screenshot für die Bequemlichkeit.

enter image description here

Ich stelle fest, dass die Formatierung nicht strike-through verwendet, sondern ist ein Format häufig verwendet und verstanden nicht verwendet. Für komplexere Blöcke sollten Sie wahrscheinlich das Dienstprogramm diff verwenden, um den Unterschied für Sie zu generieren.

+0

Sie haben richtig geraten, ich beabsichtige Unterschiede zu zeigen. Dies beantwortet jedoch die Frage sehr gut. Vielen Dank! – rocksteady

5

Erweiterung auf Waylan's answer:

Diese anderen mag offensichtlich sein, aber es mich erwischt. Wenn Sie eingerückte Zeilen haben, stellen Sie sicher, dass + oder - das erste Zeichen in der Zeile ist oder nicht hervorgehoben wird.

diff 

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

Zum Thema den Inhalt eines Codeblocks der Markierung nach oben, auf das Ende einer Zeile von „Code“ eine kursive Zeichenfolge, tack, versuchen Sie so etwas wie:

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

(Sie können dies in Aktion sehen unter:)

Ich hatte eine harte Zeit, ein Beispiel zu finden, das genau diesem Anwendungsfall entsprach, also hoffe ich, dass dies für jeden nützlich ist, der versucht, einen ähnlichen Effekt zu erzielen.

+0

Es gibt einen [Grund dafür, dass wir 50 Rep-Punkte benötigen, bevor Kommentare zugelassen werden können] (https://meta.stackexchange.com/q/214173/206345), und warum Täter des Antwortprivilegs ihre "Kommentare" löschen lassen können. Aber verzweifeln Sie nicht - Überprüfen Sie die Änderung, die ich an dem anderen Kommentar gemacht habe, um eine Antwort zu geben. Ihr Kommentar kann auch eine Antwort sein - wenn ja, [bearbeiten] Sie es. Wenn es sich um eine Widerlegung einer vorherigen Antwort handelt, gehört es nicht als Antwort und sollte gelöscht werden. – Mogsdad

Verwandte Themen