# File lib/jekyll/post.rb, line 35
    def initialize(site, source, dir, name)
      @site = site
      @base = File.join(source, dir, '_posts')
      @name = name

      self.categories = dir.split('/').reject { |x| x.empty? }
      self.process(name)
      self.read_yaml(@base, name)

      if self.data.has_key?('published') && self.data['published'] == false
        self.published = false
      else
        self.published = true
      end

      if self.data.has_key?("tag")
        self.tags = [self.data["tag"]]
      elsif self.data.has_key?("tags")
        self.tags = self.data['tags']
      else
        self.tags = []
      end

      if self.categories.empty?
        if self.data.has_key?('category')
          self.categories << self.data['category']
        elsif self.data.has_key?('categories')
          # Look for categories in the YAML-header, either specified as
          # an array or a string.
          if self.data['categories'].kind_of? String
            self.categories = self.data['categories'].split
          else
            self.categories = self.data['categories']
          end
        end
      end
    end