cv 0.0.1

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.
Files changed (87) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +3 -0
  3. data/Rakefile +2 -0
  4. data/cv.gemspec +29 -0
  5. data/lib/cv.rb +15 -0
  6. data/lib/cv/config/assets.yml +19 -0
  7. data/lib/cv/contact.rb +19 -0
  8. data/lib/cv/content.rb +19 -0
  9. data/lib/cv/ext/blank.rb +5 -0
  10. data/lib/cv/ext/hash.rb +5 -0
  11. data/lib/cv/public/images/bg.jpg +0 -0
  12. data/lib/cv/public/images/colors/celestial_sky.png +0 -0
  13. data/lib/cv/public/images/colors/charcoal_black.png +0 -0
  14. data/lib/cv/public/images/colors/dark_indigo.png +0 -0
  15. data/lib/cv/public/images/colors/dark_indigo_arrow_center.png +0 -0
  16. data/lib/cv/public/images/colors/dark_indigo_arrow_left.png +0 -0
  17. data/lib/cv/public/images/colors/dark_indigo_arrow_right.png +0 -0
  18. data/lib/cv/public/images/colors/dark_violet.png +0 -0
  19. data/lib/cv/public/images/colors/electric_blue.png +0 -0
  20. data/lib/cv/public/images/colors/light_indigo.png +0 -0
  21. data/lib/cv/public/images/colors/lime_green.png +0 -0
  22. data/lib/cv/public/images/colors/lobster_red.png +0 -0
  23. data/lib/cv/public/images/colors/olive_green.png +0 -0
  24. data/lib/cv/public/images/colors/orange_peel.png +0 -0
  25. data/lib/cv/public/images/colors/royal_magenta.png +0 -0
  26. data/lib/cv/public/images/colors/scarlet_red.png +0 -0
  27. data/lib/cv/public/images/colors/silver_grey.png +0 -0
  28. data/lib/cv/public/images/curriculum_bg.png +0 -0
  29. data/lib/cv/public/images/fancybox/blank.gif +0 -0
  30. data/lib/cv/public/images/fancybox/fancy_close.png +0 -0
  31. data/lib/cv/public/images/fancybox/fancy_loading.png +0 -0
  32. data/lib/cv/public/images/fancybox/fancy_nav_left.png +0 -0
  33. data/lib/cv/public/images/fancybox/fancy_nav_right.png +0 -0
  34. data/lib/cv/public/images/fancybox/fancy_shadow_e.png +0 -0
  35. data/lib/cv/public/images/fancybox/fancy_shadow_n.png +0 -0
  36. data/lib/cv/public/images/fancybox/fancy_shadow_ne.png +0 -0
  37. data/lib/cv/public/images/fancybox/fancy_shadow_nw.png +0 -0
  38. data/lib/cv/public/images/fancybox/fancy_shadow_s.png +0 -0
  39. data/lib/cv/public/images/fancybox/fancy_shadow_se.png +0 -0
  40. data/lib/cv/public/images/fancybox/fancy_shadow_sw.png +0 -0
  41. data/lib/cv/public/images/fancybox/fancy_shadow_w.png +0 -0
  42. data/lib/cv/public/images/fancybox/fancy_title_left.png +0 -0
  43. data/lib/cv/public/images/fancybox/fancy_title_main.png +0 -0
  44. data/lib/cv/public/images/fancybox/fancy_title_over.png +0 -0
  45. data/lib/cv/public/images/fancybox/fancy_title_right.png +0 -0
  46. data/lib/cv/public/images/fancybox/fancybox-x.png +0 -0
  47. data/lib/cv/public/images/fancybox/fancybox-y.png +0 -0
  48. data/lib/cv/public/images/fancybox/fancybox.png +0 -0
  49. data/lib/cv/public/images/shadow.png +0 -0
  50. data/lib/cv/public/images/social/download.png +0 -0
  51. data/lib/cv/public/images/social/email.png +0 -0
  52. data/lib/cv/public/images/social/facebook.png +0 -0
  53. data/lib/cv/public/images/social/flickr.png +0 -0
  54. data/lib/cv/public/images/social/friendfeed.png +0 -0
  55. data/lib/cv/public/images/social/google.png +0 -0
  56. data/lib/cv/public/images/social/linkedin.png +0 -0
  57. data/lib/cv/public/images/social/msn.png +0 -0
  58. data/lib/cv/public/images/social/myspace.png +0 -0
  59. data/lib/cv/public/images/social/skype.png +0 -0
  60. data/lib/cv/public/images/social/twitter.png +0 -0
  61. data/lib/cv/public/images/social/yahoo.png +0 -0
  62. data/lib/cv/public/images/social/youtube.png +0 -0
  63. data/lib/cv/public/javascripts/Delicious_500-Delicious_700-Delicious_italic_500-Delicious_italic_700.font.js +28 -0
  64. data/lib/cv/public/javascripts/application.js +151 -0
  65. data/lib/cv/public/javascripts/cufon_yui.js +7 -0
  66. data/lib/cv/public/javascripts/jquery-1.5.1.js +8316 -0
  67. data/lib/cv/public/javascripts/jquery.easing-1.3.pack.js +72 -0
  68. data/lib/cv/public/javascripts/jquery.fancybox-1.3.4.js +1156 -0
  69. data/lib/cv/public/javascripts/jquery_mail.js +63 -0
  70. data/lib/cv/public/javascripts/json2.js +480 -0
  71. data/lib/cv/public/javascripts/packaged/e1819cfc_all.js +554 -0
  72. data/lib/cv/public/javascripts/scroll-follow.js +251 -0
  73. data/lib/cv/public/javascripts/scroll.js +69 -0
  74. data/lib/cv/public/javascripts/ui.core.js +291 -0
  75. data/lib/cv/public/stylesheets/960.css +338 -0
  76. data/lib/cv/public/stylesheets/colors/dark_indigo.css +11 -0
  77. data/lib/cv/public/stylesheets/jquery.fancybox-1.3.4.css +359 -0
  78. data/lib/cv/public/stylesheets/packaged/b32e3f66_all.css +1 -0
  79. data/lib/cv/public/stylesheets/print.css +425 -0
  80. data/lib/cv/public/stylesheets/reset.css +38 -0
  81. data/lib/cv/public/stylesheets/style.css +446 -0
  82. data/lib/cv/site.rb +31 -0
  83. data/lib/cv/version.rb +3 -0
  84. data/lib/cv/views/default.haml +14 -0
  85. data/lib/cv/views/index.haml +123 -0
  86. data/lib/cv/views/sitemap.haml +7 -0
  87. metadata +250 -0
