class Jekyll::RelatedPosts

def build

def build
  return [] unless site.posts.size > 1
  if site.lsi
    build_index
    lsi_related_posts
  else
    most_recent_posts
  end
end

def build_index

def build_index
  self.class.lsi ||= begin
    lsi = Classifier::LSI.new(:auto_rebuild => false)
    display("Populating LSI...")
    site.posts.each do |x|
      lsi.add_item(x)
    end
    display("Rebuilding index...")
    lsi.build_index
    display("")
    lsi
  end
end

def display(output)

def display(output)
  $stdout.print("\n")
  $stdout.print(Jekyll.logger.formatted_topic(output))
  $stdout.flush
end

def initialize(post)

def initialize(post)
  @post = post
  @site = post.site
  require 'classifier' if site.lsi
end

def lsi_related_posts

def lsi_related_posts
  self.class.lsi.find_related(post.content, 11) - [post]
end

def most_recent_posts

def most_recent_posts
  recent_posts = site.posts.reverse - [post]
  recent_posts.first(10)
end