Sha256: aaf4d09c3e6b7cca0abe250e3ce92bf826acbd5274695737c27862263df2b8d0
Contents?: true
Size: 1.57 KB
Versions: 9
Compression:
Stored size: 1.57 KB
Contents
module PagesHelper def current_page # page = @page # yield @page if block_given? # rescue end def current_page_path(lang=nil) # if @page.present? # '/' + Kuhsaft::Page.find(@page.id).localized_pages.where('locale = ?', lang).first.url # else # root_path # end # rescue # root_path end def asset_for id Kuhsaft::Asset.find(id) end def render_markdown text RDiscount.new(text).to_html if text.present? end def navigation_for options if options.is_a?(Hash) && slug = options.delete(:slug) pages = Kuhsaft::LocalizedPage.navigation(slug).first.page.children.current_locale.published rescue [] elsif (options.is_a?(Fixnum) && id = options) || id = options.delete(:id) pages = Kuhsaft::Page.published.where('parent_id = ?', id) elsif options.nil? pages = Kuhsaft::Page.published.roots end yield pages if block_given? && pages.length > 0 pages end def homepage Kuhsaft::Page.roots.first end def page_for_level num input = controller.current_url if controller.respond_to? :current_url input ||= params[:url].presence || '' url = input.split('/').take(num + 1).join('/') unless input.blank? page = Kuhsaft::Page.find_by_url(url) yield page if block_given? page rescue end def active_page_class page input = controller.current_url if controller.respond_to? :current_url input ||= params[:url].presence || '' input.include?(page.url.to_s) ? :active : nil end def current_page_class page :current if active_page_class(page) == :active end end
Version data entries
9 entries across 9 versions & 1 rubygems