caboodle 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/lib/caboodle.rb +1 -1
- data/lib/caboodle/app.rb +1 -1
- data/lib/caboodle/app/config/site.yml +2 -2
- data/lib/caboodle/app/views/layout.haml +27 -27
- data/lib/caboodle/config.rb +9 -7
- data/lib/caboodle/helpers.rb +10 -0
- data/lib/caboodle/kit.rb +27 -2
- data/lib/caboodle/kits/analytics/analytics.rb +15 -0
- data/lib/caboodle/kits/flickr/flickr.rb +12 -15
- data/lib/caboodle/kits/github/github.rb +1 -6
- data/lib/caboodle/kits/identity/identity.rb +2 -8
- data/lib/caboodle/kits/lazyload/lazyload.rb +1 -2
- data/lib/caboodle/kits/linkedin/linkedin.rb +1 -5
- data/lib/caboodle/kits/onepage/onepage.rb +1 -4
- data/lib/caboodle/kits/page/page.rb +1 -3
- data/lib/caboodle/kits/portfolio/config/portfolio.yml +16 -0
- data/lib/caboodle/kits/portfolio/portfolio.rb +12 -5
- data/lib/caboodle/kits/posterous/posterous.rb +0 -2
- data/lib/caboodle/kits/seo/seo.rb +6 -0
- data/lib/caboodle/kits/soundcloud/soundcloud.rb +0 -3
- data/lib/caboodle/kits/twitter/twitter.rb +0 -3
- data/lib/caboodle/kits/typekit/typekit.rb +1 -5
- metadata +8 -5
- data/lib/caboodle/kits/onepage/card.html +0 -220
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.1. | 
| 1 | 
            +
            0.1.4
         | 
    
        data/lib/caboodle.rb
    CHANGED
    
    | @@ -1,3 +1,3 @@ | |
| 1 1 | 
             
            $:<<File.dirname(__FILE__)
         | 
| 2 2 | 
             
            $:<<File.join(File.dirname(__FILE__),"caboodle")
         | 
| 3 | 
            -
            %{sinatra/base sinatra/content_for yaml hashie haml find sinatra/base sinatra/compass sinatra/advanced_routes compass susy pp sleepy caboodle/config caboodle/kit caboodle/app caboodle/scrape}.split.each{|a| require a}
         | 
| 3 | 
            +
            %{sinatra/base sinatra/content_for yaml hashie haml find sinatra/base sinatra/compass sinatra/advanced_routes compass susy pp sleepy caboodle/helpers caboodle/config caboodle/kit caboodle/app caboodle/scrape}.split.each{|a| require a}
         | 
    
        data/lib/caboodle/app.rb
    CHANGED
    
    
| @@ -3,9 +3,10 @@ | |
| 3 3 | 
             
              %head{:profile => "http://gmpg.org/xfn/11"}
         | 
| 4 4 | 
             
                %meta{:content => "text/html; charset=utf-8", "http-equiv" => "content-type"}/
         | 
| 5 5 | 
             
                %meta{:content => "index,follow", :name => "robots"}/
         | 
| 6 | 
            -
                = Caboodle::Site.meta
         | 
| 7 6 |  | 
| 8 | 
            -
                 | 
| 7 | 
            +
                = meta
         | 
| 8 | 
            +
                
         | 
| 9 | 
            +
                %title= title
         | 
| 9 10 | 
             
                %link{:href => "/stylesheets/screen.css", :rel => "stylesheet", :type => "text/css"}/
         | 
| 10 11 |  | 
| 11 12 | 
             
                - Caboodle::Stylesheets.each do |css|
         | 
| @@ -19,14 +20,14 @@ | |
| 19 20 | 
             
                - Caboodle::Javascripts.each do |js|
         | 
| 20 21 | 
             
                  %script{:charset => "utf-8", :src => js, :type => "text/javascript"}
         | 
| 21 22 |  | 
| 22 | 
            -
                =  | 
| 23 | 
            +
                = head
         | 
| 23 24 |  | 
| 24 | 
            -
              %body.caboodle | 
| 25 | 
            -
                =  | 
| 25 | 
            +
              %body.caboodle
         | 
| 26 | 
            +
                = before_page
         | 
| 26 27 | 
             
                #page.hfeed
         | 
| 27 | 
            -
                  =  | 
| 28 | 
            +
                  = before_header
         | 
| 28 29 | 
             
                  %header#site-header
         | 
| 29 | 
            -
                    =  | 
| 30 | 
            +
                    = above_header
         | 
| 30 31 | 
             
                    - if Caboodle::Site.logo_url
         | 
| 31 32 | 
             
                      #logo
         | 
| 32 33 | 
             
                        %a{:href => "/", :rel => "home", :title => Caboodle::Site.title }
         | 
| @@ -36,16 +37,15 @@ | |
| 36 37 | 
             
                        %h1
         | 
| 37 38 | 
             
                          %a{:href => "/", :rel => "home", :title => Caboodle::Site.title }
         | 
| 38 39 | 
             
                            = Caboodle::Site.title
         | 
| 39 | 
            -
                    - if  | 
| 40 | 
            +
                    - if description
         | 
| 40 41 | 
             
                      #site-description
         | 
| 41 42 | 
             
                        %h2= Caboodle::Site.description
         | 
| 42 | 
            -
                     | 
| 43 | 
            -
                       | 
| 44 | 
            -
                         | 
| 45 | 
            -
                          %a{:href => "#content", :title => "Skip navigation to the content"} Skip to content
         | 
| 43 | 
            +
                    #access
         | 
| 44 | 
            +
                      .skip-link
         | 
| 45 | 
            +
                        %a{:href => "#content", :title => "Skip navigation to the content"} Skip to content
         | 
| 46 46 |  | 
| 47 47 | 
             
                    - if Caboodle::MenuItems.size > 0
         | 
| 48 | 
            -
                      =  | 
| 48 | 
            +
                      = before_nav
         | 
