web-dev-qa-db-ja.com

HTMLまたはXMLをYAMLにどのように配置しますか?

HTMLスニペットを [〜#〜] yaml [〜#〜] ファイル内に保存したいと思います。それを行うための最良の方法は何ですか?

何かのようなもの:

myhtml: |
  <div>
    <a href="#">whatever</a>
  </div>
24
Piotr Zolnierek

これは、私が数年前に作成したYAMLベースのスニペット管理システムのサンプルレコードです。

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

      </fieldset>

管理するすべてのスニペットに対して、それまたはそのようなものを繰り返すことができます。この特定のシステムは、スニペットを名前と値のペアの配列として格納します(Perlの人々はこれをAoHと呼びます)。このような追加情報がすべて必要ない場合は、名前と値のペアを2つだけで十分です(例:キャプション+本文)。

このシステムの良いところ:YAMLインデントは「区切り文字の衝突」の問題を防ぎます。スニペット本体内で clumsyescapesequences を使用する必要はありません。

テキストエディタまたはIDE代替

注:テキストエディターとIDEは、柔軟なスニペット管理オプションをネイティブにサポートすることが増えているため、独自の形式を再発明するのではなく、テキストエディターの形式の使用を検討することをお勧めします。独自に再発明する場合、後でそれを実行することにした場合は、YAML形式をテキストエディターのネイティブ形式に変換するスクリプトを作成できます。

関連項目:

28
dreftymac

テンプレートを使用します。エスケープとダブルエスケープ(JavaScriptエスケープ)は別個のプレゼンテーション(ビュー)レイヤーと永続性(ストレージ)レイヤーを保持するため、HTMLを.poファイルまたはデータレイヤーに配置するために混合することはおそらくありません。 HTMLはプレゼンテーションとビューであるため、プレゼンテーション層に属します。

0
Niklas

誰かがこれに「しないでください」と答えなければなりません。メモを受け取らなかった場合、YetAnotherMarkupLanguageは、マークアップ言語の無限に複製され再帰的な世界についての熱狂的なジョークになることを目的としています。それらをネストしても、そのジョークには影響しません。

0
mevets