Permalink
Browse files

Merge remote branch 'juliepagano/octopress-redirects' into octopress-…

…port

Conflicts:
	public/atom.xml
	public/sitemap.xml
	public/stylesheets/screen.css
  • Loading branch information...
2 parents 9477485 + 90c56a3 commit d10337f7941a76b703563b81c82e4d9f71395392 @carols10cents carols10cents committed May 6, 2012
View
@@ -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
View
@@ -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
@@ -190,7 +190,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>
@@ -131,7 +131,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>
View
@@ -314,7 +314,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>
View
@@ -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>
View
@@ -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>
View
@@ -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>
@@ -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>
@@ -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>
View
@@ -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>
View
@@ -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>
@@ -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>
View
@@ -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>
@@ -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>
@@ -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>
View
@@ -5,6 +5,7 @@
sharing: false
footer: true
body_id: "city"
+alias: /city.html
---
<h2>PITTSBURGH</h2>
@@ -5,6 +5,7 @@
sharing: false
footer: true
body_id: "conference"
+alias: /conference.html
---
<h2>VENUE</h2>
@@ -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>
@@ -6,6 +6,7 @@
comments: true
sharing: false
footer: false
+alias: /policies.html
---
<h2>
@@ -5,6 +5,7 @@
sharing: false
footer: true
body_id: "sponsors"
+alias: /sponsors.html
---
<h2>OUR SPONSORS</h2>

0 comments on commit d10337f

Please sign in to comment.