| 49 49 | 
             
                      %nav
         | 
| 50 50 | 
             
                        %ul
         | 
| 51 51 | 
             
                          %li
         | 
| @@ -56,24 +56,24 @@ | |
| 56 56 | 
             
                              %a{:href=>p[:link]}
         | 
| 57 57 | 
             
                                = p[:display]
         | 
| 58 58 |  | 
| 59 | 
            -
                    =  | 
| 60 | 
            -
                  =  | 
| 61 | 
            -
                  =  | 
| 59 | 
            +
                    = below_header
         | 
| 60 | 
            +
                  = after_header
         | 
| 61 | 
            +
                  = before_main
         | 
| 62 62 | 
             
                  %section#main
         | 
| 63 63 | 
             
                    - if @title
         | 
| 64 64 | 
             
                      %header#page_title
         | 
| 65 65 | 
             
                        %h1
         | 
| 66 66 | 
             
                          = @title
         | 
| 67 | 
            -
                    =  | 
| 67 | 
            +
                    = before_content
         | 
| 68 68 | 
             
                    %section#content
         | 
| 69 | 
            -
                      =  | 
| 69 | 
            +
                      = above_content
         | 
| 70 70 | 
             
                      = yield
         | 
| 71 | 
            -
                      =  | 
| 72 | 
            -
                    =  | 
| 73 | 
            -
                  =  | 
| 74 | 
            -
                  =  | 
| 71 | 
            +
                      = below_content
         | 
| 72 | 
            +
                    = after_content
         | 
| 73 | 
            +
                  = after_main
         | 
| 74 | 
            +
                  = before_footer
         | 
| 75 75 | 
             
                  %footer#footer
         | 
| 76 | 
            -
                    =  | 
| 76 | 
            +
                    = above_footer
         | 
| 77 77 | 
             
                    - if Caboodle::Site.has_footer
         | 
| 78 78 | 
             
                      %p
         | 
| 79 79 | 
             
                        \© 
         | 
| @@ -83,7 +83,7 @@ | |
| 83 83 | 
             
                          Powered by 
         | 
| 84 84 | 
             
                          %a{:href=>"http://github.com/steflewandowski/caboodle"}
         | 
| 85 85 | 
             
                            Caboodle
         | 
| 86 | 
            -
                    =  | 
| 87 | 
            -
                  =  | 
| 88 | 
            -
                =  | 
| 89 | 
            -
              =  | 
| 86 | 
            +
                    = below_footer     
         | 
| 87 | 
            +
                  = after_footer
         | 
| 88 | 
            +
                = after_page
         | 
| 89 | 
            +
              = after_body
         | 
    
        data/lib/caboodle/config.rb
    CHANGED
    
    | @@ -1,12 +1,14 @@ | |
| 1 1 | 
             
            module Caboodle  
         | 
| 2 | 
            -
              Kits | 
| 3 | 
            -
              MenuItems | 
| 4 | 
            -
              Javascripts | 
| 5 | 
            -
              Stylesheets | 
| 6 | 
            -
              Defaults | 
| 2 | 
            +
              Kits             = []
         | 
| 3 | 
            +
              MenuItems        = []
         | 
| 4 | 
            +
              Javascripts      = []
         | 
| 5 | 
            +
              Stylesheets      = []
         | 
| 6 | 
            +
              Defaults         = Hashie::Mash.new(Hashie::Mash.new(YAML.load_file(File.join(File.dirname(__FILE__), 'config','defaults.yml'))))
         | 
| 7 7 | 
             
              RequiredSettings = Hashie::Mash.new()
         | 
| 8 | 
            -
               | 
| 8 | 
            +
              Layout           = Hashie::Mash.new()
         | 
| 9 | 
            +
              Site             = Defaults.clone
         | 
| 10 | 
            +
              
         | 
| 9 11 | 
             
              Site.required_settings = []
         | 
| 10 12 | 
             
              Site.kits = [] unless Site.kits
         | 
| 11 | 
            -
               | 
| 13 | 
            +
              puts Site.inspect
         | 
| 12 14 | 
             
            end
         | 
    
        data/lib/caboodle/kit.rb
    CHANGED
    
    | @@ -9,11 +9,24 @@ module Caboodle | |
| 9 9 | 
             
                set :public, Proc.new { File.join(root, "public") }
         | 
| 10 10 | 
             
                set :haml, {:format => :html5 }
         | 
| 11 11 |  | 
| 12 | 
            +
                helpers Sinatra::CaboodleHelpers
         | 
| 13 | 
            +
             | 
| 12 14 | 
             
                template :layout do
         | 
| 13 15 | 
             
                  @@template ||= File.open(File.join(File.dirname(__FILE__),"app","views","layout.haml")).read
         | 
| 14 16 | 
             
                end
         | 
| 15 17 |  | 
| 16 18 | 
             
                class << self
         | 
| 19 | 
            +
                  
         | 
| 20 | 
            +
                  def inherited subclass
         | 
| 21 | 
            +
                    c = caller[0].split(":")
         | 
| 22 | 
            +
                    f = File.dirname(File.expand_path("#{c[0]}"))
         | 
| 23 | 
            +
                    views = File.join(f, "views")
         | 
| 24 | 
            +
                    pub = File.join(f, "public")
         | 
| 25 | 
            +
                    subclass.set :views, views if File.exists?(views)
         | 
| 26 | 
            +
                    subclass.set :public, pub if File.exists?(pub)
         | 
| 27 | 
            +
                    super
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
                  
         | 
| 17 30 | 
             
                  def is_a_caboodle_kit
         | 
| 18 31 | 
             
                    true
         | 
| 19 32 | 
             
                  end
         | 
| @@ -46,7 +59,7 @@ module Caboodle | |
| 46 59 | 
             
                      kit_name = kit_name.downcase
         | 
| 47 60 | 
             
                      puts "Loading Kit: #{kit_name}"
         | 
