1. SIS Lab
  2. >
  3. Blog
  4. >
  5. Jekyllのお勉強 -YAML部分と記事本文を分離する正規表現-

Jekyllのお勉強 -YAML部分と記事本文を分離する正規表現-

更新日:2019.04.27 作成日:2013.05.23

JekyllのYAML部分と記事本文を分離していると思われる正規表現を確認する。

正規表現

/\A(---\s*\n.*?\n?)^(---\s*$\n?)/m

こんな感じらしい

Jekyllのお勉強 -YAML部分と記事本文を分離する正規表現- https://farm8.staticflickr.com/7340/8802953102_f2b245cfb1.jpg
# Read the YAML frontmatter.
#
# base - The String path to the dir containing the file.
# name - The String filename of the file.
#
# Returns nothing.
def read_yaml(base, name)
  begin
    self.content = File.read(File.join(base, name))

    if self.content =~ /\A(---\s*\n.*?\n?)^(---\s*$\n?)/m
      self.content = $POSTMATCH
      self.data = YAML.safe_load($1)
    end
  rescue SyntaxError => e
    puts "YAML Exception reading #{File.join(base, name)}: #{e.message}"
  rescue Exception => e
    puts "Error reading file #{File.join(base, name)}: #{e.message}"
  end

  self.data ||= {}
end

参考

正規表現クックブック
出版社:オライリージャパン
著者:Jan GoyvaertsSteven Levithan長尾 高弘
発売日: 2010-04-15T00:00:01Z
スポンサーリンク

Related contents

TECH

2013.11.24

Jekyllのバージョンアップ

TECH

2013.05.20

Sublime Text 2にLiveReloadを導入してMarkdown Previewを快適に!!

TECH

2013.04.24

Octopressに「続きを読む」のプラグイン導入

TECH

2013.02.03

はてなダイアリーからJekyllへお引越し

TECH

2017.01.08

静的サイトジェネレータ「Hugo」でシンプルブログサイトを構築する

TECH

2015.08.30

JekyllからHugoへの移行ポイント

TECH

2014.12.13

Jekyllのタグとカテゴリを整理するために、一覧表示するWebアプリ(個人用)をつくった

TECH

2014.12.02

Jekyllに月別アーカイブを実装する