2017-03-02 1 views
0

J'essaie de faire une page Web avec UIkit (le cadre frontal, pas le cadre iOS). Depuis la version 3, UIkit utilise les signes at-signs dans ses noms de classe responsive ([email protected] affecte les petits périphériques et plus, [email protected] grands périphériques et plus ...).At-sign dans les noms de classe haml

En utilisant ces classes provoque directement haml de se plaindre:

imbrication illégale: le contenu ne peut pas être à la fois donnée sur la même ligne que% div et niché à l'intérieur. (Haml :: SyntaxError)

Ou, si l'élément HTML ne contient pas d'autres éléments, pour produire une mauvaise sortie, avec le @ dans le contenu html:

<div class="uk-text-left">@s hello</div> 

L'utilisation %div{ :class => "[email protected]" } œuvres bien, mais ce genre de frameworks dépend si fortement de ces classes que cela fait une énorme différence par rapport à simplement taper [email protected].

Existe-t-il un autre moyen de faire en sorte que haml accepte l'at-sign dans le nom de la classe?

Répondre

1

Vous devrez probablement utiliser les méthodes de formulaire long pour les attributs.

au lieu de la méthode abrégée

%h1.awesome-sauce 

Vous devez faire ce

%h1{class: "@awesome-sauce"} 

Le raccourci est juste du sucre syntaxique. Vous pouvez toujours écrire un assistant ou un décorateur pour gérer la génération de noms s'il existe un modèle évident.

+0

J'ai eu peur si :(Merci à nouveau au haml, je vais voir si je peux arriver à comprendre les aides et décorateurs – guillem

+1

aides et décore sont juste un modèle de conception de programmation orientée objet pour gérer des moments comme ceux-ci dans la vue. Bonne chance! – engineerDave