@@ -0,0 +1,446 @@
1
+ a {
2
+ text-decoration: none;
3
+ }
4
+
5
+ #content {
6
+ background: url(/images/shadow.png) repeat-y 43px 0;
7
+ position: relative;
8
+ }
9
+
10
+ body {
11
+ background: #dbdbdb url(/images/bg.jpg) repeat center 0 fixed;
12
+ }
13
+
14
+ .section {
15
+ background: #f3f3f3 url(/images/curriculum_bg.png) repeat-x 0 bottom;
16
+ border-top: 1px solid #fffeff;
17
+ padding-top: 20px;
18
+ padding-bottom: 30px;
19
+ }
20
+
21
+ .section_title h2 {
22
+ padding-left: 50px;
23
+ padding-top: 10px;
24
+ }
25
+
26
+ .section_list {
27
+ margin-top: 10px;
28
+ margin-bottom: 10px;
29
+ }
30
+
31
+ #projects.section_list li {
32
+ margin: 10px 7px;
33
+ }
34
+
35
+ #projects.section_list li img {
36
+ display: block;
37
+ width: 140px;
38
+ height: 140px;
39
+ background-color: #fff;
40
+ }
41
+
42
+ .section_content {
43
+ position: relative;
44
+ }
45
+
46
+ .section_subtitle {
47
+ background-repeat: no-repeat;
48
+ background-position: 539px -265px;
49
+ }
50
+
51
+ .section_subtitle span {
52
+ float: right;
53
+ display: block;
54
+ margin: -30px -88px 0 0;
55
+ color: #fff;
56
+ background: url(/images/colors/dark_indigo_arrow_right.png) no-repeat right top;
57
+ height: 44px
58
+ }
59
+
60
+ .section_subtitle span span {
61
+ float: none;
62
+ margin: 0;
63
+ background: none;
64
+ height: auto;
65
+ }
66
+
67
+ .section_subtitle span span.date_content {
68
+ background: url(/images/colors/dark_indigo_arrow_center.png) repeat-x top center;
69
+ margin-right: 4px;
70
+ float: left;
71
+ padding: 6px;
72
+ height: 26px;
73
+ font-size: 20px;
74
+ }
75
+
76
+ .section_subtitle span span.date_left {
77
+ background: url(/images/colors/dark_indigo_arrow_left.png) no-repeat top left;
78
+ float: left;
79
+ width: 11px;
80
+ height: 36px;
81
+ }
82
+
83
+ h1,h2,h3,h4,h5,h6,p, span {
84
+ letter-spacing: -1px;
85
+ }
86
+
87
+ h1 {
88
+ color: #fff;
89
+ line-height: 70px;
90
+ font-size: 75px;
91
+ letter-spacing: -5px;
92
+ font-style: italic;
93
+ text-shadow: #000000 0 0 0;
94
+ }
95
+
96
+ h2 {
97
+ line-height: 35px;
98
+ font-size: 30px;
99
+ }
100
+
101
+ h3 {
102
+ line-height: 31px;
103
+ font-size: 28px;
104
+ letter-spacing: -2px;
105
+ font-style: italic;
106
+ }
107
+
108
+ h4 {
109
+ line-height: 26px;
110
+ font-size: 26px;
111
+ }
112
+
113
+ h5, .contact_sx li label {
114
+ color: #a4a6a6;
115
+ line-height: 22px;
116
+ font-size: 18px;
117
+ font-style: italic;
118
+ }
119
+
120
+ h6 {
121
+ color: #fff;
122
+ line-height: 31px;
123
+ font-size: 31px;
124
+ letter-spacing: -2px;
125
+ }
126
+
127
+ p, li {
128
+ color: #a4a6a6;
129
+ letter-spacing: 0px;
130
+ line-height: 22px;
131
+ font: normal normal lighter 18px/22px Helvetica Neue, sans-serif;
132
+ letter-spacing: 0px;
133
+ word-spacing: 3px;
134
+ }
135
+
136
+ .section_content div.date span {
137
+ font: 20px Helvetica, arial, serif;
138
+ color: #fff;
139
+ display: block;
140
+ float: left;
141
+ width: 103px;
142
+ height: 30px;
143
+ text-align: right;
144
+ padding-top: 3px;
145
+ padding-right: 10px;
146
+ line-height: 25px;
147
+ }
148
+
149
+ .section_content p, .section_content ul li {
150
+ margin: 0 0 10px 0;
151
+ }
152
+
153
+ .section_content ul {
154
+ list-style: square;
155
+ margin: 0 20px;
156
+ }
157
+
158
+ .section_content ul li {
159
+ padding: 0 0 0 10px;
160
+ }
161
+
162
+ #title_center ul li h4, #title_dx ul li p {
163
+ font: 200 24px/28px Helvetica, Geneva, sans-serif;
164
+ margin-top: 2px;
165
+ letter-spacing: -1px;
166
+ word-spacing: 0px;
167
+ }
168
+
169
+ input, textarea {
170
+ font: 200 20px/38px Helvetica, Geneva, sans-serif;
171
+ font-size: 20px;
172
+ line-height: 20px;
173
+ color: #9b9b9b;
174
+ font-weight: lighter;
175
+ }
176
+
177
+ #header {
178
+ text-align: right;
179
+ height: 170px;
180
+ background-repeat: repeat-x;
181
+ background-position: 0 0px;
182
+ }
183
+
184
+ #header ul {
185
+ margin-right: 50px;
186
+ margin-bottom: 30px;
187
+ margin-top: 38px;
188
+ }
189
+
190
+ #header ul li{
191
+ display: block;
192
+ float: right;
193
+ width: 100%;
194
+ margin: 0px;
195
+ }
196
+
197
+ #header ul li#bigtitle {
198
+ height: 80px;
199
+ }
200
+
201
+ #header ul li#subtitle {
202
+ text-align: right;
203
+ margin-bottom: 20px;
204
+ }
205
+
206
+ #photo {
207
+ width: 180px;
208
+ height: 180px;
209
+ display: block;
210
+ float: left;
211
+ background: #fcfeff;
212
+ margin-top: 30px;
213
+ margin-left: 80px;
214
+ margin-bottom: 10px;
215
+ border: 1px solid #fff;
216
+
217
+ -webkit-box-shadow: 0px 1px 3px #ababab;
218
+ -moz-box-shadow: 0px 1px 3px #ababab;
219
+ box-shadow: 0px 1px 3px #ababab;
220
+ behavior: url(/stylesheets/PIE.php);
221
+ }
222
+
223
+ #photo img {
224
+ margin: 10px;
225
+ }
226
+
227
+ #title ul {
228
+ margin-top: 26px;
229
+ }
230
+
231
+
232
+ #title_center ul li, #title_dx ul li {
233
+ display: block;
234
+ float: left;
235
+ width: 100%;
236
+ height: 30px;
237
+ margin-top: 7px;
238
+ }
239
+
240
+ #title_dx ul li {
241
+ height: 27px;
242
+ padding-top: 2px;
243
+ }
244
+
245
+ #hcard h4, #hcard .p_big, #hcard li {
246
+ float: left;
247
+ display: block;
248
+ }
249
+
250
+ #hcard li {
251
+ margin: 0 0 5px 0;
252
+ }
253
+
254
+ #hcard h4 {
255
+ width: 80px;
256
+ text-align: right;
257
+ margin-right: 10px;
258
+ }
259
+
260
+ #hcard .p_big {
261
+ color: #a4a6a6;
262
+ }
263
+
264
+ #hcard h4, #hcard .p_big {
265
+ font-size: 21px;
266
+ font: 200 21px Helvetica, Geneva, sans-serif;
267
+ letter-spacing: -2;
268
+ line-height: 30px;
269
+ }
270
+
271
+ .contact_sx {
272
+ margin-top: 20px;
273
+ }
274
+
275
+ .contact_sx li {
276
+ width: 294px;
277
+ margin-left: 80px;
278
+ display: block;
279
+ float: left;
280
+ height: 50px;
281
+ padding: 1px;
282
+ }
283
+
284
+ .contact_sx li h4 {
285
+ display: inline;
286
+ float: left;
287
+ height: 40px;
288
+ width: 50px;
289
+ text-align: left;
290
+ margin-right: 30px;
291
+ line-height: 45px;
292
+ }
293
+
294
+ #contact li div.border {
295
+ background-color: #fff;
296
+ display: block;
297
+ float: left;
298
+ padding: 2px;
299
+ }
300
+
301
+ .contact_sx li label {
302
+ float: left;
303
+ font-size: 20px;
304
+ line-height: 38px;
305
+ display: block;
306
+ width: 82px;
307
+ }
308
+
309
+ .contact_sx li.submit {
310
+ padding-left: 84px;
311
+ }
312
+
313
+ .contact_sx li input, .contact_dx li textarea {
314
+ display: inline;
315
+ float: left;
316
+ height: 20px;
317
+ width: 194px;
318
+ background-color: #ececec;
319
+ padding: 6px;
320
+ border: 1px solid #d9dbdd;
321
+ }
322
+
323
+ .contact_sx li input.error, .contact_dx li textarea.error {
324
+ border: 1px solid #f00;
325
+ }
326
+
327
+ .contact_dx li textarea {
328
+ height: 112px;
329
+ width: 274px;
330
+ padding: 10px;
331
+ }
332
+
333
+ .contact_sx li input:focus, .contact_dx li textarea:focus {
334
+ background-color: #e5e5e5;
335
+ }
336
+
337
+ #success-message {
338
+ display: none;
339
+ }
340
+
341
+ .contact_sx #invia {
342
+ height: 35px;
343
+ width: 211px;
344
+ border-style: none;
345
+ background-repeat: no-repeat;
346
+ background-position: -14px -180px;
347
+ }
348
+
349
+ .contact_sx #invia:active {
350
+ background-position: -14px -220px;
351
+ }
352
+
353
+ .section_content {
354
+ padding-top: 10px;
355
+ position: relative;
356
+ }
357
+
358
+ .contact_dx li {
359
+ padding-top: 20px;
360
+ }
361
+
362
+ #social {
363
+ display: block;
364
+ float: left;
365
+ width: 50px;
366
+ position: absolute;
367
+ top: 0px;
368
+ left: 65px;
369
+ padding-top: 220px;
370
+ }
371
+
372
+ #social ul {
373
+ padding: 0;
374
+ display: block;
375
+ float: left;
376
+ }
377
+
378
+ #social ul li {
379
+ display: block;
380
+ float: left;
381
+ width: 50px;
382
+ height: 31px;
383
+ background-position: -241px -240px;
384
+ }
385
+
386
+ #social ul li#social_top {
387
+ height: 9px;
388
+ background-position: -241px 189px;
389
+ }
390
+
391
+ #social ul li#social_bottom {
392
+ height: 20px;
393
+ background-position: -241px 61px;
394
+ }
395
+
396
+ #social ul li img {
397
+ margin-left: 12px;
398
+ }
399
+
400
+ #social_button {
401
+ display: block;
402
+ float: left;
403
+ position: absolute;
404
+ top: -60px;
405
+ right: -12px;
406
+ width: 152px;
407
+ height: 60px;
408
+ padding-left: 50px;
409
+ padding-top: 8px;
410
+ background-position: 1px 75px;
411
+ }
412
+
413
+ #footer {
414
+ height: 10px;
415
+ background-repeat: repeat-x;
416
+ background-position: 0 -150px;
417
+ }
418
+
419
+ #risposta {
420
+ width: 580px;
421
+ -webkit-border-radius: 20px;
422
+ -moz-border-radius: 20px;
423
+ border-radius: 20px;
424
+ behavior: url(/stylesheets/PIE.php);
425
+ margin-left: 80px;
426
+ background-color: #faad21;
427
+ text-align: left;
428
+ margin-top: 10px;
429
+ height: 0px;
430
+ }
431
+
432
+ #risposta p {
433
+ color: #754f09;
434
+ font-size: 19px;
435
+ background-color: #faad21;
436
+ margin-left: 30px;
437
+ font-style: italic;
438
+ line-height: 24px;
439
+ }
440
+
441
+ #risposta p b {
442
+ margin-left: -20px;
443
+ font-size: 30px;
444
+ line-height: 40px;
445
+ font-style: italic;
446
+ }
@@ -0,0 +1,31 @@
1
+ module Cv
2
+ class Site < Sinatra::Base
3
+ include SmartAsset::Adapters::Sinatra
4
+
5
+ helpers Cv::Content
6
+
7
+ set :static, true
8
+ set :public, File.dirname(__FILE__) + '/public'
9
+ set :views, File.dirname(__FILE__) + '/views'
10
+ set :haml, { :format => :html5 }
11
+
12
+ get '/' do
13
+ haml :index, :layout => :default
14
+ end
15
+
16
+ post '/contact' do
17
+ contact = Contact.new(params[:contact])
18
+ if contact.valid?
19
+ contact.deliver
20
+ else
21
+ content_type :json
22
+ status 500
23
+ contact.errors.to_json
24
+ end
25
+ end
26
+
27
+ get '/sitemap.xml' do
28
+ haml :sitemap, :format => :xhtml
29
+ end
30
+ end
31
+ end