Skip to content
This repository has been archived by the owner on Dec 2, 2022. It is now read-only.

Commit

Permalink
Redirect from old html pages to new Octopress pages
Browse files Browse the repository at this point in the history
Redirects are handled by the jekyll_alias_generator Octopress plugin
https://github.com/tsmango/jekyll_alias_generator
  • Loading branch information
juliepagano committed May 5, 2012
1 parent a9076e1 commit 90c56a3
Show file tree
Hide file tree
Showing 22 changed files with 190 additions and 21 deletions.
23 changes: 23 additions & 0 deletions README.markdown
Expand Up @@ -34,6 +34,29 @@ This will create a new post in the `/source/_posts/` directory. Always edit the

$ rake new_page[policies/index.html]

### Redirect from another url:

Place the full path of the alias (place to redirect from) inside the
destination post's YAML Front Matter. One or more aliases may be given.

Example Post Configuration:

---
layout: post
title: "How I Keep Limited Pressing Running"
alias: /post/6301645915/how-i-keep-limited-pressing-running/index.html
---

Example Post Configuration:

---
layout: post
title: "How I Keep Limited Pressing Running"
alias: [/first-alias/index.html, /second-alias/index.html]
---

Aliases are handled by the [jekyll_alias_generator](https://github.com/tsmango/jekyll_alias_generator) plugin.

### Generate and preview:

$ rake generate # Generates posts and pages into the public directory
Expand Down
110 changes: 110 additions & 0 deletions plugins/alias_generator.rb
@@ -0,0 +1,110 @@
# Alias Generator for Posts.
#
# Generates redirect pages for posts with aliases set in the YAML Front Matter.
#
# Place the full path of the alias (place to redirect from) inside the
# destination post's YAML Front Matter. One or more aliases may be given.
#
# Example Post Configuration:
#
# ---
# layout: post
# title: "How I Keep Limited Pressing Running"
# alias: /post/6301645915/how-i-keep-limited-pressing-running/index.html
# ---
#
# Example Post Configuration:
#
# ---
# layout: post
# title: "How I Keep Limited Pressing Running"
# alias: [/first-alias/index.html, /second-alias/index.html]
# ---
#
# Author: Thomas Mango
# Site: http://thomasmango.com
# Plugin Source: http://github.com/tsmango/jekyll_alias_generator
# Site Source: http://github.com/tsmango/thomasmango.com
# PLugin License: MIT

module Jekyll

class AliasGenerator < Generator

def generate(site)
@site = site

process_posts
process_pages
end

def process_posts
@site.posts.each do |post|
generate_aliases(post.url, post.data['alias'])
end
end

def process_pages
@site.pages.each do |page|
generate_aliases(page.destination('').gsub(/index\.(html|htm)$/, ''), page.data['alias'])
end
end

def generate_aliases(destination_path, aliases)
alias_paths ||= Array.new
alias_paths << aliases
alias_paths.compact!

alias_paths.flatten.each do |alias_path|
# If alias_path has an extension, we'll write the alias file
# directly to that path. Otherwise, we'll assume that the
# alias_path is a directory, in which case we'll generate an
# index.html file.
alias_dir = File.extname(alias_path).empty? ? alias_path : File.dirname(alias_path)
alias_file = File.extname(alias_path).empty? ? "index.html" : File.basename(alias_path)

fs_path_to_dir = File.join(@site.dest, alias_dir)
alias_index_path = File.join(alias_dir, alias_file)

FileUtils.mkdir_p(fs_path_to_dir)

File.open(File.join(fs_path_to_dir, alias_file), 'w') do |file|
file.write(alias_template(destination_path))
end

(alias_index_path.split('/').size + 1).times do |sections|
@site.static_files << Jekyll::AliasFile.new(@site, @site.dest, alias_index_path.split('/')[0, sections].join('/'), nil)
end
end
end

def alias_template(destination_path)
<<-EOF
<!DOCTYPE html>
<html>
<head>
<link rel="canonical" href="#{destination_path}"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="0;url=#{destination_path}" />
</head>
</html>
EOF
end
end

class AliasFile < StaticFile
require 'set'

def destination(dest)
File.join(dest, @dir)
end

def modified?
return false
end

def write(dest)
return true
end
end
end
2 changes: 1 addition & 1 deletion public/atom.xml
Expand Up @@ -4,7 +4,7 @@
<title><![CDATA[Steel City Ruby Conf]]></title>
<link href="http://scrc-octopress.heroku.com/atom.xml" rel="self"/>
<link href="http://scrc-octopress.heroku.com/"/>
<updated>2012-05-03T22:25:51-04:00</updated>
<updated>2012-05-04T22:56:01-04:00</updated>
<id>http://scrc-octopress.heroku.com/</id>
<author>
<name><![CDATA[]]></name>
Expand Down
Expand Up @@ -188,7 +188,7 @@ <h1 class="entry-title">How Steel City Ruby Conf Came to Be</h1>
</div>
</div>
<footer role="contentinfo"><div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
2 changes: 1 addition & 1 deletion public/blog/archives/index.html
Expand Up @@ -120,7 +120,7 @@ <h1><a href="/blog/2012/05/03/how-steel-city-ruby-conf-came-to-be/">How Steel Ci
</div>
</div>
<footer role="contentinfo"><div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
2 changes: 1 addition & 1 deletion public/blog/index.html
Expand Up @@ -239,7 +239,7 @@ <h1 class="entry-title"><a href="/blog/2012/05/03/how-steel-city-ruby-conf-came-
</div>
</div>
<footer role="contentinfo"><div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
8 changes: 8 additions & 0 deletions public/city.html
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<link rel="canonical" href="/city/"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="0;url=/city/" />
</head>
</html>
2 changes: 1 addition & 1 deletion public/city/index.html
Expand Up @@ -171,7 +171,7 @@ <h4>Cities with direct flights to Pittsburgh and length of flight:</h4>
</div>
</div>
<footer role="contentinfo"><div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
8 changes: 8 additions & 0 deletions public/conference.html
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<link rel="canonical" href="/conference/"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="0;url=/conference/" />
</head>
</html>
4 changes: 2 additions & 2 deletions public/conference/index.html
Expand Up @@ -102,7 +102,7 @@ <h2>VENUE</h2>
<img src="/images/scrc/heinz-history-center.jpg" alt="Heinz History Center"
title="Heinz History Center" />
</div>

<div class="map-frame">
<iframe width="570" height="438" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=john+heinz+history+center&amp;aq=&amp;sll=40.444661,-80.001068&amp;sspn=0.023025,0.045447&amp;ie=UTF8&amp;hq=john+heinz+history+center&amp;hnear=&amp;t=m&amp;cid=5087244111269421195&amp;ll=40.482732,-79.981842&amp;spn=0.104453,0.195351&amp;z=12&amp;iwloc=A&amp;output=embed"></iframe>
</div>
Expand Down Expand Up @@ -397,7 +397,7 @@ <h2 class="clear">SPEAKERS</h2>
</div>
</div>
<footer role="contentinfo"><div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
2 changes: 1 addition & 1 deletion public/index.html
Expand Up @@ -265,7 +265,7 @@ <h4>Steve Klabnik</h4>
</div>
</div>
<footer role="contentinfo"><div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
8 changes: 8 additions & 0 deletions public/policies.html
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<link rel="canonical" href="/policies/"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="0;url=/policies/" />
</head>
</html>
2 changes: 1 addition & 1 deletion public/policies/index.html
Expand Up @@ -216,7 +216,7 @@ <h2>Questions? Contact Us</h2>
</div>
</div>
<footer role="contentinfo"><div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
16 changes: 8 additions & 8 deletions public/sitemap.xml
Expand Up @@ -4,34 +4,34 @@
<loc>
http://scrc-octopress.heroku.com/blog/2012/05/03/how-steel-city-ruby-conf-came-to-be/
</loc>
<lastmod>2012-05-03T22:25:51-04:00</lastmod>
<lastmod>2012-05-04T22:09:29-04:00</lastmod>
</url>
<url>
<loc>http://scrc-octopress.heroku.com/blog/archives/</loc>
<lastmod>2012-05-03T22:25:51-04:00</lastmod>
<lastmod>2012-05-04T22:09:29-04:00</lastmod>
</url>
<url>
<loc>http://scrc-octopress.heroku.com/blog/</loc>
<lastmod>2012-05-03T22:25:51-04:00</lastmod>
<lastmod>2012-05-04T22:09:29-04:00</lastmod>
</url>
<url>
<loc>http://scrc-octopress.heroku.com/city/</loc>
<lastmod>2012-05-03T22:25:51-04:00</lastmod>
<lastmod>2012-05-04T22:54:31-04:00</lastmod>
</url>
<url>
<loc>http://scrc-octopress.heroku.com/conference/</loc>
<lastmod>2012-05-03T22:25:51-04:00</lastmod>
<lastmod>2012-05-04T22:54:31-04:00</lastmod>
</url>
<url>
<loc>http://scrc-octopress.heroku.com/</loc>
<lastmod>2012-05-03T22:25:51-04:00</lastmod>
<lastmod>2012-05-04T22:09:29-04:00</lastmod>
</url>
<url>
<loc>http://scrc-octopress.heroku.com/policies/</loc>
<lastmod>2012-05-03T22:25:51-04:00</lastmod>
<lastmod>2012-05-04T22:54:31-04:00</lastmod>
</url>
<url>
<loc>http://scrc-octopress.heroku.com/sponsors/</loc>
<lastmod>2012-05-03T22:25:51-04:00</lastmod>
<lastmod>2012-05-04T22:54:31-04:00</lastmod>
</url>
</urlset>
8 changes: 8 additions & 0 deletions public/sponsors.html
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<link rel="canonical" href="/sponsors/"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="0;url=/sponsors/" />
</head>
</html>
2 changes: 1 addition & 1 deletion public/sponsors/index.html
Expand Up @@ -360,7 +360,7 @@ <h3>Contact Us</h3>
</div>
</div>
<footer role="contentinfo"><div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
2 changes: 1 addition & 1 deletion public/stylesheets/screen.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion source/_includes/custom/footer.html
@@ -1,5 +1,5 @@
<div id="harassment-notice">
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="policies#antiharassment">anti-harassment policy</a>.
Steel City Ruby Conference is dedicated to a harassment-free conference experience for everyone. Please read our <a href="/policies#antiharassment">anti-harassment policy</a>.
</div>

<a href="http://twitter.com/#!/steelcityruby">Follow @SteelCityRuby on Twitter</a>
Expand Down
1 change: 1 addition & 0 deletions source/city/index.html
Expand Up @@ -5,6 +5,7 @@
sharing: false
footer: true
body_id: "city"
alias: /city.html
---

<h2>PITTSBURGH</h2>
Expand Down
3 changes: 2 additions & 1 deletion source/conference/index.html
Expand Up @@ -5,6 +5,7 @@
sharing: false
footer: true
body_id: "conference"
alias: /conference.html
---

<h2>VENUE</h2>
Expand All @@ -22,7 +23,7 @@ <h2>VENUE</h2>
<img src="/images/scrc/heinz-history-center.jpg" alt="Heinz History Center"
title="Heinz History Center" />
</div>

<div class="map-frame">
<iframe width="570" height="438" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=john+heinz+history+center&amp;aq=&amp;sll=40.444661,-80.001068&amp;sspn=0.023025,0.045447&amp;ie=UTF8&amp;hq=john+heinz+history+center&amp;hnear=&amp;t=m&amp;cid=5087244111269421195&amp;ll=40.482732,-79.981842&amp;spn=0.104453,0.195351&amp;z=12&amp;iwloc=A&amp;output=embed"></iframe>
</div>
Expand Down
1 change: 1 addition & 0 deletions source/policies/index.html
Expand Up @@ -6,6 +6,7 @@
comments: true
sharing: false
footer: false
alias: /policies.html
---

<h2>
Expand Down
1 change: 1 addition & 0 deletions source/sponsors/index.html
Expand Up @@ -5,6 +5,7 @@
sharing: false
footer: true
body_id: "sponsors"
alias: /sponsors.html
---

<h2>OUR SPONSORS</h2>
Expand Down

0 comments on commit 90c56a3

Please sign in to comment.