validate - yaml beautiful
¿Cómo poner HTML o XML en un YAML? (3)
Me gustaría almacenar fragmentos de código HTML dentro de un archivo YAML . ¿Cuál es la mejor manera de hacer eso?
Algo como:
myhtml: |
<div>
<a href="#">whatever</a>
</div>
Alguien tiene que responder a esto con "no". En caso de que no hayas recibido el memo, YetAnotherMarkupLanguage pretende ser una broma sardónica sobre el mundo repetitivo y repetitivo de los lenguajes de marcado. Anidarlos no juega en esa broma.
Utilizar plantillas. Es probable que no se mezclen para colocar HTML en archivos .po
o en la capa de datos, ya que el escape y el doble escape (escape de JavaScript) prefieren mantener distintas capas de presentación (vista) y persistencia (almacenamiento). HTML es presentación y vista, por lo tanto, pertenece a la capa de presentación.
Ejemplo
Aquí hay un registro de muestra de un sistema de administración de fragmentos basado en YAML que creé hace años:
- caption: fieldset msie5
tinycap: fieldset
domain: html
desc: fieldset and legend tag
wwbody: |
<fieldset>
<legend>legend</legend>
</fieldset>
Puedes repetir eso o algo así para todos los fragmentos que quieras administrar. Este sistema en particular almacena los fragmentos de código como una matriz de pares nombre-valor (la gente de Perl lo llamaría AoH). Si no necesita toda esta información adicional, solo bastarán dos pares nombre-valor (por ejemplo, título + cuerpo).
Lo bueno de este sistema: la sangría YAML evita problemas de "colisión de delimitadores". Nunca tiene que usar sequences escape clumsy dentro del cuerpo de su fragmento.
Editor de texto o alternativa IDE
Nota: cada vez más, los editores de texto y los IDE admiten las opciones flexibles de administración de fragmentos de código de forma nativa, por lo que es posible que desee considerar el uso del formato de un editor de texto en lugar de reinventar el suyo. Si reinventas el tuyo propio, puedes escribir un script para traducir tu formato YAML al formato nativo de un editor de texto si luego decides que quieres hacerlo.
Ver también: