mirror of https://github.com/docker/docs.git
jekyll: pageless_redirects plugin
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
2e732e27da
commit
01eaa95d67
|
@ -0,0 +1,38 @@
|
||||||
|
require 'jekyll'
|
||||||
|
require 'octopress-hooks'
|
||||||
|
|
||||||
|
module Jekyll
|
||||||
|
class RedirectPage < Jekyll::Page
|
||||||
|
def initialize(site, src, redirect_to)
|
||||||
|
puts " #{src} => #{redirect_to}"
|
||||||
|
@site = site
|
||||||
|
@base = site.source
|
||||||
|
@dir = src
|
||||||
|
@name = "index.html"
|
||||||
|
process(@name)
|
||||||
|
@data = {
|
||||||
|
"sitemap" => false,
|
||||||
|
"redirect_to" => redirect_to
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class PagelessRedirects < Octopress::Hooks::Site
|
||||||
|
def post_read(site)
|
||||||
|
beginning_time = Time.now
|
||||||
|
puts "Starting plugin pageless_redirects.rb..."
|
||||||
|
|
||||||
|
if File.file?("_redirects.yml")
|
||||||
|
rd = YAML.load_file("_redirects.yml")
|
||||||
|
rd.each do |redirect_to, srcs|
|
||||||
|
srcs.each do |src|
|
||||||
|
site.pages << RedirectPage.new(site, src, redirect_to)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end_time = Time.now
|
||||||
|
puts "done in #{(end_time - beginning_time)} seconds"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue