aboutsummaryrefslogtreecommitdiff
path: root/_plugins/relativize_url.rb
diff options
context:
space:
mode:
Diffstat (limited to '_plugins/relativize_url.rb')
-rw-r--r--_plugins/relativize_url.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/_plugins/relativize_url.rb b/_plugins/relativize_url.rb
new file mode 100644
index 0000000..23e1712
--- /dev/null
+++ b/_plugins/relativize_url.rb
@@ -0,0 +1,34 @@
+require 'pathname'
+
+module Jekyll
+ module UrlRelativizer
+ # def relativize_url(url)
+ # pageUrl = @context.registers[:page]["url"]
+ # if pageUrl[-1] == "/"
+ # pageDir = Pathname(pageUrl)
+ # else
+ # pageDir = Pathname(pageUrl).parent
+ # end
+ # ret = Pathname(url).relative_path_from(pageDir).to_s
+ # puts pageDir.to_s + + " -> " + url.to_s + " => " + ret
+ # ret
+ # end
+
+ 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
+ # puts page_url.to_s + "," + page_dir.to_s + + "," + input.to_s + "," + ret
+ return ret
+ end
+ end
+end
+
+Liquid::Template.register_filter(Jekyll::UrlRelativizer)