Class: Jekyll::Embed::Loader
- Inherits:
-
Generator
- Object
- Generator
- Jekyll::Embed::Loader
- Defined in:
- lib/jekyll/embed/loader.rb
Instance Method Summary collapse
- #capture_resources ⇒ Object
- #clone(resource) ⇒ Object
- #embed ⇒ Object
- #embed_many(embedded, key, link_objects) ⇒ Object
- #embed_resources(page) ⇒ Object
- #embed_single(embedded, key, link_object) ⇒ Object
- #find_resource(url) ⇒ Object
- #generate(site) ⇒ Object
- #get_embedded(page) ⇒ Object
Instance Method Details
#capture_resources ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/jekyll/embed/loader.rb', line 53 def capture_resources @resources = [] @site.pages.each do |page| @resources << { 'href' => page.url, 'data' => clone(page.data) } end end |
#clone(resource) ⇒ Object
67 68 69 70 |
# File 'lib/jekyll/embed/loader.rb', line 67 def clone(resource) json = JSON.dump(resource) JSON.parse(json) end |
#embed ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/jekyll/embed/loader.rb', line 10 def capture_resources @site.pages.each do |page| (page) end end |
#embed_many(embedded, key, link_objects) ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/jekyll/embed/loader.rb', line 34 def (, key, link_objects) [key] = [] if [key].nil? link_objects.each do |link_object| resource = find_resource(link_object['href']) [key] << resource['data'] unless resource.nil? end end |
#embed_resources(page) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/jekyll/embed/loader.rb', line 18 def (page) links = page.data['_links'] return if links.nil? = (page) links.keys.each do |key| link_object = links[key] if link_object.kind_of?(Array) (, key, link_object) else (, key, link_object) end end end |
#embed_single(embedded, key, link_object) ⇒ Object
43 44 45 46 |
# File 'lib/jekyll/embed/loader.rb', line 43 def (, key, link_object) resource = find_resource(link_object['href']) [key] = resource['data'] unless resource.nil? end |
#find_resource(url) ⇒ Object
63 64 65 |
# File 'lib/jekyll/embed/loader.rb', line 63 def find_resource(url) @resources.detect { |resource| url == resource['href'] } end |
#generate(site) ⇒ Object
5 6 7 8 |
# File 'lib/jekyll/embed/loader.rb', line 5 def generate(site) @site = site Dir.chdir(@site.source) { } end |
#get_embedded(page) ⇒ Object
48 49 50 51 |
# File 'lib/jekyll/embed/loader.rb', line 48 def (page) page.data['_embedded'] = { } if page.data['_embedded'].nil? page.data['_embedded'] end |