aboutsummaryrefslogtreecommitdiff
path: root/_plugins/relativize_url.rb
blob: b7df362341210e2441fd510878cb153c706c2c53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
require 'pathname'

module Jekyll
  module UrlRelativizer
    def relativize_url(input)
      return if input.nil?
      input = ensure_leading_slash(input)
      page_url = @context.registers[:page]["url"]
      if page_url[-1] == '/'
        page_dir = Pathname(page_url)
      else
        page_dir = Pathname(page_url).parent
      end

      ret = Pathname(input).relative_path_from(page_dir).to_s
      return ret
    end
  end
end

Liquid::Template.register_filter(Jekyll::UrlRelativizer)