Class: Octodmin::Site
- Inherits:
-
Object
- Object
- Octodmin::Site
- Defined in:
- lib/octodmin/site.rb
Constant Summary collapse
- DEFAULT_CONFIG =
{ "octodmin" => { "transliterate" => "latin", "front_matter" => { "layout" => { "type" => "text", }, "title" => { "type" => "text", }, "slug" => { "type" => "text", }, "date" => { "type" => "text", }, }, }, }
Instance Attribute Summary collapse
-
#site ⇒ Object
Returns the value of attribute site.
Instance Method Summary collapse
- #config ⇒ Object
-
#initialize ⇒ Site
constructor
A new instance of Site.
- #posts ⇒ Object
- #process ⇒ Object
- #reset ⇒ Object
- #serializable_hash ⇒ Object
- #source ⇒ Object
- #status ⇒ Object
Constructor Details
#initialize ⇒ Site
Returns a new instance of Site.
25 26 27 |
# File 'lib/octodmin/site.rb', line 25 def initialize @site = Jekyll::Site.new(Jekyll.configuration) end |
Instance Attribute Details
#site ⇒ Object
Returns the value of attribute site.
3 4 5 |
# File 'lib/octodmin/site.rb', line 3 def site @site end |
Instance Method Details
#config ⇒ Object
33 34 35 |
# File 'lib/octodmin/site.rb', line 33 def config @config ||= Jekyll::Utils.deep_merge_hashes(DEFAULT_CONFIG, @site.config) end |
#posts ⇒ Object
41 42 43 44 45 |
# File 'lib/octodmin/site.rb', line 41 def posts reset @site.read @site.posts.sort_by(&:date).last(20).reverse.map { |post| Post.new(self, post) } end |
#process ⇒ Object
57 58 59 |
# File 'lib/octodmin/site.rb', line 57 def process @site.process end |
#reset ⇒ Object
47 48 49 50 51 |
# File 'lib/octodmin/site.rb', line 47 def reset @status = nil @site.reset self end |
#serializable_hash ⇒ Object
37 38 39 |
# File 'lib/octodmin/site.rb', line 37 def serializable_hash config end |
#source ⇒ Object
29 30 31 |
# File 'lib/octodmin/site.rb', line 29 def source @site.source end |
#status ⇒ Object
53 54 55 |
# File 'lib/octodmin/site.rb', line 53 def status @status ||= Git.open(Octodmin::App.dir).status end |