class JekyllRecker::Site

Site

Public Class Methods

new(site) click to toggle source
# File lib/jekyll_recker/site.rb, line 6
def initialize(site)
  @site = site
end

Public Instance Methods

config() click to toggle source
# File lib/jekyll_recker/site.rb, line 59
def config
  @site.config
end
data() click to toggle source
# File lib/jekyll_recker/site.rb, line 22
def data
  @site.data
end
data_dir() click to toggle source
# File lib/jekyll_recker/site.rb, line 67
def data_dir
  File.join root, '_data'
end
dates() click to toggle source
# File lib/jekyll_recker/site.rb, line 38
def dates
  entries.collect(&:date)
end
entries() click to toggle source
# File lib/jekyll_recker/site.rb, line 10
def entries
  @entries ||= build_entries
end
graphs_dir() click to toggle source
# File lib/jekyll_recker/site.rb, line 63
def graphs_dir
  recker_config.fetch('graphs', 'assets/images/graphs/')
end
graphs_join(path) click to toggle source
# File lib/jekyll_recker/site.rb, line 75
def graphs_join(path)
  File.join root, 'assets/images/graphs/', path
end
images() click to toggle source
# File lib/jekyll_recker/site.rb, line 42
def images
  exts = ['.jpg', 'jpeg', '.png', '.svg']
  @site.static_files.collect(&:path).select { |f| exts.include? File.extname(f) }
end
latest() click to toggle source
# File lib/jekyll_recker/site.rb, line 14
def latest
  entries.first
end
production?() click to toggle source
# File lib/jekyll_recker/site.rb, line 18
def production?
  ENV['JEKYLL_ENV'] == 'production'
end
recker_config() click to toggle source
# File lib/jekyll_recker/site.rb, line 55
def recker_config
  @site.config.fetch('recker', {})
end
root() click to toggle source
# File lib/jekyll_recker/site.rb, line 47
def root
  File.absolute_path(File.join(__dir__, '../../'))
end
root_join(path) click to toggle source
# File lib/jekyll_recker/site.rb, line 51
def root_join(path)
  File.join(root, path)
end
site_join(path) click to toggle source
# File lib/jekyll_recker/site.rb, line 79
def site_join(path)
  File.join(root, '_site', path)
end
tmp_join(path) click to toggle source
# File lib/jekyll_recker/site.rb, line 71
def tmp_join(path)
  File.join root, 'tmp', path
end
url() click to toggle source
# File lib/jekyll_recker/site.rb, line 26
def url
  @site.config['url']
end
word_counts() click to toggle source
# File lib/jekyll_recker/site.rb, line 30
def word_counts
  entries.collect(&:word_count)
end
words() click to toggle source
# File lib/jekyll_recker/site.rb, line 34
def words
  entries.collect(&:words).flatten
end

Private Instance Methods

build_entries() click to toggle source
# File lib/jekyll_recker/site.rb, line 85
def build_entries
  @site.posts.docs
       .select(&:published?)
       .sort_by(&:date)
       .reverse
       .map { |p| Entry.new(p) }
end