Class: Jekyll::Excerpt

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(doc) ⇒ Excerpt

Initialize this Excerpt instance.

doc - The Document.

Returns the new Excerpt.



17
18
19
20
# File 'lib/jekyll/excerpt.rb', line 17

def initialize(doc)
  self.doc = doc
  self.content = extract_excerpt(doc.content)
end

Instance Attribute Details

#contentObject

Returns the value of attribute content.



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

def content
  @content
end

#docObject

Returns the value of attribute doc.



5
6
7
# File 'lib/jekyll/excerpt.rb', line 5

def doc
  @doc
end

#extObject

Returns the value of attribute ext.



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

def ext
  @ext
end

#outputObject



73
74
75
# File 'lib/jekyll/excerpt.rb', line 73

def output
  @output ||= Renderer.new(doc.site, self, site.site_payload).run
end

Instance Method Details

#dataObject

Fetch YAML front-matter data from related doc, without layout key

Returns Hash of doc data



25
26
27
28
29
30
# File 'lib/jekyll/excerpt.rb', line 25

def data
  @data ||= doc.data.dup
  @data.delete("layout")
  @data.delete("excerpt")
  @data
end

#idObject

The UID for this doc (useful in feeds). e.g. /2008/11/05/my-awesome-doc

Returns the String UID.



53
54
55
# File 'lib/jekyll/excerpt.rb', line 53

def id
  "#{doc.id}#excerpt"
end

#include?(something) ⇒ Boolean

Check if excerpt includes a string

Returns true if the string passed in

Returns:

  • (Boolean)


45
46
47
# File 'lib/jekyll/excerpt.rb', line 45

def include?(something)
  (output && output.include?(something)) || content.include?(something)
end

#inspectObject

Returns the shorthand String identifier of this doc.



69
70
71
# File 'lib/jekyll/excerpt.rb', line 69

def inspect
  "<Excerpt: #{self.id}>"
end

#pathObject

‘Path’ of the excerpt.

Returns the path for the doc this excerpt belongs to with #excerpt appended



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

def path
  File.join(doc.path, "#excerpt")
end

#place_in_layout?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/jekyll/excerpt.rb', line 77

def place_in_layout?
  false
end

#to_liquidObject



61
62
63
64
65
66
# File 'lib/jekyll/excerpt.rb', line 61

def to_liquid
  doc.data['excerpt'] = nil
  @to_liquid ||= doc.to_liquid
  doc.data['excerpt'] = self
  @to_liquid
end

#to_sObject



57
58
59
# File 'lib/jekyll/excerpt.rb', line 57

def to_s
  output || content
end

#trigger_hooksObject



32
33
# File 'lib/jekyll/excerpt.rb', line 32

def trigger_hooks(*)
end