Class: Jekyll::Converters::UrlsGenerator
- Inherits:
-
Generator
- Object
- Generator
- Jekyll::Converters::UrlsGenerator
- Defined in:
- lib/jekyll/generators/urls.rb
Instance Method Summary collapse
Instance Method Details
#deep_set(hash, value, *keys) ⇒ Object
7 8 9 10 11 |
# File 'lib/jekyll/generators/urls.rb', line 7 def deep_set(hash, value, *keys) keys[0...-1].inject(hash) do |acc, h| acc.public_send(:[], h) end.public_send(:[]=, keys.last, value) end |
#generate(site) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/jekyll/generators/urls.rb', line 4 def generate(site) lazy = lambda { |h,k| h[k] = Hash.new(&lazy) } def deep_set(hash, value, *keys) keys[0...-1].inject(hash) do |acc, h| acc.public_send(:[], h) end.public_send(:[]=, keys.last, value) end site.config['urls'] = Hash.new(&lazy) site.pages.each { |page| if page.data['id'] keys = page.data['id'].split(".") deep_set(site.config['urls'], page.url, *keys) end } end |