| 48 61 | 
             
                      orig = Caboodle.constants
         | 
| 49 | 
            -
                      require "caboodle/kits/#{kit_name}/#{kit_name}" rescue puts " | 
| 62 | 
            +
                      require "caboodle/kits/#{kit_name}/#{kit_name}" rescue puts "Problem loading Kit: #{kit_name}"
         | 
| 50 63 | 
             
                      added = Caboodle.constants - orig
         | 
| 51 64 | 
             
                      added.each do |d| 
         | 
| 52 65 | 
             
                        c = Caboodle.const_get(d)
         | 
| @@ -64,7 +77,7 @@ module Caboodle | |
| 64 77 | 
             
                      kit_name = kit_name.downcase
         | 
| 65 78 | 
             
                      puts "Loading Kit: #{kit_name}"
         | 
| 66 79 | 
             
                      orig = Caboodle.constants
         | 
| 67 | 
            -
                      require "caboodle/kits/#{kit_name}/#{kit_name}" rescue puts " | 
| 80 | 
            +
                      require "caboodle/kits/#{kit_name}/#{kit_name}" rescue puts "Problem loading Kit: #{kit_name}"
         | 
| 68 81 | 
             
                      added = Caboodle.constants - orig
         | 
| 69 82 | 
             
                      added.each do |d| 
         | 
| 70 83 | 
             
                        c = Caboodle.const_get(d)
         | 
| @@ -132,6 +145,18 @@ module Caboodle | |
| 132 145 | 
             
                    Caboodle::Javascripts.uniq!
         | 
| 133 146 | 
             
                  end
         | 
| 134 147 |  | 
| 148 | 
            +
                  def add_to_layout hash_of_items
         | 
| 149 | 
            +
                    hash_of_items.each do |k,v|
         | 
| 150 | 
            +
                      unless Caboodle::Layout[k.to_sym].blank?
         | 
| 151 | 
            +
                        Caboodle::Layout[k.to_sym] << "\n"
         | 
| 152 | 
            +
                        Caboodle::Layout[k.to_sym] << v
         | 
| 153 | 
            +
                      else
         | 
| 154 | 
            +
                        Caboodle::Layout[k.to_sym] = v
         | 
| 155 | 
            +
                      end
         | 
| 156 | 
            +
                    end
         | 
| 157 | 
            +
                    puts Caboodle::Layout.inspect
         | 
| 158 | 
            +
                  end
         | 
| 159 | 
            +
                  
         | 
| 135 160 | 
             
                  def defaults hash
         | 
| 136 161 | 
             
                    if hash.class == Hash
         | 
| 137 162 | 
             
                      hash.each {|k,v| Site[k] = v }
         | 
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            module Caboodle
         | 
| 2 | 
            +
              class Analytics < Caboodle::Kit
         | 
| 3 | 
            +
                add_to_layout "after_body" => "<script type=\"text/javascript\">
         | 
| 4 | 
            +
                	var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");
         | 
| 5 | 
            +
                	document.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));
         | 
| 6 | 
            +
                </script>
         | 
| 7 | 
            +
                <script type=\"text/javascript\">
         | 
