En HTML, vous pouvez faire quelque chose comme ça
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget
aliquet odio. Fusce id quam eu augue sollicitudin imperdiet eu ac eros.
<em>Etiam nec nisi lorem</em>, ac venenatis ipsum. In sollicitudin,
lectus eget varius tincidunt, felis sapien porta eros, non
pellentesque dui quam vitae tellus.
</p>
C'est bien, car le paragraphe du texte ressemble toujours à un paragraphe dans le balisage. À Haml, ça ressemble à ceci
[.____]% p Lorem Ipsum Dolor Sit Amet, Consectetur Adipiscing Elit. Praesent Eaget Aliquet Odio. FUSCE ID Quam UE Augue Augue Sollicitudin Impordiet UE AC Eros. [.____]% em Em eiam nec nisi lorem [.____], AC Venenatist Ipsum. En Sollictudin, [.____] Lectus Eget Varius TinCidunt, Felis Sapien Porta Eros, non [.____] Pellenteque Dui Quam Vitae Tellus.
Y a-t-il un moyen de mettre totalement en ligne une étiquette dans HAML?
Haml excelle pour un balisage structurel, mais ce n'est pas vraiment destiné au marquage en ligne. Lire: Haml suce pour le conten . Il suffit de mettre vos étiquettes inline comme HTML:
.content
%p
Lorem ipsum <em>dolor</em> sit amet.
Ou bien utiliser A filtre :
.content
:markdown
Lorem ipsum *dolor* sit amet.
Je sais que c'est vieux. Mais pensais que je posterais ceci au cas où quelqu'un atterrit ici. Vous pouvez également faire ce genre de chose à Haml (et peut-être plus ce que l'OP cherchait?).
%p Here is some text I want to #{content_tag(:em, "emphasize!")}, and here the Word #{content_tag(:strong, "BOLD")} is in bold. and #{link_to("click here", "url")} for a link.
Utile pour ces situations où le fait sur plusieurs lignes ajoute des espaces que vous ne voulez pas. Lorsque vous avez un lien à la fin d'une phrase et que vous ne voulez pas que cet espace stupide entre le lien et la période. (ou comme dans l'exemple de l'OP, il y aurait un espace entre la ville et la virgule.
Il suffit de ne pas emporter comme je l'ai fait dans l'exemple :)
Vous pouvez en ligne HTML dans n'importe quel hame
%p!= "Lorem ipsum <em>dolor</em> sit amet"
L'opérateur! = Signifie que, quel que soit le côté droit, il sera émis.
En tant que hybride de ces belles réponses par d'autres, je pense que vous pouvez définir une méthode d'assistance dans votre application_helper.rb
Pour certains marquages en ligne, vous utiliseriez fréquemment. Vous n'avez pas besoin de mélanger HTML avec HAML, vous ne devez pas taper beaucoup.
Dans votre aide;
def em(text)
content_tag(:em, text)
end
#def em(text)
# "<em>#{text}</em>".html_safe
#end
Dans votre hame;
[.____]% p Lorem Ipsum Dolor Sit Amet, Consectetur Adipiscing Elit. Praesent Eaget Aliquet Odio. FUSCE ID Quam UE Augue Augue Sollicitudin Impordiet UE AC Eros. [.____] # {em 'eiam nec nisi lorem'}, AC Venenatis Ipsum. En Sollictudin, [.____] Lectus Eget Varius TinCidunt, Felis Sapien Porta Eros, non [.____] Pellenteque Dui Quam Vitae Tellus.
Tout est question d'indentation:
%p
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget aliquet odio. Fusce id quam eu augue sollicitudin imperdiet eu ac eros.
%em
Etiam nec nisi lorem, ac venenatis ipsum. In sollicitudin, lectus eget varius tincidunt, felis sapien porta eros, non pellentesque dui quam vitae tellus.