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 CHANGED
@@ -1 +1 @@
1
- 0.1.3
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
@@ -15,7 +15,7 @@ module Caboodle
15
15
  # compass :one_stylesheet
16
16
  # end
17
17
 
18
- helpers Sinatra::ContentFor
18
+ helpers Sinatra::CaboodleHelpers
19
19
 
20
20
  configure do
21
21
  config_path = File.expand_path(File.join(root,"config","site.yml"))
@@ -1,5 +1,5 @@
1
+ has_footer: true
2
+ has_caboodle_link: true
1
3
  kits:
2
- - Flickr
3
- - Linkedin
4
4
  - Posterous
5
5
  - Skimmed
@@ -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
- %title= @title || Caboodle::Site.title
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
- = Caboodle::Site.head
23
+ = head
23
24
 
24
- %body.caboodle.sinatra.ruby
25
- = Caboodle::Site.before_page
25
+ %body.caboodle
26
+ = before_page
26
27
  #page.hfeed
27
- = Caboodle::Site.before_header
28
+ = before_header
28
29
  %header#site-header
29
- = Caboodle::Site.above_header
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 Caboodle::Site.description
40
+ - if description
40
41
  #site-description
41
42
  %h2= Caboodle::Site.description
42
- - if Caboodle::Site.has_access
43
- #access
44
- .skip-link
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
- = Caboodle::Site.before_nav
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
- = Caboodle::Site.below_header
60
- = Caboodle::Site.after_header
61
- = Caboodle::Site.before_main
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
- = Caboodle::Site.before_content
67
+ = before_content
68
68
  %section#content
69
- = Caboodle::Site.above_content
69
+ = above_content
70
70
  = yield
71
- = Caboodle::Site.below_content
72
- = Caboodle::Site.after_content
73
- = Caboodle::Site.after_main
74
- = Caboodle::Site.before_footer
71
+ = below_content
72
+ = after_content
73
+ = after_main
74
+ = before_footer
75
75
  %footer#footer
76
- = Caboodle::Site.above_footer
76
+ = above_footer
77
77
  - if Caboodle::Site.has_footer
78
78
  %p
79
79
  \&copy;
@@ -83,7 +83,7 @@
83
83
  Powered by
84
84
  %a{:href=>"http://github.com/steflewandowski/caboodle"}
85
85
  Caboodle
86
- = Caboodle::Site.below_footer
87
- = Caboodle::Site.after_footer
88
- = Caboodle::Site.after_page
89
- = Caboodle::Site.after_body
86
+ = below_footer
87
+ = after_footer
88
+ = after_page
89
+ = after_body
@@ -1,12 +1,14 @@
1
1
  module Caboodle
2
- Kits = []
3
- MenuItems = []
4
- Javascripts = []
5
- Stylesheets = []
6
- Defaults = Hashie::Mash.new()
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
- Site = Defaults.clone
8
+ Layout = Hashie::Mash.new()
9
+ Site = Defaults.clone
10
+
9
11
  Site.required_settings = []
10
12
  Site.kits = [] unless Site.kits
11
- Defaults.merge!(Hashie::Mash.new(YAML.load_file(File.join( File.join(File.dirname(__FILE__), 'config','defaults.yml')))))
13
+ puts Site.inspect
12
14
  end
@@ -0,0 +1,10 @@
1
+ module Sinatra
2
+ module CaboodleHelpers
3
+
4
+ def method_missing arg
5
+ Caboodle::Layout[arg]
6
+ end
7
+
8
+ end
9
+ helpers CaboodleHelpers
10
+ 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 "Warning! No such kit: #{kit_name}"
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 "Warning! No such kit: #{kit_name}"
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,11 +1,6 @@
1
-
2
-
3
1
  module Caboodle
4
2
  class Github < Caboodle::Kit
5
-
6
- set :views, File.join(File.dirname(__FILE__), "views")
7
- set :public, File.join(File.dirname(__FILE__), "public")
8
-
3
+
9
4
  get "/code" do
10
5
  @title = "Code"
11
6
  @repos = GithubAPI.repositories
@@ -1,13 +1,7 @@
1
1
  module Caboodle
2
-
3
- class Identity
4
-
5
- end
6
2
 
7
- class IdentityApp < Caboodle::Kit
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
@@ -1,6 +1,5 @@
1
1
  module Caboodle
2
2
  class LazyLoad < Caboodle::Kit
3
- set :public, File.join(File.dirname(__FILE__), "public")
4
- javascripts ["jquery.lazyload.mini.js","lazyload.js"]
3
+ javascripts ["/jquery.lazyload.mini.js","/lazyload.js"]
5
4
  end
6
5
  end
@@ -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
 
@@ -1,9 +1,6 @@
1
1
  module Caboodle
2
-
3
2
  class Onepage < Caboodle::Kit
4
-
5
- set :views, File.join(File.dirname(__FILE__), "views")
6
-
3
+
7
4
  get "/contact" do
8
5
  @title = "Contact"
9
6
  haml :contact
@@ -52,9 +52,7 @@ module Caboodle
52
52
  end
53
53
 
54
54
  class PageApp < Caboodle::Kit
55
-
56
- set :views, File.join(File.dirname(__FILE__), "views")
57
-
55
+
58
56
  Caboodle::Site.pages = Caboodle::Page.all
59
57
  Caboodle::Site.pages.each do |page|
60
58
  get "/#{page.slug}" do
@@ -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
- class PortfolioApp < Caboodle::Kit
4
-
5
- set :views, File.join(File.dirname(__FILE__), "views")
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?
@@ -0,0 +1,6 @@
1
+ module Caboodle
2
+ class SEO < Caboodle::Kit
3
+ add_to_layout "meta" => "<meta type='keywords' value='#{Caboodle::Site.seo_keywords}' /><meta type='description' value='#{Caboodle::Site.seo_description}' />"
4
+ required [:seo_keywords,:seo_description]
5
+ end
6
+ end
@@ -1,9 +1,6 @@
1
1
  module Caboodle
2
2
  class Soundcloud < Caboodle::Kit
3
3
 
4
- set :views, File.join(File.dirname(__FILE__), "views")
5
- set :public, File.join(File.dirname(__FILE__), "public")
6
-
7
4
  get "/mixes" do
8
5
  @title = "Mixes"
9
6
  @mixes = SoundcloudAPI.sets
@@ -1,9 +1,6 @@
1
1
  module Caboodle
2
2
  class Twitter < Caboodle::Kit
3
3
 
4
- set :views, File.join(File.dirname(__FILE__), "views")
5
- set :public, File.join(File.dirname(__FILE__), "public")
6
-
7
4
  get "/twitter" do
8
5
  @title = "Twitter"
9
6
  haml :twitter
@@ -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: 29
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 3
10
- version: 0.1.3
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-13 00:00:00 +01:00
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&amp;show-faces=true&amp;width=200&amp;action=like&amp;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">&copy; 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 &amp; 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>