How do you put HTML or XML into a YAML?

Example

Here is a sample record from a YAML-based snippet management system I created years ago:

- caption:    fieldset msie5
  tinycap:    fieldset
  domain:     html
  desc:       fieldset and legend tag
  wwbody: |
      <fieldset>
      <legend>legend</legend>

      </fieldset>

You can repeat that or something like it for all the snippets you want to manage. This particular system stores the snippets as an array of name-value pairs (Perl people would call this an AoH). If you do not need all this extra information, just two name-value pairs will suffice (e.g., caption + body).

The nice thing about this system: YAML indentation prevents “delimiter collision” problems. You never have to use clumsy escape sequences inside your snippet body.

Text Editor or IDE alternative

Note: Increasingly, text editors and IDEs support flexible snippet management options natively, so you may want to consider using the format of a text editor rather than re-inventing your own. If you do re-invent your own, you can write a script to translate your YAML format into the native format of a text editor if you later decide you want to do that.

See also:

  • http://en.wikipedia.org/wiki/Snippet_%28programming%29
  • http://en.wikipedia.org/wiki/Delimiter#Delimiter_collision
  • http://perldoc.perl.org/perldsc.html#ARRAYS-OF-HASHES (Perl AoH)
  • http://www.perlmonks.org/index.pl/?node_id=347905

Leave a Comment