Class: Jekyll::CommitMentions
- Inherits:
-
Generator
- Object
- Generator
- Jekyll::CommitMentions
- Defined in:
- lib/jekyll-commit-mentions.rb
Instance Attribute Summary collapse
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
Instance Method Summary collapse
- #generate(site) ⇒ Object
- #html_page?(page) ⇒ Boolean
-
#initialize(config = Hash.new) ⇒ CommitMentions
constructor
A new instance of CommitMentions.
- #mentionify(page) ⇒ Object
Constructor Details
#initialize(config = Hash.new) ⇒ CommitMentions
Returns a new instance of CommitMentions.
10 11 12 |
# File 'lib/jekyll-commit-mentions.rb', line 10 def initialize(config = Hash.new) validate_config!(config) end |
Instance Attribute Details
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
8 9 10 |
# File 'lib/jekyll-commit-mentions.rb', line 8 def base_url @base_url end |
Instance Method Details
#generate(site) ⇒ Object
14 15 16 17 18 |
# File 'lib/jekyll-commit-mentions.rb', line 14 def generate(site) site.pages.each { |page| mentionify page if html_page?(page) } site.posts.each { |post| mentionify post } site.docs_to_write.each { |doc| mentionify doc } end |
#html_page?(page) ⇒ Boolean
30 31 32 |
# File 'lib/jekyll-commit-mentions.rb', line 30 def html_page?(page) page.html? || page.url.end_with?('/') end |
#mentionify(page) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/jekyll-commit-mentions.rb', line 20 def mentionify(page) @filter = HTML::Pipeline::CommitMentionFilter.new(page.content, {:base_url => base_url}) page.content = @filter.call.to_s. gsub(">", ">"). gsub("<", "<"). gsub("%7B", "{"). gsub("%20", " "). gsub("%7D", "}") end |