lib/amber/static_page.rb
def aliases(locale=I18n.default_locale)
      @aliases ||= begin
        aliases_hash = Hash.new([])
        @props.locales.each do |l|
          aliases = @props.prop_without_inheritance(l, :alias)
          aliases_hash[l] = begin
            if aliases.nil?
              []
            else
              [aliases].flatten.collect {|alias_path|
                if alias_path =~ /^\//
                  alias_path.sub(/^\//, '').split('/')
                elsif @parent
                  @parent.path + [alias_path]
                else
                  alias_path.split('/')
                end
              }
            end
          end
        end
        aliases_hash
      end
      @aliases[locale]
    end
def aliases(locale=I18n.default_locale)
      @aliases ||= begin
        aliases_hash = Hash.new([])
        @props.locales.each do |l|
          aliases = @props.prop_without_inheritance(l, :alias)
          aliases_hash[l] = begin
            if aliases.nil?
              []
            else
              [aliases].flatten.collect {|alias_path|
                if alias_path =~ /^\//
                  alias_path.sub(/^\//, '').split('/')
                elsif @parent
                  @parent.path + [alias_path]
                else
                  alias_path.split('/')
                end
              }
            end
          end
        end
        aliases_hash
      end
      @aliases[locale]
    end
returns an array of normalized aliases based on the :alias property
 defined for a page.

 aliases are defined with a leading slash for absolute paths, or without a slash
 for relative paths. this method converts this to a format that amber uses
 (all absolute, with no leading slash, as an array instead of a string).