Class: Jekyll::Tags::PostUrl
- Inherits:
-
Liquid::Tag
- Object
- Liquid::Tag
- Jekyll::Tags::PostUrl
- Defined in:
- lib/jekyll/tags/post_url.rb
Instance Method Summary collapse
-
#initialize(tag_name, post, tokens) ⇒ PostUrl
constructor
A new instance of PostUrl.
- #render(context) ⇒ Object
Constructor Details
#initialize(tag_name, post, tokens) ⇒ PostUrl
Returns a new instance of PostUrl.
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/jekyll/tags/post_url.rb', line 39 def initialize(tag_name, post, tokens) super @orig_post = post.strip begin @post = PostComparer.new(@orig_post) rescue raise ArgumentError.new <<-eos Could not parse name of post "#{@orig_post}" in tag 'post_url'. Make sure the post exists and the name is correct. eos end end |
Instance Method Details
#render(context) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/jekyll/tags/post_url.rb', line 53 def render(context) site = context.registers[:site] site.posts.each do |p| if @post == p return p.url end end raise ArgumentError.new <<-eos Could not find post "#{@orig_post}" in tag 'post_url'. Make sure the post exists and the name is correct. eos end |