Class: WriteDown::Model::Page

Inherits:
Base
  • Object
show all
Defined in:
lib/write_down/model/page.rb

Overview

代表单个页面

Instance Attribute Summary

Attributes inherited from Base

#content, #created_at, #draft

Instance Method Summary collapse

Methods inherited from Base

#body, #converter, #initialize, #read_from_head

Constructor Details

This class inherits a constructor from WriteDown::Model::Base

Instance Method Details

#buildObject



18
19
20
21
# File 'lib/write_down/model/page.rb', line 18

def build
  Layout.new(self, @target_file).render
  self
end


42
43
44
# File 'lib/write_down/model/page.rb', line 42

def link_to
  "posts/#{@base_name}/"
end

#renderObject



12
13
14
15
16
# File 'lib/write_down/model/page.rb', line 12

def render
  template_file = File.expand_path('../../erb/page.erb', __FILE__)
  template = File.read(template_file)
  html_string = ERB.new(template).result(binding)
end

#summaryObject

概览



24
25
26
# File 'lib/write_down/model/page.rb', line 24

def summary
  @meta['summary']
end

#titleObject

标题



29
30
31
# File 'lib/write_down/model/page.rb', line 29

def title
  @meta['title']
end

#urlObject

生成的链接



34
35
36
37
38
39
40
# File 'lib/write_down/model/page.rb', line 34

def url
  if @draft
    "posts/drafts/#{@base_name}/index.html"
  else
    "posts/#{@base_name}/index.html"
  end
end