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

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

更新日:2023.05.05 作成日:2013.05.23

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

正規表現

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

こんな感じらしい

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

# 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/15

Related contents