module Jekyll::FlattrFilters
Public Instance Methods
flattr_atom(site, page = nil)
click to toggle source
Returns a ATOM payment link.
{{ site | flattr_atom:post }}
# File lib/jekyll/flattr_filters.rb, line 46 def flattr_atom(site, page = nil) return if site['flattr_uid'].nil? link = '<link rel="payment" href="https://flattr.com/submit/auto?' link << %Q{#{flattr_feed_options(site, page)}" type="text/html" />} end
flattr_feed_options(site, page)
click to toggle source
# File lib/jekyll/flattr_filters.rb, line 97 def flattr_feed_options(site, page) keys = %w[url uid] options = flattr_options(site, page, keys).map { |k, v| "#{k == 'uid' ? 'user_id' : k}=#{ERB::Util.url_encode(v)}" }.join('&') end
flattr_loader_options(site)
click to toggle source
Generates the query string part for the flattr load.js from the configurations in _config.yml
{{ site | flattr_loader_options }}
# File lib/jekyll/flattr_filters.rb, line 9 def flattr_loader_options(site) return if site['flattr_uid'].nil? keys = %w[mode https popout uid button language category] options = flattr_options(site, nil, keys).delete_if { |_, v| v.to_s.empty? } options.map { |k, v| "#{k}=#{ERB::Util.url_encode(v)}" }.join('&') end
flattr_options(site, page, keys)
click to toggle source
# File lib/jekyll/flattr_filters.rb, line 69 def flattr_options(site, page, keys) page = {} if page.nil? site = flattrize(site) page = flattrize(page) options = {} keys.each { |k| case k when 'https' options[k] = 1 when 'url' options[k] = "#{site['url']}#{page['url']}" when 'description' options[k] = page['content'] || site['description'] || site['title'] when 'category' options[k] = page['category'] || site['category'] || 'audio' when 'language' options[k] = page['language'] || site['language'] || 'en_GB' when 'tags' options[k] = page['tags'].join(', ') if page['tags'] else options[k] = page[k] || site[k] end } options end
flattr_rss(site, page = nil)
click to toggle source
Returns a RSS payment link.
{{ site | flattr_rss:post }}
# File lib/jekyll/flattr_filters.rb, line 37 def flattr_rss(site, page = nil) return if site['flattr_uid'].nil? link = '<atom:link rel="payment" href="https://flattr.com/submit/auto?' link << %Q{#{flattr_feed_options(site, page)}" type="text/html" />} end
flattrize(hsh)
click to toggle source
Removes all leading “flattr_” from the keys of the given hash.
flattrize({ 'octopod' => 'awesome', 'flattr_uid' => 'pattex' }) => { "octopod" => "awesome", "uid" => "pattex" }
# File lib/jekyll/flattr_filters.rb, line 56 def flattrize(hsh) config = {} hsh.to_hash.each { |k, v| if new_key = k.to_s.match(/\Aflattr_(.*)\z/) config[new_key[1]] = v else config[k] = v end } config end