153 votes

Je peux définir un nom de classe sur le paragraphe à l’aide de Markdown ?

Je peux définir un nom de classe sur le paragraphe à l’aide de Markdown ? Dans l’affirmative, comment ?

86voto

Jonathan Sampson Points 121800

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>

83voto

Matt Bridges Points 14547

HTML brut est en réalité parfaitement valide en markdown. Par exemple :

Assurez-vous juste que le HTML n’est pas à l’intérieur d’un bloc de code.

8voto

Yarin Points 18186

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.

3voto

Sherwood Botsford Points 380

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X