Sha256: a5379fc9ffa02681b90253a3ced6f9093b3674f9e5c2fb4c0ea43f502c6d5623

Contents?: true

Size: 624 Bytes

Versions: 1

Compression:

Stored size: 624 Bytes

Contents

require "yaml"
require "markascend"
module Hashup
  class Post
    attr_accessor :filename, :title, :date, :tags, :metadata, :contents
    def initialize post
      self.parse_post post
      @filename = "#{File.basename(post,".ma")}.html"
      @title = @metadata["title"]
      @date = @metadata["date"]
      @tags = @metadata["tags"]
    end

    def parse_post post
      contents= File.open(post).read
      if(md = contents.match(/^(?<metadata>---\s*\n.*?\n?)^(---\s*$\n?)/m))
        @contents = ::Markascend.compile md.post_match, toc: true
        @metadata = YAML.load(md[:metadata]) 
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hashup-0.0.5 lib/hashup/post.rb