2011-05-25 21 views
7

En HAML A menudo quiero utilizar una etiqueta con la puntuación que sigue inmediatamente después de la etiqueta. Por ejemplo, me gustaría poner algo en negrita pero tener un corchete de cierre. El formato se vería así: (oración de ejemplo con texto en negrita.)Símbolos cerca de las expresiones HAML

Tenga en cuenta que el 'texto en negrita' está en negrita, pero el paréntesis de punto y cierre '.)' No.

La obvia HAML es así:

(Example sentence with 
%span.important bold text 
\.) 

pero esto provoca un espacio adicional entre 'negrita' y ').'. He aquí una manera de hacerlo en su lugar:

(Example sentence with 
%span.important bold text 
%span>\.) 

Dónde encierra el en un lapso de > hace desaparecer el espacio ').'. Sin embargo, esto requiere un lapso innecesario.

¿Hay alguna forma de obtener la salida deseada, sin el tramo adicional?

+0

la AYUDA haml cubre más o menos exacta a esta pregunta: http://haml-lang.com/docs/yardoc/file.FAQ.html#q-punctuation - la respuesta es basicall y lo mismo que Daves a continuación: html en línea o un filtro. – matt

+0

He ajustado el ejemplo para hacerlo más claro, gracias a @Dave. – Peter

+1

http://chriseppstein.github.com/blog/2010/02/08/haml-sucks-for-content/ Esto podría ayudarte de alguna manera :) solo admite la afirmación de matt y Dave de que podrías usar inline/markdown para Etiquetas en línea ... porque haml es para el diseño – corroded

Respuesta

6

Ese fragmento de código inicial no debería trabajar en HAML en absoluto:

(Example sentence with 
%b bold text 
.) 

La tercera línea se traduciría en un error Illegal element: classes and ids must have values. Debe ser:

(Example sentence with 
%b bold text 
\.) 

Sin embargo, eso solo soluciona el error de código. Todavía muestra la forma en que te quejas. Sólo conozco dos maneras de abordarlo:

  1. sólo tiene que utilizar etiquetas HTML en línea en su archivo HAML: (Example sentence with <b>bold text</b>.)
  2. Instalar Maruku (o otra de las joyas de reducción del precio) y haga lo siguiente:
:markdown 
    (Example sentence with **bold text**.) 
+0

Definitivamente correcto sobre el '\ .' (gracias). Sin embargo, no es una solución completa para mí, ya que '% b' es solo un ejemplo y quiero manejar las etiquetas en general, incluidas las etiquetas personalizadas. – Peter

Cuestiones relacionadas