| 8 | 
            +
                	try {
         | 
| 9 | 
            +
                	var pageTracker = _gat._getTracker(\"#{Caboodle::Site.analytics_id}\");
         | 
| 10 | 
            +
                	pageTracker._trackPageview();
         | 
| 11 | 
            +
                	} catch(err) {}
         | 
| 12 | 
            +
                </script>"
         | 
| 13 | 
            +
                required [:analytics_id]
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
            end
         | 
| @@ -2,12 +2,22 @@ module Caboodle | |
| 2 2 |  | 
| 3 3 | 
             
              class FlickrAPI < Weary::Base
         | 
| 4 4 |  | 
| 5 | 
            +
                def self.flickr_user_id
         | 
| 6 | 
            +
                  return Site.flickr_user_id unless Site.flickr_user_id.blank?
         | 
| 7 | 
            +
                  url = "http://query.yahooapis.com/v1/public/yql?q=use%20%22http%3A%2F%2Fisithackday.com%2Fapi%2Fflickr.whois.xml%22%20as%20flickr.whois%3Bselect%20*%20from%20flickr.whois%20where%20owner%3D%22#{Site.flickr_username}%22&format=xml"
         | 
| 8 | 
            +
                  doc = Nokogiri::XML.parse(open(url))
         | 
| 9 | 
            +
                  val = doc.css("owner").first.attributes["nsid"].value
         | 
| 10 | 
            +
                  Site.flickr_user_id = val
         | 
| 11 | 
            +
                  Caboodle::Kit.dump_config
         | 
| 12 | 
            +
                  Site.flickr_user_id
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
                
         | 
| 5 15 | 
             
                def initialize(opts={})
         | 
| 6 16 | 
             
                  self.defaults = {:api_key => Site.flickr_api_key}
         | 
| 7 17 | 
             
                end
         | 
| 8 18 |  | 
| 9 19 | 
             
                declare "photosets" do |r|
         | 
| 10 | 
            -
                  r.url = "http://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key=#{Site.flickr_api_key}&user_id=#{FlickrAPI.flickr_user_id}"
         | 
| 20 | 
            +
                  r.url = "http://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key=#{Site.flickr_api_key}&user_id=#{Caboodle::FlickrAPI.flickr_user_id}"
         | 
| 11 21 | 
             
                  r.via = :get
         | 
| 12 22 | 
             
                end
         | 
| 13 23 |  | 
| @@ -29,24 +39,11 @@ module Caboodle | |
| 29 39 | 
             
                def self.photosets
         | 
| 30 40 | 
             
                  Caboodle.mash(new.photosets).rsp.photosets.photoset
         | 
| 31 41 | 
             
                end
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                def self.flickr_user_id
         | 
| 34 | 
            -
                  return Site.flickr_user_id unless Site.flickr_user_id.blank?
         | 
| 35 | 
            -
                  url = "http://query.yahooapis.com/v1/public/yql?q=use%20%22http%3A%2F%2Fisithackday.com%2Fapi%2Fflickr.whois.xml%22%20as%20flickr.whois%3Bselect%20*%20from%20flickr.whois%20where%20owner%3D%22#{Site.flickr_username}%22&format=xml"
         | 
| 36 | 
            -
                  doc = Nokogiri::XML.parse(open(url))
         | 
| 37 | 
            -
                  val = doc.css("owner").first.attributes["nsid"].value
         | 
| 38 | 
            -
                  Site.flickr_user_id = val
         | 
| 39 | 
            -
                  Caboodle::Kit.dump_config
         | 
| 40 | 
            -
                  Site.flickr_user_id
         | 
| 41 | 
            -
                end
         | 
| 42 | 
            -
                
         | 
| 42 | 
            +
             | 
| 43 43 | 
             
              end
         | 
| 44 44 |  | 
| 45 45 | 
             
              class Flickr < Caboodle::Kit
         | 
| 46 46 |  | 
| 47 | 
            -
                set :views, File.join(File.dirname(__FILE__), "views")
         | 
| 48 | 
            -
                set :public, File.join(File.dirname(__FILE__), "public")
         | 
| 49 | 
            -
                
         | 
| 50 47 | 
             
                def home
         | 
| 51 48 | 
             
                  @photosets = FlickrAPI.photosets rescue []
         | 
| 52 49 | 
             
                  @title = "Photography"
         | 
| @@ -1,13 +1,7 @@ | |
| 1 1 | 
             
            module Caboodle
         | 
| 2 | 
            -
              
         | 
| 3 | 
            -
              class Identity
         | 
| 4 | 
            -
              
         | 
| 5 | 
            -
              end
         | 
| 6 2 |  | 
| 7 | 
            -
              class  | 
| 8 | 
            -
             | 
| 9 | 
            -
                set :views, File.join(File.dirname(__FILE__), "views")
         | 
| 10 | 
            -
                
         | 
| 3 | 
            +
              class Identity < Caboodle::Kit
         | 
| 4 | 
            +
                    
         | 
| 11 5 | 
             
                get "/me" do
         | 
| 12 6 | 
             
                  @title = "About me"
         | 
| 13 7 | 
             
                  haml :me, :locals=>{:identity=>Identity.new()}, :layout=>true
         | 
| @@ -15,14 +15,10 @@ module Caboodle | |
| 15 15 | 
             
              end
         | 
| 16 16 |  | 
| 17 17 | 
             
              class Linkedin < Caboodle::Kit
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                set :views, File.join(File.dirname(__FILE__), "views")
         | 
| 20 | 
            -
                
         | 
| 18 | 
            +
                    
         | 
| 21 19 | 
             
                get "/cv" do
         | 
| 22 20 | 
             
                  @title = "Curriculum Vitae"
         | 
| 23 | 
            -
                  
         | 
| 24 21 | 
             
                  @linkedin = LinkedinAPI.new #rescue nil
         | 
| 25 | 
            -
                  #@linkedin.inspect
         | 
| 26 22 | 
             
                  haml :cv
         | 
| 27 23 | 
             
                end
         | 
| 28 24 |  | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            :portfolio_years:
         | 
| 2 | 
            +
              2010:
         | 
| 3 | 
            +
                - 
         | 
| 4 | 
            +
                  title: Something I did
         | 
| 5 | 
            +
                  description: What exactly was it
         | 
| 6 | 
            +
                  link: http://google.com
         | 
| 7 | 
            +
                  role: Googling it
         | 
| 8 | 
            +
                  tags: google searching
         | 
| 9 | 
            +
              2009:
         | 
| 10 | 
            +
                -
         | 
| 11 | 
            +
                  title: Something else I did
         | 
| 12 | 
            +
                  role: Yahooing
         | 
| 13 | 
            +
                  description: Using Yahoo instead
         | 
| 14 | 
            +
                  link: http://yahoo.com
         | 
| 15 | 
            +
                  tags: yahoo searching
         | 
| 16 | 
            +
                
         | 
| @@ -1,9 +1,16 @@ | |
| 1 1 | 
             
            module Caboodle
         | 
| 2 | 
            -
             | 
| 3 | 
            -
             | 
| 4 | 
            -
                
         | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 2 | 
            +
              class Portfolio < Caboodle::Kit
         | 
| 3 | 
            +
                    
         | 
| 4 | 
            +
                configure do
         | 
| 5 | 
            +
                  config_path = File.expand_path(File.join(Caboodle::App.root,"config","portfolio.yml"))
         | 
| 6 | 
            +
                  if File.exists?(config_path)
         | 
| 7 | 
            +
                    Caboodle::Kit.load_config(config_path)
         | 
| 8 | 
            +
                  else
         | 
| 9 | 
            +
                    `cp "#{File.join(File.dirname(__FILE__),"config","portfolio.yml")}" "#{File.join(Caboodle::App.root,"config",".")}"` rescue "Could not create the sample yml file"
         | 
| 10 | 
            +
                    puts "Please enter your portfolio items in the file #{File.expand_path(File.join(Caboodle::App.root,"config","portfolio.yml"))}"
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
                    
         | 
| 7 14 | 
             
                get "/portfolio" do
         | 
| 8 15 | 
             
                  @title = "Portfolio"
         | 
| 9 16 | 
             
                  haml :portfolio
         | 
| @@ -132,8 +132,6 @@ module Caboodle | |
| 132 132 |  | 
| 133 133 | 
             
              class Posterous < Caboodle::Kit
         | 
| 134 134 |  | 
| 135 | 
            -
                set :views, File.join(File.dirname(__FILE__), "views")
         | 
| 136 | 
            -
              
         | 
| 137 135 | 
             
                get "/page/:page_number" do |page_number|
         | 
| 138 136 | 
             
                  @posts = Post.page(page_number) rescue nil
         | 
| 139 137 | 
             
                  not_found if @posts.class == Array && @posts.blank?
         | 
| @@ -1,10 +1,6 @@ | |
| 1 1 | 
             
            module Caboodle
         | 
| 2 | 
            -
              class Typekit < Caboodle::Kit
         | 
| 3 | 
            -
                
         | 
| 4 | 
            -
                set :public, File.join(File.dirname(__FILE__), "public")
         | 
| 5 | 
            -
                
         | 
| 2 | 
            +
              class Typekit < Caboodle::Kit    
         | 
| 6 3 | 
             
                javascripts ["http://use.typekit.com/#{Caboodle::Site.typekit}.js","/typekit.js"]
         | 
| 7 | 
            -
              
         | 
| 8 4 | 
             
                required [:typekit]
         | 
| 9 5 | 
             
              end
         | 
| 10 6 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: caboodle
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 19
         | 
| 5 5 | 
             
              prerelease: false
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 1
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.1. | 
| 9 | 
            +
              - 4
         | 
| 10 | 
            +
              version: 0.1.4
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - steflewandowski
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2010-08- | 
| 18 | 
            +
            date: 2010-08-14 00:00:00 +01:00
         | 
| 19 19 | 
             
            default_executable: caboodle
         | 
| 20 20 | 
             
            dependencies: 
         | 
| 21 21 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -274,7 +274,9 @@ files: | |
| 274 274 | 
             
            - lib/caboodle/command.rb
         | 
| 275 275 | 
             
            - lib/caboodle/config.rb
         | 
| 276 276 | 
             
            - lib/caboodle/config/defaults.yml
         | 
| 277 | 
            +
            - lib/caboodle/helpers.rb
         | 
| 277 278 | 
             
            - lib/caboodle/kit.rb
         | 
| 279 | 
            +
            - lib/caboodle/kits/analytics/analytics.rb
         | 
| 278 280 | 
             
            - lib/caboodle/kits/flickr/flickr.rb
         | 
| 279 281 | 
             
            - lib/caboodle/kits/flickr/public/galleria.noconflict.min.js
         | 
| 280 282 | 
             
            - lib/caboodle/kits/flickr/views/photography.haml
         | 
| @@ -288,17 +290,18 @@ files: | |
| 288 290 | 
             
            - lib/caboodle/kits/lazyload/public/lazyload.js
         | 
| 289 291 | 
             
            - lib/caboodle/kits/linkedin/linkedin.rb
         | 
| 290 292 | 
             
            - lib/caboodle/kits/linkedin/views/cv.haml
         | 
| 291 | 
            -
            - lib/caboodle/kits/onepage/card.html
         | 
| 292 293 | 
             
            - lib/caboodle/kits/onepage/onepage.rb
         | 
| 293 294 | 
             
            - lib/caboodle/kits/onepage/views/contact.haml
         | 
| 294 295 | 
             
            - lib/caboodle/kits/page/page.rb
         | 
| 295 296 | 
             
            - lib/caboodle/kits/page/views/page.haml
         | 
| 297 | 
            +
            - lib/caboodle/kits/portfolio/config/portfolio.yml
         | 
| 296 298 | 
             
            - lib/caboodle/kits/portfolio/portfolio.rb
         | 
| 297 299 | 
             
            - lib/caboodle/kits/portfolio/views/portfolio.haml
         | 
| 298 300 | 
             
            - lib/caboodle/kits/posterous/posterous.rb
         | 
| 299 301 | 
             
            - lib/caboodle/kits/posterous/views/_post.haml
         | 
| 300 302 | 
             
            - lib/caboodle/kits/posterous/views/post.haml
         | 
| 301 303 | 
             
            - lib/caboodle/kits/posterous/views/posts.haml
         | 
| 304 | 
            +
            - lib/caboodle/kits/seo/seo.rb
         | 
| 302 305 | 
             
            - lib/caboodle/kits/skimmed/skimmed.rb
         | 
| 303 306 | 
             
            - lib/caboodle/kits/soundcloud/soundcloud.rb
         | 
| 304 307 | 
             
            - lib/caboodle/kits/soundcloud/views/soundcloud.haml
         | 
| @@ -1,220 +0,0 @@ | |
| 1 | 
            -
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
         | 
| 2 | 
            -
            <html xml:lang="en-us" xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> 
         | 
| 3 | 
            -
            	<head> 
         | 
| 4 | 
            -
            		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
         | 
| 5 | 
            -
            		<title>Stef Lewandowski (stef) on OnePage - interactive contact cards</title> 
         | 
| 6 | 
            -
            		
         | 
| 7 | 
            -
            		<link href="http://static.myonepage.com/css/onepage-1279966875.css" media="screen" rel="stylesheet" type="text/css" />		<script type="text/javascript" src="http://static.myonepage.com/js/onepage-1277994110.js"></script> 
         | 
| 8 | 
            -
            				<style type="text/css"> 
         | 
| 9 | 
            -
            		body { background-color: #61B4EF; }		</style> 
         | 
| 10 | 
            -
            				<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
         | 
| 11 | 
            -
            				<script type="text/javascript" src="/js/misc/more.js"></script> 
         | 
| 12 | 
            -
            				<script type="text/javascript" src="/js/misc/email.v3.js"></script> 
         | 
| 13 | 
            -
            				<script type="text/javascript" src="/js/misc/cardflip.v2.js"></script> 
         | 
| 14 | 
            -
            				<script type="text/javascript" src="/js/misc/embed.js"></script> 
         | 
| 15 | 
            -
            				<meta name="description" content="Create something every day." /> 
         | 
| 16 | 
            -
            		<meta name="keywords" content="OnePage, business card, social networks, card, stream, interactive, contact card, real-time" /> 
         | 
| 17 | 
            -
            		<link rel="icon" type="image/x-icon" href="/favicon.ico" /> 
         | 
| 18 | 
            -
            		<meta name="google-site-verification" content="NAsf4ohBOQ7O0hYPk__bpNxug11uA7luGiq6uk5dx-I" /> 
         | 
| 19 | 
            -
            		<script type="text/javascript"> 
         | 
| 20 | 
            -
            			//<![CDATA[
         | 
| 21 | 
            -
            			var _gaq = _gaq || [];
         | 
| 22 | 
            -
            			_gaq.push(['_setAccount', 'UA-10039160-2']);
         | 
| 23 | 
            -
            			_gaq.push(['_trackPageview']);
         | 
| 24 | 
            -
            			(function() {
         | 
| 25 | 
            -
            				var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
         | 
| 26 | 
            -
            				ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         | 
| 27 | 
            -
            				var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
         | 
| 28 | 
            -
            			})();
         | 
| 29 | 
            -
            			//]]>
         | 
| 30 | 
            -
            		</script> 
         | 
| 31 | 
            -
            	</head> 
         | 
| 32 | 
            -
            	<body> 
         | 
| 33 | 
            -
             
         | 
| 34 | 
            -
            	<script type="text/javascript"> 
         | 
| 35 | 
            -
            	//<![CDATA[
         | 
| 36 | 
            -
            	var _kmq = _kmq || [];
         | 
| 37 | 
            -
            	(function(){function _kms(u,d){if(navigator.appName.indexOf("Microsoft")==0 && d)document.write("<scr"+"ipt defer='defer' async='true' src='"+u+"'></scr"+"ipt>");else{var s=document.createElement('script');s.type='text/javascript';s.async=true;s.src=u;(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);}}_kms('https://i.kissmetrics.com/i.js');_kms('http'+('https:'==document.location.protocol ? 's://s3.amazonaws.com/' : '://')+'scripts.kissmetrics.com/c94de5e9d21ab6ab8c6f9d4bd466739ab67f0645.1.js',1);})();
         | 
| 38 | 
            -
            	//]]>
         | 
| 39 | 
            -
            	</script> 
         | 
| 40 | 
            -
             
         | 
| 41 | 
            -
            	<div id="container"> 
         | 
| 42 | 
            -
                    <div id="feedback"><a href="http://onepage.uservoice.com" title="Give us feedback using UserVoice">Feedback</a></div> 
         | 
| 43 | 
            -
            		<div id="above-top-bar"> 
         | 
| 44 | 
            -
            			<div id="retweet_button"> 
         | 
| 45 | 
            -
            				<script type="text/javascript"> 
         | 
| 46 | 
            -
            				tweetmeme_style = 'compact';
         | 
| 47 | 
            -
            				tweetmeme_source = 'myonepage';
         | 
| 48 | 
            -
            				</script> 
         | 
| 49 | 
            -
            				<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script> 
         | 
| 50 | 
            -
            			</div> 
         | 
| 51 | 
            -
            						<div id="facebook_like"><iframe src="http://www.facebook.com/kits/like.php?href=http://myonepage.com/stef&layout=button_count&show-faces=true&width=200&action=like&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width: 85px; height: 20px;"></iframe></div> 
         | 
| 52 | 
            -
            		</div> 
         | 
| 53 | 
            -
                    <div id="top-bar"  class="roundedgradientshadow"> 
         | 
| 54 | 
            -
                        <h1 id="logo"><a href="/"><img src="http://static.myonepage.com/images/onepage-rez.png" alt="OnePage" /></a></h1> 
         | 
| 55 | 
            -
            	
         | 
| 56 | 
            -
            	
         | 
| 57 | 
            -
            		<!-- start login bar --> 
         | 
| 58 | 
            -
            	        
         | 
| 59 | 
            -
            	<div id="logged-in-bar"> 
         | 
| 60 | 
            -
                        <ul> 
         | 
| 61 | 
            -
                                            <li><a href="/stef">My OnePage</a></li> 
         | 
| 62 | 
            -
                                <li><a href="/contacts">Contacts</a></li> 
         | 
| 63 | 
            -
                                <li><a href="/settings">Edit OnePage</a></li> 
         | 
| 64 | 
            -
                                <li><a href="/share">Share</a></li> 
         | 
| 65 | 
            -
                                <li><a href="/account">Account</a></li> 
         | 
| 66 | 
            -
                                <li><a href="/logout">Log Out</a></li> 
         | 
| 67 | 
            -
                                    </ul> 
         | 
| 68 | 
            -
            	</div> 
         | 
| 69 | 
            -
            	<!-- end login bar --> 
         | 
| 70 | 
            -
            		
         | 
| 71 | 
            -
            		</div> 
         | 
| 72 | 
            -
                    <div class="imabadperson"></div> 
         | 
| 73 | 
            -
            	<!-- start card -->       
         | 
| 74 | 
            -
            	<div id="card"> 
         | 
| 75 | 
            -
                            <p id="edit-bar"><a id="edit-card" class="share right" href="/settings" title="Edit your OnePage"><img src="/images/silk-icons/pencil.png" /> Edit</a></p>                <div id="card-container"> 
         | 
| 76 | 
            -
                                <ul id="hcard-Firstname-Lastname" class="vcard shadow"> 
         | 
| 77 | 
            -
                                        <li class="avatar"><div id="photo"><img class="photo" src="http://static.myonepage.com/images/profiles/stef-thumb-1280252485.jpg" title="Photo of Stef Lewandowski" height="132" width="132"/></div></li> 
         | 
| 78 | 
            -
                                        <li class="fn limit"><strong>Stef Lewandowski</strong></li> 
         | 
| 79 | 
            -
                                                                    <li class="title limit">Chief Innovation Officer, All In Group</li> 
         | 
| 80 | 
            -
                                                                    <li class="note limit">Create something every day.</li>                            <li> 
         | 
| 81 | 
            -
                                                <ul id="details"> 
         | 
| 82 | 
            -
                                                                                                            
         | 
| 83 | 
            -
                                                                
         | 
| 84 | 
            -
                                                                <li class="odd twitter"> 
         | 
| 85 | 
            -
                                                                        <dl> 
         | 
| 86 | 
            -
                                                                                <dd title="Twitter">Twitter:</dd> 
         | 
| 87 | 
            -
                                                                                <dt title="stef" class="twitter"><a rel="784d6ba94b903ab5564a9bd3502b029b0aa88e83" rel="me" target="_blank" href="http://twitter.com/stef">stef</a></dt> 
         | 
| 88 | 
            -
                                                                        </dl> 
         | 
| 89 | 
            -
                                                                </li> 
         | 
| 90 | 
            -
             
         | 
| 91 | 
            -
                                                                                                                                                                
         | 
| 92 | 
            -
                                                                
         | 
| 93 | 
            -
                                                                <li class="website"> 
         | 
| 94 | 
            -
                                                                        <dl> 
         | 
| 95 | 
            -
                                                                                <dd title="Website">Website:</dd> 
         | 
| 96 | 
            -
                                                                                <dt title="Stef Lewandowski | Create something every day" class="website"><a rel="046ca60a0b4c80ade5930c86aa2d67a4afef6233" rel="me" target="_blank" href="http://stef.io" class="url">Stef Lewandowski | Create something every day</a></dt> 
         | 
| 97 | 
            -
                                                                        </dl> 
         | 
| 98 | 
            -
                                                                </li> 
         | 
| 99 | 
            -
             
         | 
| 100 | 
            -
                                                                                                                                                                
         | 
| 101 | 
            -
                                                                
         | 
| 102 | 
            -
                                                                <li class="odd location"> 
         | 
| 103 | 
            -
                                                                        <dl> 
         | 
| 104 | 
            -
                                                                                <dd title="Location">Location:</dd> 
         | 
| 105 | 
            -
                                                                                <dt title="London, UK" class="location locality">London, UK</dt> 
         | 
| 106 | 
            -
                                                                        </dl> 
         | 
| 107 | 
            -
                                                                </li> 
         | 
| 108 | 
            -
             
         | 
| 109 | 
            -
                                                                                                                                                                
         | 
| 110 | 
            -
                                                                
         | 
| 111 | 
            -
                                                                <li class="linkedin"> 
         | 
| 112 | 
            -
                                                                        <dl> 
         | 
| 113 | 
            -
                                                                                <dd title="LinkedIn">LinkedIn:</dd> 
         | 
| 114 | 
            -
                                                                                <dt title="Stef Lewandowski" class="linkedin"><a rel="694e2380cb917dc817c26156f6496611e051f9ef" rel="me" target="_blank" href="http://www.linkedin.com/in/steflewandowski">Stef Lewandowski</a></dt> 
         | 
| 115 | 
            -
                                                                        </dl> 
         | 
| 116 | 
            -
                                                                </li> 
         | 
| 117 | 
            -
             
         | 
| 118 | 
            -
                                                                                                                                                                
         | 
| 119 | 
            -
                                                                
         | 
| 120 | 
            -
                                                                <li class="odd email"> 
         | 
| 121 | 
            -
                                                                        <dl> 
         | 
| 122 | 
            -
                                                                                <dd title="Email">Email:</dd> 
         | 
| 123 | 
            -
                                                                                <dt title="Click to email Stef Lewandowski" class="email"><a rel="dc9b9d092c205be21ba35867cda6bb209a91825c" rel="me" target="_blank" href="/stef/email/dc9b9d092c205be21ba35867cda6bb209a91825c/1280252510">Click to email Stef Lewandowski</a></dt> 
         | 
| 124 | 
            -
                                                                        </dl> 
         | 
| 125 | 
            -
                                                                </li> 
         | 
| 126 | 
            -
             
         | 
| 127 | 
            -
                                                                                                                                                                
         | 
| 128 | 
            -
                                                                
         | 
| 129 | 
            -
                                                                <li class="flickr"> 
         | 
| 130 | 
            -
                                                                        <dl> 
         | 
| 131 | 
            -
                                                                                <dd title="Flickr">Flickr:</dd> 
         | 
| 132 | 
            -
                                                                                <dt title="aeioux" class="flickr"><a rel="096b215e7861f3f03790f3413996a72086e437e5" rel="me" target="_blank" href="http://www.flickr.com/photos/aeioux">aeioux</a></dt> 
         | 
| 133 | 
            -
                                                                        </dl> 
         | 
| 134 | 
            -
                                                                </li> 
         | 
| 135 | 
            -
             
         | 
| 136 | 
            -
                                                                                                                                                                                            </ul> 
         | 
| 137 | 
            -
             
         | 
| 138 | 
            -
                                        </li> 
         | 
| 139 | 
            -
                                        <li class="imabadperson"></li> 
         | 
| 140 | 
            -
                                </ul> 
         | 
| 141 | 
            -
                                <div id="card-back" class="hidden"> 
         | 
| 142 | 
            -
                                    <p></p> 
         | 
| 143 | 
            -
                                </div> 
         | 
| 144 | 
            -
                            </div> 
         | 
| 145 | 
            -
            		                		<p id="card_share"> 
         | 
| 146 | 
            -
                            		<a id="twitter_share" target="_blank" class="share" href="http://twitter.com/?status=Check out @stef's OnePage! http://myonepage.com/stef %23onepage" title="Share Stef Lewandowski's OnePage on Twitter"><img src="/images/services/twitter_16.png" /> Share</a> 
         | 
| 147 | 
            -
            		<a id="facebook_share" name="fb_share" type="icon_link" class="share" href="http://www.facebook.com/sharer.php" title="Share Stef Lewandowski's OnePage on Facebook"></a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script> 
         | 
| 148 | 
            -
                            <a id="random" class="share" href="/random" title="Jump to a random OnePage profile"><img src="/images/silk-icons/arrow_rotate_clockwise.png" /></a> 
         | 
| 149 | 
            -
                                            <a id="embed_contact" class="share right" href="/stef/embed" title="Embed Stef Lewandowski's OnePage"><img src="/images/silk-icons/tag.png" /> Embed</a> 
         | 
| 150 | 
            -
             
         | 
| 151 | 
            -
            		</p> 
         | 
| 152 | 
            -
                            	</div> 
         | 
| 153 | 
            -
            	<!-- end card --> 
         | 
| 154 | 
            -
            <div id="footer-clear"></div> 
         | 
| 155 | 
            -
            	<div id="footer"> 
         | 
| 156 | 
            -
            		<ul class="roundedgradientshadow"> 
         | 
| 157 | 
            -
            			<li class="copyright">© OnePage 2010</li> 
         | 
| 158 | 
            -
            			<li><a href="/about" title="About OnePage">About Us</a></li> 
         | 
| 159 | 
            -
            			<li><a href="/beta" title="Join the OnePage beta team">Beta Team</a></li> 
         | 
| 160 | 
            -
            			<li><a href="/press" title="Press FAQs">Press FAQs</a></li> 
         | 
| 161 | 
            -
            			<li><a href="http://blog.myonepage.com" title="Our blog about OnePage">Our Blog</a></li> 
         | 
| 162 | 
            -
            			<li><a href="http://onepage.uservoice.com" title="Find help and support or make suggestions for OnePage">Support & Suggestions</a></li> 
         | 
| 163 | 
            -
            			<li><a href="/terms" title="Terms of use of OnePage">Terms</a></li> 
         | 
| 164 | 
            -
            			<li><a href="/privacy" title="Your privacy on OnePage">Privacy</a></li> 
         | 
| 165 | 
            -
            		</ul> 
         | 
| 166 | 
            -
            	</div> 
         | 
| 167 | 
            -
            	</div> 
         | 
| 168 | 
            -
            	<script type="text/javascript"> 
         | 
| 169 | 
            -
            //<![CDATA[
         | 
| 170 | 
            -
            var uservoiceJsHost = ("https:" == document.location.protocol) ? "https://uservoice.com" : "http://cdn.uservoice.com";
         | 
| 171 | 
            -
            document.write(unescape("%3Cscript src='" + uservoiceJsHost + "/javascripts/widgets/tab.js' type='text/javascript'%3E%3C/script%3E"))
         | 
| 172 | 
            -
            var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
         | 
| 173 | 
            -
            document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
         | 
| 174 | 
            -
            document.write(unescape('%3Cscript id="ki_loader" src="http' + ((document.location.protocol == 'https:') ? 's' : '') + '://s3.amazonaws.com/j.kissinsights.com/1.0/load.js?site=myonepage.com" type="text/javascript"%3E%3C/script%3E'));
         | 
| 175 | 
            -
            document.write(unescape("%3Cscript src='http://cdn.survey.io/embed/1.0/survey.js' type='text/javascript'%3E%3C/script%3E"));
         | 
| 176 | 
            -
            var mp_protocol = (('https:' == document.location.protocol) ? 'https://' : 'http://');
         | 
| 177 | 
            -
            document.write(unescape('%3Cscript src="' + mp_protocol + 'api.mixpanel.com/site_media/js/api/mixpanel.js" type="text/javascript"%3E%3C/script%3E'));
         | 
| 178 | 
            -
            //]]>
         | 
| 179 | 
            -
            	</script> 
         | 
| 180 | 
            -
            	<script type="text/javascript"> 
         | 
| 181 | 
            -
            //<![CDATA[
         | 
| 182 | 
            -
            UserVoice.Popin.setup({ 
         | 
| 183 | 
            -
            	key: 'onepage',
         | 
| 184 | 
            -
            	host: 'onepage.uservoice.com', 
         | 
| 185 | 
            -
            	forum: 'general', 
         | 
| 186 | 
            -
            	lang: 'en'
         | 
| 187 | 
            -
            });
         | 
| 188 | 
            -
            try{
         | 
| 189 | 
            -
            	var pageTracker = _gat._getTracker("UA-10039160-1");
         | 
| 190 | 
            -
            	pageTracker._setDomainName(".myonepage.com");
         | 
| 191 | 
            -
            	pageTracker._trackPageview();
         | 
| 192 | 
            -
            } catch(err){}
         | 
| 193 | 
            -
            KI.identify('stef');
         | 
| 194 | 
            -
            Surveyio.init({
         | 
| 195 | 
            -
            	survey_id: "3c3fb",
         | 
| 196 | 
            -
            	token: "f6b868e63553196255abe8016123f694364a5310",
         | 
| 197 | 
            -
            	banner: {
         | 
| 198 | 
            -
            		x: "right",
         | 
| 199 | 
            -
            		y: "top",
         | 
| 200 | 
            -
            		color: "green"
         | 
| 201 | 
            -
            	}
         | 
| 202 | 
            -
            });
         | 
| 203 | 
            -
            Surveyio.set("username", "stef");
         | 
| 204 | 
            -
            try{
         | 
| 205 | 
            -
            	var mpmetrics = new MixpanelLib('f147bce65eee669ec2c0d4bce26c535d');
         | 
| 206 | 
            -
            }
         | 
| 207 | 
            -
            catch(err){
         | 
| 208 | 
            -
            	null_fn = function () {};
         | 
| 209 | 
            -
            	var mpmetrics = {
         | 
| 210 | 
            -
            		track: null_fn,
         | 
| 211 | 
            -
            		track_funnel: null_fn,
         | 
| 212 | 
            -
            		register: null_fn,
         | 
| 213 | 
            -
            		register_once: null_fn,
         | 
| 214 | 
            -
            		register_funnel: null_fn
         | 
| 215 | 
            -
            	};
         | 
| 216 | 
            -
            }
         | 
| 217 | 
            -
            //]]>
         | 
| 218 | 
            -
            	</script> 
         | 
| 219 | 
            -
            </body> 
         | 
| 220 | 
            -
            </html>
         |