Je peux définir un nom de classe sur le paragraphe à l’aide de Markdown ? Dans l’affirmative, comment ?
Réponses
Trop de publicités?Dupe: Comment puis-je définir un attribut HTML class en Markdown?
Nativement? Pas de. Mais...
Non, Démarque de la syntaxe ne peut pas. Vous pouvez définir les valeurs d'ID avec Markdown Extra à travers.
Vous pouvez utiliser du HTML si vous le souhaitez, et ajouter l'attribut markdown="1"
continuer markdown-conversion à l'intérieur de l'élément HTML. Cela nécessite de Démarques Supplémentaires .
<p class='specialParagraph' markdown='1'>
**Another paragraph** which allows *Markdown* within it.
</p>
Solution Possible: (non testé et conçu pour <blockquote>
)
J'ai trouvé en ligne ci-dessous:
La fonction
function _DoBlockQuotes_callback($matches) {
...cut...
//add id and class details...
$id = $class = '';
if(preg_match_all('/\{(?:([#.][-_:a-zA-Z0-9 ]+)+)\}/',$bq,$matches)) {
foreach ($matches[1] as $match) {
if($match[0]=='#') $type = 'id';
else $type = 'class';
${$type} = ' '.$type.'="'.trim($match,'.# ').'"';
}
foreach ($matches[0] as $match) {
$bq = str_replace($match,'',$bq);
}
}
return _HashBlock(
"<blockquote{$id}{$class}>\n$bq\n</blockquote>"
) . "\n\n";
}
Markdown
>{.className}{#id}This is the blockquote
Résultat
<blockquote id="id" class="className">
<p>This is the blockquote</p>
</blockquote>
Markdown doit avoir cette capacité, mais il ne le fait pas. Au lieu de cela, vous êtes coincé avec un langage spécifique, Markdown supersets:
PHP: Markdown Extra
Ruby: Kramdown, Maruku
Mais si vous avez besoin de respecter vrai syntaxe Markdown, vous êtes coincé avec l'insertion de code HTML brut, ce qui est moins idéale.
Comme mentionné ci-dessus markdown lui-même vous laisse suspendus à cette. Toutefois, en fonction de la mise en œuvre il y a quelques solutions de contournement:
Au moins une version de MD considère <div>
à un niveau de bloc de tag, mais <DIV>
n'est qu'un texte. Tous les broswers cependant sont insensibles à la casse. Cela vous permet de garder la syntaxe de la simplicité de la MD, au prix de l'ajout de la div conteneur des balises.
Donc la suite est une solution de contournement:
<DIV class=foo>
Paragraphs here inherit class foo from above.
</div>
L'inconvénient de cette est que le code de sortie a <p>
tags emballage de la <div>
des lignes (deux d'entre eux, le premier parce qu'il n'est pas et la deuxième parce qu'elle ne correspond pas. Pas de navigateur s'agite à propos de ce que j'ai trouvé, mais le code ne sera pas validé. MD a tendance à mettre de rechange <p>
balises de toute façon.
Plusieurs versions de markdown mettre en œuvre la convention - <tag markdown="1">
, auquel cas MD les normales de traitement à l'intérieur de la balise. L'exemple ci-dessus devient:
<div markdown="1" class=foo>
Paragraphs here inherit class foo from above.
</div>
La version actuelle de Fletcher MultiMarkdown permet attributs de suivre le lien si référencé à l'aide de liens.