Sha256: 314d61550297b26106911457519f0ed6f3570e29a478afee2630ab0469d3ee3e
Contents?: true
Size: 1.76 KB
Versions: 3
Compression:
Stored size: 1.76 KB
Contents
# coding: utf-8 module Retter module Page::ViewHelper include Site def entry_path(*args) case args.first when Date, Time entry_path_by_date(*args) when Entry entry_path_by_entry(args.first) else raise TypeError, "wrong argument type #{args.first.class} (expected Date, Time or Retter::Entry)" end end def entry_url(*args) URI.parse(config.url) + entry_path(*args) end def article_url(*args) URI.parse(config.url) + article_path(*args) end def article_path(*args) case args.first when Date, Time article_path_by_date_and_id(*args) when Entry::Article article_path_by_article(args.first) else raise TypeError, "wrong argument type #{args.first.class} (expected Date, Time or Retter::Entry::Article)" end end def render_disqus_comment_form(disqus_shortname = config.disqus_shortname) Haml::Engine.new(<<-HAML).render #disqus_thread :javascript var disqus_shortname = '#{disqus_shortname}'; (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); HAML end def article_path_by_date_and_id(date, id) date.strftime("/entries/%Y%m%d/#{id}.html") end def article_path_by_article(article) article_path(article.entry.date, article.id) end def entry_path_by_date(date, id = nil) date.strftime('/entries/%Y%m%d.html') + (id ? "##{id}" : '') end def entry_path_by_entry(entry) entry_path(entry.date) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
retter-0.2.5 | lib/retter/page/view_helper.rb |
retter-0.2.4 | lib/retter/page/view_helper.rb |
retter-0.2.3 | lib/retter/page/view_helper.rb |