jekyll: pageless_redirects plugin

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2022-11-05 22:03:30 +01:00
parent 2e732e27da
commit 01eaa95d67
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
1 changed files with 38 additions and 0 deletions

View File

@ -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