Sha256: 8e2d8b2f54897ccf55a214b2b52ab66c1237a93e38fcc307a1dc101010c8e563

Contents?: true

Size: 1.59 KB

Versions: 49

Compression:

Stored size: 1.59 KB

Contents

require "pathname"

module Precious
  module Views
    class Pages < Layout
      attr_reader :results, :ref

      def title
        "All pages in #{@ref}"
      end

      def breadcrumb
        if @path
          path = Pathname.new(@path)
          breadcrumb = [%{<a href="#{@base_url}/pages/">Home</a>}]
          path.descend do |crumb|
            title = crumb.basename

            if title == path.basename
              breadcrumb << title
            else
              breadcrumb << %{<a href="#{@base_url}/pages/#{crumb}/">#{title}</a>}
            end
          end

          breadcrumb.join(" / ")
        else
          "Home"
        end
      end

      def files_folders
        if has_results
          folder_links = []

          @results.map { |page|
            page_path = page.path.sub(/^#{@path}\//,'')

            if page_path.include?('/')
              folder      = page_path.split('/').first
              folder_path = @path ? "#{@path}/#{folder}" : folder
              folder_link = %{<li><a href="#{@base_url}/pages/#{folder_path}/" class="folder">#{folder}</a></li>}

              unless folder_links.include?(folder_link)
                folder_links << folder_link

                folder_link
              end
            elsif page_path != ".gitkeep"
              %{<li><a href="#{@base_url}/#{page.escaped_url_path}" class="file">#{page.name}</a></li>}
            end
          }.compact.join("\n")
        else
          ""
        end
      end

      def has_results
        !@results.empty?
      end

      def no_results
        @results.empty?
      end
    end
  end
end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
gollum-2.7.0 lib/gollum/views/pages.rb
gollum-2.6.0 lib/gollum/views/pages.rb
gollum-2.5.2 lib/gollum/views/pages.rb
gollum-2.5.1 lib/gollum/views/pages.rb
gollum-2.5.0 lib/gollum/views/pages.rb
gollum-2.4.15 lib/gollum/views/pages.rb
gollum-2.4.14 lib/gollum/views/pages.rb
gollum-2.4.13 lib/gollum/views/pages.rb
gollum-2.4.12 lib/gollum/views/pages.rb
gollum-2.4.11 lib/gollum/frontend/views/pages.rb
gollum-2.4.10 lib/gollum/frontend/views/pages.rb
gollum-2.4.9 lib/gollum/frontend/views/pages.rb
gollum-2.4.8 lib/gollum/frontend/views/pages.rb
gollum-2.4.7 lib/gollum/frontend/views/pages.rb
gollum-2.4.6 lib/gollum/frontend/views/pages.rb
gollum-2.4.5 lib/gollum/frontend/views/pages.rb
gollum-2.4.4 lib/gollum/frontend/views/pages.rb
gollum-2.4.3 lib/gollum/frontend/views/pages.rb
gollum-2.4.2 lib/gollum/frontend/views/pages.rb
gollum-2.4.1 lib/gollum/frontend/views/pages.rb