Class: Jekyll::Theme

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/jekyll/theme.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Theme

Returns a new instance of Theme.


10
11
12
13
14
# File 'lib/jekyll/theme.rb', line 10

def initialize(name)
  @name = name.downcase.strip
  Jekyll.logger.debug "Theme:", name
  Jekyll.logger.debug "Theme source:", root
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name


6
7
8
# File 'lib/jekyll/theme.rb', line 6

def name
  @name
end

Instance Method Details

#assets_pathObject


42
43
44
# File 'lib/jekyll/theme.rb', line 42

def assets_path
  @assets_path ||= path_for "assets"
end

#basenameObject

The name of theme directory


26
27
28
# File 'lib/jekyll/theme.rb', line 26

def basename
  @basename ||= File.basename(root)
end

#includes_pathObject


30
31
32
# File 'lib/jekyll/theme.rb', line 30

def includes_path
  @includes_path ||= path_for "_includes"
end

#layouts_pathObject


34
35
36
# File 'lib/jekyll/theme.rb', line 34

def layouts_path
  @layouts_path ||= path_for "_layouts"
end

#rootObject


16
17
18
19
20
21
22
23
# File 'lib/jekyll/theme.rb', line 16

def root
  # Must use File.realpath to resolve symlinks created by rbenv
  # Otherwise, Jekyll.sanitized path with prepend the unresolved root
  @root ||= File.realpath(gemspec.full_gem_path)
rescue Errno::ENOENT, Errno::EACCES, Errno::ELOOP
  raise "Path #{gemspec.full_gem_path} does not exist, is not accessible "\
    "or includes a symbolic link loop"
end

#runtime_dependenciesObject


46
47
48
# File 'lib/jekyll/theme.rb', line 46

def runtime_dependencies
  gemspec.runtime_dependencies
end

#sass_pathObject


38
39
40
# File 'lib/jekyll/theme.rb', line 38

def sass_path
  @sass_path ||= path_for "_sass"
end