caboodle 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|