Je parle de github markdown ici, pour des fichiers comme README.md
.
Question: Est-il possible de biffer un bloc de code complet dans Markdown sur github?
Je sais comment marquer un texte comme un bloc de code
this is
multiline code
and
this
this
also
en indentant par 4 espaces ou en utilisant `` `ou` ...
Je sais aussi comment grève à travers les textes en utilisant
Solution temporaire :
Indépendamment, ils fonctionnent bien, mais ensemble, pas comme prévu ou souhaité. J'ai essayé plusieurs combinaisons de celles mentionnées ci-dessus.
Pour l'instant, j'utilise ceci:
striked
through
en utilisant ~~ et `pour chaque ligne.
Besoin :
J'aimerais avoir un texte formaté en code barré, où le bloc de code est continu:
unfortunately, this is
not striked through
ou du moins avec seulement un petit paragraphe entre:
unfortunately, also not
striked through
Est-ce possible?
J'ai trouvé des vieux posts et des conseils sur l'utilisation de jekyll, mais ce que je cherchais, c'est un moyen simple, de préférence avec démarquage.
Cela ne serait possible qu'avec du HTML brut, ce que GitHub ne permet pas. Mais vous pourrez peut-être utiliser un diff à la place.
Les blocs de code ne concernent que le texte "pré-formaté". La seule mise en forme que vous pouvez obtenir dans un bloc de code est la mise en forme qui peut être représentée en texte brut (indentation, mise en majuscule, etc.). Il n’existe aucun mécanisme permettant de marquer le contenu d’un bloc de code (gras, italique, barré, souligné, etc.). C'était une décision de conception intentionnelle. Sinon, comment pourriez-vous afficher du texte Markdown dans un bloc de code? Si vous voulez du texte formaté, vous devez utiliser autre chose qu'un bloc de code.
En tant que règles état:
HTML est un format publishing; Markdown est un format write. Ainsi, la syntaxe de mise en forme de Markdown ne traite que des problèmes pouvant être transmis en texte brut.
Pour tout balisage non couvert par la syntaxe de Markdown, vous utilisez simplement HTML lui-même.
Par conséquent, vous devez formater votre propre bloc de code HTML personnalisé avec les différents bits correctement marqués:
<pre><code><del>some stricken code</del>
<del>A second line of stricken code</del>
</pre></code>
Cependant, pour des raisons de sécurité, GitHub supprimera tout code HTML brut dans votre Markdown. Ainsi, bien que cela fonctionne là où vous avez le contrôle total de toute la pile, ce n'est probablement pas possible sur un service hébergé.
Cependant, je suppose que vous souhaitez afficher certaines modifications apportées à un bloc de code. Il se trouve qu’un format spécifique existe déjà pour cela. A savoir un diff . Utilisez simplement un bloc de code isolé avec diff
comme langue et GitHub le formatera correctement:
```diff
Unchanged Line
- Removed Line
+ Added Line
```
Vous pouvez voir comment GitHub affiche le bloc de code ci-dessus live (vous pouvez également le voir dans raw ), mais j'ai inclus une capture d'écran ci-dessous pour plus de commodité.
Je me rends compte que le formatage n'utilise pas le barré, mais un format couramment utilisé et compris. Pour les blocs plus complexes, vous devriez probablement utiliser le programme utilitaire diff
pour générer le diff pour vous.
Développer sur réponse de Waylan :
Cela peut sembler évident aux autres, mais cela m’a pris. Lorsque vous avez des lignes en retrait, assurez-vous que +
ou -
est le premier caractère de la ligne, sinon il ne sera pas mis en évidence.
diff
<div>
Unchanged Line
<ul>
- <li>This won't work</li>
- <li>This will</li>
+ <li>1st character, then indent</li>
</ul>
</div>
Pour marquer le contenu d'un bloc de code, pour insérer une chaîne en italique à la fin d'une ligne de "code", essayez l'une des solutions suivantes:
<code>id\_pn\_aside\_subscriber\_form\__form\_id_</code>
(Vous pouvez le voir en action à: https://github.com/devonostendorf/post-notif#how-do-you-use-the-stylesheet_filename-attribute-with-the-shortcode )
J'ai eu du mal à trouver un exemple qui corresponde à ce cas d'utilisation précis. J'espère donc que cela s'avérera utile pour quiconque tente d'obtenir un effet similaire.