web-dev-qa-db-ja.com

Jekyll / Liquid-YAMLの前付けに大きなテキストブロックを追加する方法は?

Jekyllでサービスカタログを実装しようとしています。20または30ページのそれぞれに7x2テーブルが含まれます。左の列にはラベルが表示されます。概要、利用可能先など。右側の列には、1行と複数の段落のテキストが表示されます。右の列をLiquid変数で特徴付けたいと思っていました。 {overview}、{availableTo}

YAMLは改行に関して非常にうるさいようであることに気づきました。したがって、これらの段落とそのマークアップを1行に入力する必要がありました。面倒なので、これは問題です。また、これらの重要事項を技術的だがwebdev以外のユーザーが編集できるようにしたいのです。前付けに休憩を許容する方法はありますか?

または、毎回テーブルを再コード化する必要なしに、このテーブルに{content}セクションを設定する方法はありますか?

52
patrickjmc

複数行の文字列のYaml構文 これはこれです

body: |
  This is a multi-line string.
  "special" metacharacters may
  appear here. The extent of this string is
  indicated by indentation. 

最初の行はスペースであり、その後に|文字と改行が続く必要があることに注意してください。次に、テキストをその親よりも1レベルインデントする必要があります。

したがって、次の方法で1つのアイテムを作成できます。

item1:
  overview: |
    overview text
    more overview text
  available_to: 2012-01-01
  foo: |
    foo text
    more foo text

整理整頓もしたいようです。そのためにyamlリストを使用できます。

catalog:
  - id: item 1
    overview: |
      overview text
      more overview text
    available_to: 2012-01-01
    foo: |
      foo text
      more foo text
    ...
  - id: item2
    overview: <similar to above>

これが役に立てば幸いです!

81
kikito