Sha256: 2322a606f8988e7f5fac03556debe14716d4645e890d867542af5ea62920fec4

Contents?: true

Size: 1.25 KB

Versions: 33

Compression:

Stored size: 1.25 KB

Contents

module Octopress
  module Docs
    class Page < Jekyll::Page
      include Docs::Convertible

      # Purpose: Configs can override a page's permalink
      #
      # url - Path relative to destination directory.
      #       examples: 
      #         - '/' for the _site/index.html page
      #         - '/archive/' for the _site/archive/index.html page
      #
      def initialize(site, base, dir, name, config={})
        @config = config
        super(site, base, dir, name)
        post_init if respond_to?(:post_init)
      end

      def destination(dest)
        unless @dest
          if @config['path']
            dest = File.join(dest, @config['path'])
          end
          @dest = File.join(dest, self.url)
        end
        @dest
      end

      def relative_asset_path
        site_source = Pathname.new Docs.site.source
        page_source = Pathname.new @base
        page_source.relative_path_from(site_source).to_s
      end

      # Allow pages to read url from plugin configuration
      #
      def url
        unless @url
          super

          if @url && @url =~ /\/$/
            ext = (self.ext == '.xml'? 'xml' : 'html')
            @url = File.join(@url, "index.#{ext}")
          end
        end

        @url
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 2 rubygems

Version Path
octopress-3.0.12.pre.1 lib/octopress/docs/jekyll/page.rb
octopress-3.0.11 lib/octopress/docs/jekyll/page.rb
octopress-3.0.10 lib/octopress/docs/jekyll/page.rb
octopress-3.0.9 lib/octopress/docs/jekyll/page.rb
octopress-3.0.8 lib/octopress/docs/jekyll/page.rb
octopress-3.0.7 lib/octopress/docs/jekyll/page.rb
octopress-3.0.6 lib/octopress/docs/jekyll/page.rb
octopress-3.0.5 lib/octopress/docs/jekyll/page.rb
octopress-3.0.4 lib/octopress/docs/jekyll/page.rb
octopress-3.0.3.alpha.2 lib/octopress/docs/jekyll/page.rb
octopress-3.0.3.alpha.1 lib/octopress/docs/jekyll/page.rb
octopress-3.0.3.alpha.0 lib/octopress/docs/jekyll/page.rb
octopress-3.0.2 lib/octopress/docs/jekyll/page.rb
octopress-3.0.1 lib/octopress/docs/jekyll/page.rb
octopress-3.0.0 lib/octopress/docs/jekyll/page.rb
octopress-3.0.0.rc.37 lib/octopress/docs/jekyll/page.rb
octopress-3.0.0.rc.36 lib/octopress/docs/jekyll/page.rb
octopress-3.0.0.rc.35 lib/octopress/docs/jekyll/page.rb
octopress-3.0.0.rc.34 lib/octopress/docs/jekyll/page.rb
octopress-3.0.0.rc.33 lib/octopress/docs/jekyll/page.rb