breezeblocks 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (562) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +11 -0
  5. data/README.md +55 -0
  6. data/Rakefile +22 -0
  7. data/bin/deploy +12 -0
  8. data/bin/setup +13 -0
  9. data/breezeblocks.gemspec +22 -0
  10. data/config.rb +24 -0
  11. data/lib/breezeblocks.rb +2 -0
  12. data/lib/breezeblocks/import_generator.rb +80 -0
  13. data/lib/breezeblocks/list_generator.rb +22 -0
  14. data/lib/breezeblocks/version.rb +3 -0
  15. data/lib/snippet_helpers.rb +89 -0
  16. data/source/_accordion.html.haml +15 -0
  17. data/source/_accordion_tabs.html.haml +17 -0
  18. data/source/_accordion_tabs_minimal.html.haml +17 -0
  19. data/source/_animate.html.haml +3 -0
  20. data/source/_animate_info.html.haml +7 -0
  21. data/source/_badges.html.haml +6 -0
  22. data/source/_breadcrumbs.html.haml +6 -0
  23. data/source/_button_group.html.haml +13 -0
  24. data/source/_cards.html.haml +23 -0
  25. data/source/_centered_navigation.html.haml +42 -0
  26. data/source/_code.html.haml +6 -0
  27. data/source/_comment.html.haml +14 -0
  28. data/source/_device.html.haml +7 -0
  29. data/source/_dropdown.html.haml +9 -0
  30. data/source/_expander.html.haml +4 -0
  31. data/source/_fade_in.html.haml +10 -0
  32. data/source/_flashes.html.haml +16 -0
  33. data/source/_flex_boxes.html.haml +25 -0
  34. data/source/_footer.html.haml +31 -0
  35. data/source/_footer_2.html.haml +30 -0
  36. data/source/_grid_items.html.haml +29 -0
  37. data/source/_grid_items_lines.html.haml +35 -0
  38. data/source/_hero.html.haml +8 -0
  39. data/source/_hover_tile_animation.html.haml +6 -0
  40. data/source/_icon_bullet_points.html.haml +19 -0
  41. data/source/_image_gradient_dynamic.html.haml +5 -0
  42. data/source/_maps.html.haml +70 -0
  43. data/source/_modal.html.haml +10 -0
  44. data/source/_navigation.html.haml +42 -0
  45. data/source/_pagination.html.haml +22 -0
  46. data/source/_parallax.html.haml +4 -0
  47. data/source/_progress_bar.html.haml +2 -0
  48. data/source/_progress_bar_indication.html.haml +3 -0
  49. data/source/_ribbon.html.haml +3 -0
  50. data/source/_scroll_on_page.html.haml +17 -0
  51. data/source/_search_bar.html.haml +4 -0
  52. data/source/_search_tools.html.haml +39 -0
  53. data/source/_side_image.html.haml +9 -0
  54. data/source/_sliding_menu.html.haml +11 -0
  55. data/source/_snippet.html.haml +11 -0
  56. data/source/_stats.html.haml +14 -0
  57. data/source/_switch.html.haml +3 -0
  58. data/source/_tables.html.haml +31 -0
  59. data/source/_tables_minimal.html.haml +31 -0
  60. data/source/_texture-legend.html.haml +20 -0
  61. data/source/_textures.html.haml +3 -0
  62. data/source/_tooltip.html.haml +4 -0
  63. data/source/_type_system_geometric.html.haml +30 -0
  64. data/source/_type_system_rounded.html.haml +30 -0
  65. data/source/_type_system_sans.html.haml +30 -0
  66. data/source/_type_system_serif.html.haml +31 -0
  67. data/source/_type_system_slab.html.haml +30 -0
  68. data/source/_type_system_traditional.html.haml +30 -0
  69. data/source/_vertical_tabs.html.haml +19 -0
  70. data/source/_video.html.haml +3 -0
  71. data/source/components.html.haml +162 -0
  72. data/source/images/EmeraldLake.jpg +0 -0
  73. data/source/images/ZeroClipboard.swf +0 -0
  74. data/source/images/bourbon-nav/bitters.png +0 -0
  75. data/source/images/bourbon-nav/bitters@2x.png +0 -0
  76. data/source/images/bourbon-nav/bourbon.png +0 -0
  77. data/source/images/bourbon-nav/bourbon@2x.png +0 -0
  78. data/source/images/bourbon-nav/neat.png +0 -0
  79. data/source/images/bourbon-nav/neat@2x.png +0 -0
  80. data/source/images/bourbon-nav/refills.png +0 -0
  81. data/source/images/bourbon-nav/refills@2x.png +0 -0
  82. data/source/images/cat.png +0 -0
  83. data/source/images/cosmin_capitanu_screen.jpg +0 -0
  84. data/source/images/facebook-logo-circle-dark.png +0 -0
  85. data/source/images/facebook-logo-circle.png +0 -0
  86. data/source/images/indesign-logo-circle.png +0 -0
  87. data/source/images/lake-transparent.png +0 -0
  88. data/source/images/menu-white.png +0 -0
  89. data/source/images/menu.png +0 -0
  90. data/source/images/mountain-thin.png +0 -0
  91. data/source/images/mountains-2.png +0 -0
  92. data/source/images/mountains-3.png +0 -0
  93. data/source/images/mountains-4.png +0 -0
  94. data/source/images/mountains.png +0 -0
  95. data/source/images/placeholder_logo_1.png +0 -0
  96. data/source/images/placeholder_logo_1_dark.png +0 -0
  97. data/source/images/placeholder_logo_2.png +0 -0
  98. data/source/images/placeholder_logo_2_dark.png +0 -0
  99. data/source/images/placeholder_logo_3.png +0 -0
  100. data/source/images/placeholder_logo_3_dark.png +0 -0
  101. data/source/images/placeholder_logo_4.png +0 -0
  102. data/source/images/placeholder_logo_4_dark.png +0 -0
  103. data/source/images/ralph-gray.png +0 -0
  104. data/source/images/ralph.png +0 -0
  105. data/source/images/refills-logo.svg +18 -0
  106. data/source/images/refills-screenshot1.png +0 -0
  107. data/source/images/refills-screenshot2.jpg +0 -0
  108. data/source/images/refills-screenshot3.png +0 -0
  109. data/source/images/search-icon-black.png +0 -0
  110. data/source/images/search-icon.png +0 -0
  111. data/source/images/sliding-menu.png +0 -0
  112. data/source/images/textures/45degreee_fabric.png +0 -0
  113. data/source/images/textures/45degreee_fabric_@2X.png +0 -0
  114. data/source/images/textures/absurdidad.png +0 -0
  115. data/source/images/textures/absurdidad_@2X.png +0 -0
  116. data/source/images/textures/az_subtle.png +0 -0
  117. data/source/images/textures/az_subtle_@2X.png +0 -0
  118. data/source/images/textures/bgnoise_lg.png +0 -0
  119. data/source/images/textures/bgnoise_lg_@2X.png +0 -0
  120. data/source/images/textures/binding_light.png +0 -0
  121. data/source/images/textures/binding_light@2x.png +0 -0
  122. data/source/images/textures/brillant.png +0 -0
  123. data/source/images/textures/brillant_@2X.png +0 -0
  124. data/source/images/textures/brushed.png +0 -0
  125. data/source/images/textures/brushed_@2X.png +0 -0
  126. data/source/images/textures/brushed_alu.png +0 -0
  127. data/source/images/textures/brushed_alu_@2X.png +0 -0
  128. data/source/images/textures/chruch.png +0 -0
  129. data/source/images/textures/chruch_@2X.png +0 -0
  130. data/source/images/textures/circles.png +0 -0
  131. data/source/images/textures/circles_@2X.png +0 -0
  132. data/source/images/textures/concrete_wall_2.png +0 -0
  133. data/source/images/textures/concrete_wall_2_@2X.png +0 -0
  134. data/source/images/textures/concrete_wall_3.png +0 -0
  135. data/source/images/textures/concrete_wall_3_@2X.png +0 -0
  136. data/source/images/textures/corrugation.png +0 -0
  137. data/source/images/textures/corrugation_@2X.png +0 -0
  138. data/source/images/textures/cream_pixels.png +0 -0
  139. data/source/images/textures/cream_pixels@2x.png +0 -0
  140. data/source/images/textures/cross_scratches.png +0 -0
  141. data/source/images/textures/cross_scratches_@2X.png +0 -0
  142. data/source/images/textures/crosses.png +0 -0
  143. data/source/images/textures/crosses_@2X.png +0 -0
  144. data/source/images/textures/debut_light.png +0 -0
  145. data/source/images/textures/debut_light_@2X.png +0 -0
  146. data/source/images/textures/diagonal-noise.png +0 -0
  147. data/source/images/textures/diagonal-noise_@2X.png +0 -0
  148. data/source/images/textures/diagonal_waves.png +0 -0
  149. data/source/images/textures/diagonal_waves_@2X.png +0 -0
  150. data/source/images/textures/double_lined.png +0 -0
  151. data/source/images/textures/double_lined_@2X.png +0 -0
  152. data/source/images/textures/dust.png +0 -0
  153. data/source/images/textures/dust@2x.png +0 -0
  154. data/source/images/textures/dust_@2X.png +0 -0
  155. data/source/images/textures/fabric_plaid.png +0 -0
  156. data/source/images/textures/fabric_plaid_@2X.png +0 -0
  157. data/source/images/textures/fancy_deboss.png +0 -0
  158. data/source/images/textures/fancy_deboss_@2X.png +0 -0
  159. data/source/images/textures/farmer.png +0 -0
  160. data/source/images/textures/farmer_@2X.png +0 -0
  161. data/source/images/textures/first_aid_kit.png +0 -0
  162. data/source/images/textures/first_aid_kit_@2X.png +0 -0
  163. data/source/images/textures/graphy.png +0 -0
  164. data/source/images/textures/graphy_@2X.png +0 -0
  165. data/source/images/textures/grey.png +0 -0
  166. data/source/images/textures/grey_@2X.png +0 -0
  167. data/source/images/textures/grid.png +0 -0
  168. data/source/images/textures/grid_@2X.png +0 -0
  169. data/source/images/textures/grid_noise.png +0 -0
  170. data/source/images/textures/grid_noise_@2X.png +0 -0
  171. data/source/images/textures/gridme.png +0 -0
  172. data/source/images/textures/gridme_@2X.png +0 -0
  173. data/source/images/textures/grilled.png +0 -0
  174. data/source/images/textures/grilled_@2X.png +0 -0
  175. data/source/images/textures/groovepaper.png +0 -0
  176. data/source/images/textures/groovepaper_@2X.png +0 -0
  177. data/source/images/textures/honey_im_subtle.png +0 -0
  178. data/source/images/textures/honey_im_subtle_@2X.png +0 -0
  179. data/source/images/textures/husk.png +0 -0
  180. data/source/images/textures/husk_@2X.png +0 -0
  181. data/source/images/textures/inverted/45degreee_fabric.png +0 -0
  182. data/source/images/textures/inverted/45degreee_fabric_@2X.png +0 -0
  183. data/source/images/textures/inverted/absurdidad.png +0 -0
  184. data/source/images/textures/inverted/absurdidad_@2X.png +0 -0
  185. data/source/images/textures/inverted/az_subtle.png +0 -0
  186. data/source/images/textures/inverted/az_subtle_@2X.png +0 -0
  187. data/source/images/textures/inverted/bgnoise_lg.png +0 -0
  188. data/source/images/textures/inverted/bgnoise_lg_@2X.png +0 -0
  189. data/source/images/textures/inverted/binding_light.png +0 -0
  190. data/source/images/textures/inverted/binding_light@2x.png +0 -0
  191. data/source/images/textures/inverted/brillant.png +0 -0
  192. data/source/images/textures/inverted/brillant_@2X.png +0 -0
  193. data/source/images/textures/inverted/brushed.png +0 -0
  194. data/source/images/textures/inverted/brushed_@2X.png +0 -0
  195. data/source/images/textures/inverted/brushed_alu.png +0 -0
  196. data/source/images/textures/inverted/brushed_alu_@2X.png +0 -0
  197. data/source/images/textures/inverted/chruch.png +0 -0
  198. data/source/images/textures/inverted/chruch_@2X.png +0 -0
  199. data/source/images/textures/inverted/circles.png +0 -0
  200. data/source/images/textures/inverted/circles_@2X.png +0 -0
  201. data/source/images/textures/inverted/concrete_wall_2.png +0 -0
  202. data/source/images/textures/inverted/concrete_wall_2_@2X.png +0 -0
  203. data/source/images/textures/inverted/concrete_wall_3.png +0 -0
  204. data/source/images/textures/inverted/concrete_wall_3_@2X.png +0 -0
  205. data/source/images/textures/inverted/corrugation.png +0 -0
  206. data/source/images/textures/inverted/corrugation_@2X.png +0 -0
  207. data/source/images/textures/inverted/cream_pixels.png +0 -0
  208. data/source/images/textures/inverted/cream_pixels@2x.png +0 -0
  209. data/source/images/textures/inverted/cross_scratches.png +0 -0
  210. data/source/images/textures/inverted/cross_scratches_@2X.png +0 -0
  211. data/source/images/textures/inverted/crosses.png +0 -0
  212. data/source/images/textures/inverted/crosses_@2X.png +0 -0
  213. data/source/images/textures/inverted/debut_light.png +0 -0
  214. data/source/images/textures/inverted/debut_light_@2X.png +0 -0
  215. data/source/images/textures/inverted/diagonal-noise.png +0 -0
  216. data/source/images/textures/inverted/diagonal-noise_@2X.png +0 -0
  217. data/source/images/textures/inverted/diagonal_waves.png +0 -0
  218. data/source/images/textures/inverted/diagonal_waves_@2X.png +0 -0
  219. data/source/images/textures/inverted/double_lined.png +0 -0
  220. data/source/images/textures/inverted/double_lined_@2X.png +0 -0
  221. data/source/images/textures/inverted/dust.png +0 -0
  222. data/source/images/textures/inverted/dust@2x.png +0 -0
  223. data/source/images/textures/inverted/dust_@2X.png +0 -0
  224. data/source/images/textures/inverted/fabric_plaid.png +0 -0
  225. data/source/images/textures/inverted/fabric_plaid_@2X.png +0 -0
  226. data/source/images/textures/inverted/fancy_deboss.png +0 -0
  227. data/source/images/textures/inverted/fancy_deboss_@2X.png +0 -0
  228. data/source/images/textures/inverted/farmer.png +0 -0
  229. data/source/images/textures/inverted/farmer_@2X.png +0 -0
  230. data/source/images/textures/inverted/first_aid_kit.png +0 -0
  231. data/source/images/textures/inverted/first_aid_kit_@2X.png +0 -0
  232. data/source/images/textures/inverted/graphy.png +0 -0
  233. data/source/images/textures/inverted/graphy_@2X.png +0 -0
  234. data/source/images/textures/inverted/grey.png +0 -0
  235. data/source/images/textures/inverted/grey_@2X.png +0 -0
  236. data/source/images/textures/inverted/grid.png +0 -0
  237. data/source/images/textures/inverted/grid_@2X.png +0 -0
  238. data/source/images/textures/inverted/grid_noise.png +0 -0
  239. data/source/images/textures/inverted/grid_noise_@2X.png +0 -0
  240. data/source/images/textures/inverted/gridme.png +0 -0
  241. data/source/images/textures/inverted/gridme_@2X.png +0 -0
  242. data/source/images/textures/inverted/grilled.png +0 -0
  243. data/source/images/textures/inverted/grilled_@2X.png +0 -0
  244. data/source/images/textures/inverted/groovepaper.png +0 -0
  245. data/source/images/textures/inverted/groovepaper_@2X.png +0 -0
  246. data/source/images/textures/inverted/honey_im_subtle.png +0 -0
  247. data/source/images/textures/inverted/honey_im_subtle_@2X.png +0 -0
  248. data/source/images/textures/inverted/husk.png +0 -0
  249. data/source/images/textures/inverted/husk_@2X.png +0 -0
  250. data/source/images/textures/inverted/kindajean.png +0 -0
  251. data/source/images/textures/inverted/kindajean_@2X.png +0 -0
  252. data/source/images/textures/inverted/lghtmesh.png +0 -0
  253. data/source/images/textures/inverted/lghtmesh_@2X.png +0 -0
  254. data/source/images/textures/inverted/light_alu.png +0 -0
  255. data/source/images/textures/inverted/light_alu_@2X.png +0 -0
  256. data/source/images/textures/inverted/light_noise_diagonal.png +0 -0
  257. data/source/images/textures/inverted/light_noise_diagonal_@2X.png +0 -0
  258. data/source/images/textures/inverted/lil_fiber.png +0 -0
  259. data/source/images/textures/inverted/lil_fiber_@2X.png +0 -0
  260. data/source/images/textures/inverted/line_diagonal1.png +0 -0
  261. data/source/images/textures/inverted/line_diagonal2.png +0 -0
  262. data/source/images/textures/inverted/line_horizontal1.png +0 -0
  263. data/source/images/textures/inverted/line_horizontal2.png +0 -0
  264. data/source/images/textures/inverted/linen.png +0 -0
  265. data/source/images/textures/inverted/linen_@2X.png +0 -0
  266. data/source/images/textures/inverted/little_pluses.png +0 -0
  267. data/source/images/textures/inverted/little_pluses_@2X.png +0 -0
  268. data/source/images/textures/inverted/mooning.png +0 -0
  269. data/source/images/textures/inverted/mooning@2x.png +0 -0
  270. data/source/images/textures/inverted/noise_lines.png +0 -0
  271. data/source/images/textures/inverted/noise_lines_@2X.png +0 -0
  272. data/source/images/textures/inverted/noise_pattern_with_crosslines.png +0 -0
  273. data/source/images/textures/inverted/noise_pattern_with_crosslines_@2X.png +0 -0
  274. data/source/images/textures/inverted/noisy.png +0 -0
  275. data/source/images/textures/inverted/noisy_@2X.png +0 -0
  276. data/source/images/textures/inverted/noisy_grid.png +0 -0
  277. data/source/images/textures/inverted/noisy_grid_@2X.png +0 -0
  278. data/source/images/textures/inverted/noisy_grid_simple.png +0 -0
  279. data/source/images/textures/inverted/old_mathematics.png +0 -0
  280. data/source/images/textures/inverted/old_mathematics_@2X.png +0 -0
  281. data/source/images/textures/inverted/old_wall.png +0 -0
  282. data/source/images/textures/inverted/old_wall_@2X.png +0 -0
  283. data/source/images/textures/inverted/p5.png +0 -0
  284. data/source/images/textures/inverted/p5_@2X.png +0 -0
  285. data/source/images/textures/inverted/paper.png +0 -0
  286. data/source/images/textures/inverted/paper_@2X.png +0 -0
  287. data/source/images/textures/inverted/pinstripe.png +0 -0
  288. data/source/images/textures/inverted/pinstripe_@2X.png +0 -0
  289. data/source/images/textures/inverted/ps_neutral.png +0 -0
  290. data/source/images/textures/inverted/ps_neutral_@2X.png +0 -0
  291. data/source/images/textures/inverted/pw_maze_white.png +0 -0
  292. data/source/images/textures/inverted/pw_maze_white_@2X.png +0 -0
  293. data/source/images/textures/inverted/pw_pattern.png +0 -0
  294. data/source/images/textures/inverted/pw_pattern_@2X.png +0 -0
  295. data/source/images/textures/inverted/retina_dust.png +0 -0
  296. data/source/images/textures/inverted/retina_dust_@2X.png +0 -0
  297. data/source/images/textures/inverted/rice_paper.png +0 -0
  298. data/source/images/textures/inverted/rice_paper@2x.png +0 -0
  299. data/source/images/textures/inverted/rough_diagonal.png +0 -0
  300. data/source/images/textures/inverted/rough_diagonal_@2X.png +0 -0
  301. data/source/images/textures/inverted/shinedotted.png +0 -0
  302. data/source/images/textures/inverted/shinedotted_@2X.png +0 -0
  303. data/source/images/textures/inverted/skin_side_up.png +0 -0
  304. data/source/images/textures/inverted/skin_side_up_@2X.png +0 -0
  305. data/source/images/textures/inverted/squairy_light.png +0 -0
  306. data/source/images/textures/inverted/squairy_light_@2X.png +0 -0
  307. data/source/images/textures/inverted/stacked_circles.png +0 -0
  308. data/source/images/textures/inverted/stacked_circles_@2X.png +0 -0
  309. data/source/images/textures/inverted/striped_lens.png +0 -0
  310. data/source/images/textures/inverted/striped_lens_@2X.png +0 -0
  311. data/source/images/textures/inverted/struckaxiom.png +0 -0
  312. data/source/images/textures/inverted/struckaxiom_@2X.png +0 -0
  313. data/source/images/textures/inverted/stucco.png +0 -0
  314. data/source/images/textures/inverted/stucco_@2X.png +0 -0
  315. data/source/images/textures/inverted/subtle_dots.png +0 -0
  316. data/source/images/textures/inverted/subtle_dots_@2X.png +0 -0
  317. data/source/images/textures/inverted/subtle_freckles.png +0 -0
  318. data/source/images/textures/inverted/subtle_freckles_@2X.png +0 -0
  319. data/source/images/textures/inverted/subtle_grunge.png +0 -0
  320. data/source/images/textures/inverted/subtle_grunge_@2X.png +0 -0
  321. data/source/images/textures/inverted/subtle_surface.png +0 -0
  322. data/source/images/textures/inverted/subtle_surface_@2X.png +0 -0
  323. data/source/images/textures/inverted/subtle_zebra_3d.png +0 -0
  324. data/source/images/textures/inverted/subtle_zebra_3d_@2X.png +0 -0
  325. data/source/images/textures/inverted/subtlenet2.png +0 -0
  326. data/source/images/textures/inverted/subtlenet2_@2X.png +0 -0
  327. data/source/images/textures/inverted/tex2res5.png +0 -0
  328. data/source/images/textures/inverted/tex2res5_@2X.png +0 -0
  329. data/source/images/textures/inverted/texturetastic_gray.png +0 -0
  330. data/source/images/textures/inverted/texturetastic_gray_@2X.png +0 -0
  331. data/source/images/textures/inverted/tiny_grid.png +0 -0
  332. data/source/images/textures/inverted/tiny_grid_@2X.png +0 -0
  333. data/source/images/textures/inverted/vichy.png +0 -0
  334. data/source/images/textures/inverted/vichy_@2X.png +0 -0
  335. data/source/images/textures/inverted/vintage_speckles.png +0 -0
  336. data/source/images/textures/inverted/vintage_speckles_@2X.png +0 -0
  337. data/source/images/textures/inverted/wavecut.png +0 -0
  338. data/source/images/textures/inverted/wavecut_@2X.png +0 -0
  339. data/source/images/textures/inverted/wavegrid.png +0 -0
  340. data/source/images/textures/inverted/wavegrid_@2X.png +0 -0
  341. data/source/images/textures/inverted/white_carbon.png +0 -0
  342. data/source/images/textures/inverted/white_carbon_@2X.png +0 -0
  343. data/source/images/textures/inverted/white_texture.png +0 -0
  344. data/source/images/textures/inverted/white_texture_@2X.png +0 -0
  345. data/source/images/textures/inverted/white_wave.png +0 -0
  346. data/source/images/textures/inverted/white_wave_@2X.png +0 -0
  347. data/source/images/textures/inverted/whitey.png +0 -0
  348. data/source/images/textures/inverted/whitey_@2X.png +0 -0
  349. data/source/images/textures/inverted/worn_dots.png +0 -0
  350. data/source/images/textures/inverted/worn_dots_@2X.png +0 -0
  351. data/source/images/textures/kindajean.png +0 -0
  352. data/source/images/textures/kindajean_@2X.png +0 -0
  353. data/source/images/textures/lghtmesh.png +0 -0
  354. data/source/images/textures/lghtmesh_@2X.png +0 -0
  355. data/source/images/textures/light_alu.png +0 -0
  356. data/source/images/textures/light_alu_@2X.png +0 -0
  357. data/source/images/textures/light_noise_diagonal.png +0 -0
  358. data/source/images/textures/light_noise_diagonal_@2X.png +0 -0
  359. data/source/images/textures/lil_fiber.png +0 -0
  360. data/source/images/textures/lil_fiber_@2X.png +0 -0
  361. data/source/images/textures/line_diagonal1.png +0 -0
  362. data/source/images/textures/line_diagonal2.png +0 -0
  363. data/source/images/textures/line_horizontal1.png +0 -0
  364. data/source/images/textures/line_horizontal2.png +0 -0
  365. data/source/images/textures/linen.png +0 -0
  366. data/source/images/textures/linen_@2X.png +0 -0
  367. data/source/images/textures/little_pluses.png +0 -0
  368. data/source/images/textures/little_pluses_@2X.png +0 -0
  369. data/source/images/textures/mooning.png +0 -0
  370. data/source/images/textures/mooning@2x.png +0 -0
  371. data/source/images/textures/noise_lines.png +0 -0
  372. data/source/images/textures/noise_lines_@2X.png +0 -0
  373. data/source/images/textures/noise_pattern_with_crosslines.png +0 -0
  374. data/source/images/textures/noise_pattern_with_crosslines_@2X.png +0 -0
  375. data/source/images/textures/noisy.png +0 -0
  376. data/source/images/textures/noisy_@2X.png +0 -0
  377. data/source/images/textures/noisy_grid.png +0 -0
  378. data/source/images/textures/noisy_grid_@2X.png +0 -0
  379. data/source/images/textures/noisy_grid_simple.png +0 -0
  380. data/source/images/textures/old_mathematics.png +0 -0
  381. data/source/images/textures/old_mathematics_@2X.png +0 -0
  382. data/source/images/textures/old_wall.png +0 -0
  383. data/source/images/textures/old_wall_@2X.png +0 -0
  384. data/source/images/textures/p5.png +0 -0
  385. data/source/images/textures/p5_@2X.png +0 -0
  386. data/source/images/textures/paper.png +0 -0
  387. data/source/images/textures/paper_@2X.png +0 -0
  388. data/source/images/textures/pinstripe.png +0 -0
  389. data/source/images/textures/pinstripe_@2X.png +0 -0
  390. data/source/images/textures/ps_neutral.png +0 -0
  391. data/source/images/textures/ps_neutral_@2X.png +0 -0
  392. data/source/images/textures/pw_maze_white.png +0 -0
  393. data/source/images/textures/pw_maze_white_@2X.png +0 -0
  394. data/source/images/textures/pw_pattern.png +0 -0
  395. data/source/images/textures/pw_pattern_@2X.png +0 -0
  396. data/source/images/textures/retina_dust.png +0 -0
  397. data/source/images/textures/retina_dust_@2X.png +0 -0
  398. data/source/images/textures/rice_paper.png +0 -0
  399. data/source/images/textures/rice_paper@2x.png +0 -0
  400. data/source/images/textures/rough_diagonal.png +0 -0
  401. data/source/images/textures/rough_diagonal_@2X.png +0 -0
  402. data/source/images/textures/shinedotted.png +0 -0
  403. data/source/images/textures/shinedotted_@2X.png +0 -0
  404. data/source/images/textures/skin_side_up.png +0 -0
  405. data/source/images/textures/skin_side_up_@2X.png +0 -0
  406. data/source/images/textures/squairy_light.png +0 -0
  407. data/source/images/textures/squairy_light_@2X.png +0 -0
  408. data/source/images/textures/stacked_circles.png +0 -0
  409. data/source/images/textures/stacked_circles_@2X.png +0 -0
  410. data/source/images/textures/striped_lens.png +0 -0
  411. data/source/images/textures/striped_lens_@2X.png +0 -0
  412. data/source/images/textures/struckaxiom.png +0 -0
  413. data/source/images/textures/struckaxiom_@2X.png +0 -0
  414. data/source/images/textures/stucco.png +0 -0
  415. data/source/images/textures/stucco_@2X.png +0 -0
  416. data/source/images/textures/subtle_dots.png +0 -0
  417. data/source/images/textures/subtle_dots_@2X.png +0 -0
  418. data/source/images/textures/subtle_freckles.png +0 -0
  419. data/source/images/textures/subtle_freckles_@2X.png +0 -0
  420. data/source/images/textures/subtle_grunge.png +0 -0
  421. data/source/images/textures/subtle_grunge_@2X.png +0 -0
  422. data/source/images/textures/subtle_surface.png +0 -0
  423. data/source/images/textures/subtle_surface_@2X.png +0 -0
  424. data/source/images/textures/subtle_zebra_3d.png +0 -0
  425. data/source/images/textures/subtle_zebra_3d_@2X.png +0 -0
  426. data/source/images/textures/subtlenet2.png +0 -0
  427. data/source/images/textures/subtlenet2_@2X.png +0 -0
  428. data/source/images/textures/tex2res5.png +0 -0
  429. data/source/images/textures/tex2res5_@2X.png +0 -0
  430. data/source/images/textures/texturetastic_gray.png +0 -0
  431. data/source/images/textures/texturetastic_gray_@2X.png +0 -0
  432. data/source/images/textures/tiny_grid.png +0 -0
  433. data/source/images/textures/tiny_grid_@2X.png +0 -0
  434. data/source/images/textures/vichy.png +0 -0
  435. data/source/images/textures/vichy_@2X.png +0 -0
  436. data/source/images/textures/vintage_speckles.png +0 -0
  437. data/source/images/textures/vintage_speckles_@2X.png +0 -0
  438. data/source/images/textures/wavecut.png +0 -0
  439. data/source/images/textures/wavecut_@2X.png +0 -0
  440. data/source/images/textures/wavegrid.png +0 -0
  441. data/source/images/textures/wavegrid_@2X.png +0 -0
  442. data/source/images/textures/white_carbon.png +0 -0
  443. data/source/images/textures/white_carbon_@2X.png +0 -0
  444. data/source/images/textures/white_texture.png +0 -0
  445. data/source/images/textures/white_texture_@2X.png +0 -0
  446. data/source/images/textures/white_wave.png +0 -0
  447. data/source/images/textures/white_wave_@2X.png +0 -0
  448. data/source/images/textures/whitey.png +0 -0
  449. data/source/images/textures/whitey_@2X.png +0 -0
  450. data/source/images/textures/worn_dots.png +0 -0
  451. data/source/images/textures/worn_dots_@2X.png +0 -0
  452. data/source/images/twitter-logo-circle-dark.png +0 -0
  453. data/source/images/twitter-logo-circle.png +0 -0
  454. data/source/images/youtube-logo-circle-dark.png +0 -0
  455. data/source/images/youtube-logo-circle.png +0 -0
  456. data/source/index.html.haml +127 -0
  457. data/source/javascripts/all.js +10 -0
  458. data/source/javascripts/breezeblocks/accordion.js +5 -0
  459. data/source/javascripts/breezeblocks/accordion_tabs.js +19 -0
  460. data/source/javascripts/breezeblocks/accordion_tabs_minimal.js +19 -0
  461. data/source/javascripts/breezeblocks/animate.js +10 -0
  462. data/source/javascripts/breezeblocks/centered_navigation.js +13 -0
  463. data/source/javascripts/breezeblocks/coffeescript/accordion.coffee +6 -0
  464. data/source/javascripts/breezeblocks/coffeescript/accordion_tabs.coffee +19 -0
  465. data/source/javascripts/breezeblocks/coffeescript/accordion_tabs_minimal.coffee +19 -0
  466. data/source/javascripts/breezeblocks/coffeescript/animate.coffee +12 -0
  467. data/source/javascripts/breezeblocks/coffeescript/centered_navigation.coffee +13 -0
  468. data/source/javascripts/breezeblocks/coffeescript/dropdown.coffee +15 -0
  469. data/source/javascripts/breezeblocks/coffeescript/expander.coffee +9 -0
  470. data/source/javascripts/breezeblocks/coffeescript/fade_in.coffee +20 -0
  471. data/source/javascripts/breezeblocks/coffeescript/modal.coffee +18 -0
  472. data/source/javascripts/breezeblocks/coffeescript/navigation.coffee +13 -0
  473. data/source/javascripts/breezeblocks/coffeescript/parallax.coffee +22 -0
  474. data/source/javascripts/breezeblocks/coffeescript/scroll_on_page.coffee +23 -0
  475. data/source/javascripts/breezeblocks/coffeescript/search_tools.coffee +85 -0
  476. data/source/javascripts/breezeblocks/coffeescript/sliding_menu.coffee +8 -0
  477. data/source/javascripts/breezeblocks/coffeescript/vertical_tabs.coffee +28 -0
  478. data/source/javascripts/breezeblocks/dropdown.js +12 -0
  479. data/source/javascripts/breezeblocks/expander.js +8 -0
  480. data/source/javascripts/breezeblocks/fade_in.js +23 -0
  481. data/source/javascripts/breezeblocks/modal.js +17 -0
  482. data/source/javascripts/breezeblocks/navigation.js +13 -0
  483. data/source/javascripts/breezeblocks/parallax.js +30 -0
  484. data/source/javascripts/breezeblocks/scroll_on_page.js +26 -0
  485. data/source/javascripts/breezeblocks/search_tools.js +110 -0
  486. data/source/javascripts/breezeblocks/sliding_menu.js +6 -0
  487. data/source/javascripts/breezeblocks/vertical_tabs.js +32 -0
  488. data/source/javascripts/jquery.erToc.js +477 -0
  489. data/source/javascripts/jquery.glide.js +941 -0
  490. data/source/javascripts/menuAnchorAnimation.js +11 -0
  491. data/source/javascripts/vendor/ZeroClipboard.min.js +9 -0
  492. data/source/javascripts/vendor/fixedsticky.js +185 -0
  493. data/source/javascripts/vendor/prism.js +13 -0
  494. data/source/javascripts/vendor/smooth-scroll.js +125 -0
  495. data/source/layouts/layout.haml +108 -0
  496. data/source/refills-hero.html.haml +15 -0
  497. data/source/refills-menu.html.haml +4 -0
  498. data/source/refills-page-scripts.html.haml +65 -0
  499. data/source/stylesheets/_bourbon-nav.sass +57 -0
  500. data/source/stylesheets/_refills-nav.sass +80 -0
  501. data/source/stylesheets/_refills-styles.sass +483 -0
  502. data/source/stylesheets/all.sass +66 -0
  503. data/source/stylesheets/breezeblocks/_accordion-tabs-minimal.sass +52 -0
  504. data/source/stylesheets/breezeblocks/_accordion-tabs.sass +76 -0
  505. data/source/stylesheets/breezeblocks/_accordion.sass +56 -0
  506. data/source/stylesheets/breezeblocks/_animate-info.sass +10 -0
  507. data/source/stylesheets/breezeblocks/_animate.sass +58 -0
  508. data/source/stylesheets/breezeblocks/_badges.sass +31 -0
  509. data/source/stylesheets/breezeblocks/_breadcrumbs.sass +74 -0
  510. data/source/stylesheets/breezeblocks/_button-group.sass +74 -0
  511. data/source/stylesheets/breezeblocks/_cards.sass +69 -0
  512. data/source/stylesheets/breezeblocks/_centered-navigation.sass +182 -0
  513. data/source/stylesheets/breezeblocks/_comment.sass +49 -0
  514. data/source/stylesheets/breezeblocks/_device.sass +67 -0
  515. data/source/stylesheets/breezeblocks/_dropdown.sass +112 -0
  516. data/source/stylesheets/breezeblocks/_expander.sass +40 -0
  517. data/source/stylesheets/breezeblocks/_fade-in.sass +30 -0
  518. data/source/stylesheets/breezeblocks/_flashes.sass +32 -0
  519. data/source/stylesheets/breezeblocks/_flex-boxes.sass +59 -0
  520. data/source/stylesheets/breezeblocks/_footer-2.sass +102 -0
  521. data/source/stylesheets/breezeblocks/_footer.sass +62 -0
  522. data/source/stylesheets/breezeblocks/_grid-items-lines.sass +76 -0
  523. data/source/stylesheets/breezeblocks/_grid-items.sass +80 -0
  524. data/source/stylesheets/breezeblocks/_hero.sass +44 -0
  525. data/source/stylesheets/breezeblocks/_hover-tile-animation.sass +40 -0
  526. data/source/stylesheets/breezeblocks/_icon-bullet-points.sass +49 -0
  527. data/source/stylesheets/breezeblocks/_image-gradient-dynamic.sass +43 -0
  528. data/source/stylesheets/breezeblocks/_maps.sass +20 -0
  529. data/source/stylesheets/breezeblocks/_modal.sass +119 -0
  530. data/source/stylesheets/breezeblocks/_navigation.sass +247 -0
  531. data/source/stylesheets/breezeblocks/_pagination.sass +51 -0
  532. data/source/stylesheets/breezeblocks/_parallax.sass +28 -0
  533. data/source/stylesheets/breezeblocks/_progress-bar-indication.sass +42 -0
  534. data/source/stylesheets/breezeblocks/_progress-bar.sass +70 -0
  535. data/source/stylesheets/breezeblocks/_ribbon.sass +28 -0
  536. data/source/stylesheets/breezeblocks/_scroll-on-page.sass +37 -0
  537. data/source/stylesheets/breezeblocks/_search-bar.sass +37 -0
  538. data/source/stylesheets/breezeblocks/_search-tools.sass +79 -0
  539. data/source/stylesheets/breezeblocks/_side-image.sass +58 -0
  540. data/source/stylesheets/breezeblocks/_sliding-menu.sass +63 -0
  541. data/source/stylesheets/breezeblocks/_stats.sass +27 -0
  542. data/source/stylesheets/breezeblocks/_switch.sass +61 -0
  543. data/source/stylesheets/breezeblocks/_tables-minimal.sass +59 -0
  544. data/source/stylesheets/breezeblocks/_tables.sass +78 -0
  545. data/source/stylesheets/breezeblocks/_texture-legend.sass +78 -0
  546. data/source/stylesheets/breezeblocks/_textures.sass +26 -0
  547. data/source/stylesheets/breezeblocks/_tooltip.sass +60 -0
  548. data/source/stylesheets/breezeblocks/_type-system-geometric.sass +100 -0
  549. data/source/stylesheets/breezeblocks/_type-system-rounded.sass +101 -0
  550. data/source/stylesheets/breezeblocks/_type-system-sans.sass +105 -0
  551. data/source/stylesheets/breezeblocks/_type-system-serif.sass +106 -0
  552. data/source/stylesheets/breezeblocks/_type-system-slab.sass +102 -0
  553. data/source/stylesheets/breezeblocks/_type-system-traditional.sass +107 -0
  554. data/source/stylesheets/breezeblocks/_vertical-tabs.sass +91 -0
  555. data/source/stylesheets/breezeblocks/_video.sass +11 -0
  556. data/source/stylesheets/vendor/fixedsticky.css +22 -0
  557. data/source/stylesheets/vendor/normalize.css +427 -0
  558. data/source/stylesheets/vendor/prism.css +126 -0
  559. data/source/type-systems.html.haml +54 -0
  560. data/spec/breezeblocks/import_generator_spec.rb +106 -0
  561. data/spec/spec_helper.rb +2 -0
  562. metadata +633 -0
@@ -0,0 +1,941 @@
1
+ /*!
2
+ * Glide.js
3
+ * Version: 1.0.6
4
+ * Simple, lightweight and fast jQuery slider
5
+ * Author: @JedrzejChalubek
6
+ * Site: http://jedrzejchalubek.com/
7
+ * Licensed under the MIT license
8
+ */
9
+ ;(function ($, window, document, undefined) {
10
+
11
+ var name = 'glide',
12
+ defaults = {
13
+
14
+ // {Int or Bool} False for turning off autoplay
15
+ autoplay: 4000,
16
+ // {Bool} Pause autoplay on mouseover slider
17
+ hoverpause: true,
18
+
19
+ // {Bool} Circual play
20
+ circular: true,
21
+
22
+ // {Int} Animation time
23
+ animationDuration: 500,
24
+ // {String} Animation easing function
25
+ animationTimingFunc: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',
26
+
27
+ /**
28
+ * {Bool or String} Show/hide/appendTo arrows
29
+ * True for append arrows to slider wrapper
30
+ * False for not appending arrows
31
+ * Id or class name (e.g. '.class-name') for appending to specific HTML markup
32
+ */
33
+ arrows: true,
34
+ // {String} Arrows wrapper class
35
+ arrowsWrapperClass: 'slider-arrows',
36
+ // {String} Main class for both arrows
37
+ arrowMainClass: 'slider-arrow',
38
+ // {String} Right arrow
39
+ arrowRightClass: 'slider-arrow--right',
40
+ // {String} Right arrow text
41
+ arrowRightText: 'next',
42
+ // {String} Left arrow
43
+ arrowLeftClass: 'slider-arrow--left',
44
+ // {String} Left arrow text
45
+ arrowLeftText: 'prev',
46
+
47
+ /**
48
+ * {Bool or String} Show/hide/appendTo bullets navigation
49
+ * True for append arrows to slider wrapper
50
+ * False for not appending arrows
51
+ * Id or class name (e.g. '.class-name') for appending to specific HTML markup
52
+ */
53
+ navigation: true,
54
+ // {Bool} Center bullet navigation
55
+ navigationCenter: true,
56
+ // {String} Navigation class
57
+ navigationClass: 'slider-nav',
58
+ // {String} Navigation item class
59
+ navigationItemClass: 'slider-nav__item',
60
+ // {String} Current navigation item class
61
+ navigationCurrentItemClass: 'slider-nav__item--current',
62
+
63
+ // {Bool} Slide on left/right keyboard arrows press
64
+ keyboard: true,
65
+
66
+ // {Int or Bool} Touch settings
67
+ touchDistance: 60,
68
+
69
+ // {Function} Callback before plugin init
70
+ beforeInit: function() {},
71
+ // {Function} Callback after plugin init
72
+ afterInit: function() {},
73
+
74
+ // {Function} Callback before slide change
75
+ beforeTransition: function() {},
76
+ // {Function} Callback after slide change
77
+ afterTransition: function() {}
78
+
79
+ };
80
+
81
+ /**
82
+ * Slider Constructor
83
+ * @param {Object} parent
84
+ * @param {Object} options
85
+ */
86
+ function Glide(parent, options) {
87
+
88
+ // Cache this
89
+ var self = this;
90
+
91
+ // Extend options
92
+ this.options = $.extend({}, defaults, options);
93
+ // Current slide id
94
+ this.currentSlide = 0;
95
+ // If CSS3 Transition isn't supported switch cssSupport variable to false and use $.animate()
96
+ this.cssSupport = ( !this.css.isSupported("transition") || !this.css.isSupported("transform") ) ? false : true;
97
+ // If circular set offset, two cloned slides
98
+ this.offset = (this.options.circular) ? 2 : 0;
99
+
100
+ // Callbacks before plugin init
101
+ this.options.beforeInit.call(this);
102
+
103
+ // Sidebar
104
+ this.parent = parent;
105
+ // Initialize
106
+ this.init();
107
+ // Start autoplay
108
+ this.play();
109
+
110
+ // Callback after plugin init
111
+ this.options.afterInit.call(this);
112
+
113
+ /**
114
+ * API
115
+ * Returning slider methods
116
+ */
117
+ return {
118
+
119
+ /**
120
+ * Get current slide number
121
+ * @return {Int}
122
+ */
123
+ current: function() {
124
+ return -(self.currentSlide) + 1;
125
+ },
126
+
127
+ /**
128
+ * Reinit
129
+ * Rebuild and recalculate dimensions of slider elements
130
+ */
131
+ reinit: function() {
132
+ self.init();
133
+ },
134
+
135
+ /**
136
+ * Start autoplay
137
+ */
138
+ play: function() {
139
+ self.play();
140
+ },
141
+
142
+ /**
143
+ * Stop autoplay
144
+ */
145
+ pause: function() {
146
+ self.pause();
147
+ },
148
+
149
+ /**
150
+ * Slide one forward
151
+ * @param {Function} callback
152
+ */
153
+ next: function(callback) {
154
+ self.slide(1, false, callback);
155
+ },
156
+
157
+ /**
158
+ * Slide one backward
159
+ * @param {Function} callback
160
+ */
161
+ prev: function(callback) {
162
+ self.slide(-1, false, callback);
163
+ },
164
+
165
+ /**
166
+ * Jump to specifed slide
167
+ * @param {Int} distance
168
+ * @param {Function} callback
169
+ */
170
+ jump: function(distance, callback) {
171
+ self.slide(distance-1, true, callback);
172
+ },
173
+
174
+ /**
175
+ * Append navigation to specifet target
176
+ * @param {Mixed} target
177
+ */
178
+ nav: function(target) {
179
+
180
+ /**
181
+ * If navigation wrapper already exist
182
+ * Remove it, protection before doubled navigation
183
+ */
184
+ if (self.navigation.wrapper) self.navigation.wrapper.remove();
185
+
186
+ // While target isn't specifed, use slider wrapper
187
+ self.options.navigation = (target) ? target : self.options.navigation;
188
+ // Build
189
+ self.navigation();
190
+
191
+ },
192
+
193
+ /**
194
+ * Append arrows to specifet target
195
+ * @param {Mixed} target
196
+ */
197
+ arrows: function(target) {
198
+
199
+ /**
200
+ * If arrows wrapper already exist
201
+ * Remove it, protection before doubled arrows
202
+ */
203
+ if (self.arrows.wrapper) self.arrows.wrapper.remove();
204
+
205
+ // While target isn't specifed, use slider wrapper
206
+ self.options.arrows = (target) ? target : self.options.arrows;
207
+ // Build
208
+ self.arrows();
209
+
210
+ }
211
+
212
+ };
213
+
214
+ }
215
+
216
+ /**
217
+ * Building slider
218
+ */
219
+ Glide.prototype.build = function() {
220
+
221
+ /**
222
+ * Attatch bindings
223
+ */
224
+ this.bindings();
225
+
226
+ /**
227
+ * There is more than one slide
228
+ */
229
+ if (this.slides.length > 1) {
230
+ /**
231
+ * Circular
232
+ * If circular option is true
233
+ * Append left and right arrow
234
+ */
235
+ if (this.options.circular) this.circular();
236
+
237
+ /**
238
+ * Arrows
239
+ * If arrows option is true
240
+ * Append left and right arrow
241
+ */
242
+ if (this.options.arrows) this.arrows();
243
+
244
+ /**
245
+ * Navigation
246
+ * If navigation option is true
247
+ * Append navigation item for each slide
248
+ */
249
+ if (this.options.navigation) this.navigation();
250
+ }
251
+
252
+ /**
253
+ * Attatch events
254
+ */
255
+ this.events();
256
+
257
+ };
258
+
259
+ /**
260
+ * Build circular DOM elements
261
+ * Clone first and last slide
262
+ * Set wrapper width with addional slides
263
+ * Move slider wrapper to first slide
264
+ */
265
+ Glide.prototype.circular = function() {
266
+
267
+ /**
268
+ * Clone first and last slide
269
+ * and set width for each
270
+ */
271
+ this.firstClone = this.slides.filter(':first-child').clone().width(this.slides.spread);
272
+ this.lastClone = this.slides.filter(':last-child').clone().width(this.slides.spread);
273
+
274
+ /**
275
+ * Append clodes slides to slider wrapper at the beginning and end
276
+ * Increase wrapper with with values of addional slides
277
+ * Clear translate and skip cloned last slide at the beginning
278
+ */
279
+ this.wrapper.append(this.firstClone).prepend(this.lastClone).width( this.parent.width() * (this.slides.length+2) )
280
+ .trigger('clearTransition')
281
+ .trigger('setTranslate', [-this.slides.spread]);
282
+
283
+ };
284
+
285
+ /**
286
+ * Building navigation DOM
287
+ */
288
+ Glide.prototype.navigation = function() {
289
+
290
+ this.navigation.items = {};
291
+
292
+ // Navigation wrapper
293
+ this.navigation.wrapper = $('<div />', {
294
+ 'class': this.options.navigationClass
295
+ }).appendTo(
296
+ /**
297
+ * Setting append target
298
+ * If option is true set default target, that is slider wrapper
299
+ * Else get target set in options
300
+ * @type {Bool or String}
301
+ */
302
+ (this.options.navigation === true) ? this.parent : this.options.navigation
303
+ );
304
+
305
+ for (var i = 0; i < this.slides.length; i++) {
306
+ this.navigation.items[i] = $('<a />', {
307
+ 'href': '#',
308
+ 'class': this.options.navigationItemClass,
309
+ // Direction and distance -> Item index forward
310
+ 'data-distance': i
311
+ }).appendTo(this.navigation.wrapper);
312
+ }
313
+
314
+ // Add navCurrentItemClass to the first navigation item
315
+ this.navigation.items[0].addClass(this.options.navigationCurrentItemClass);
316
+
317
+ // If centered option is true
318
+ if (this.options.navigationCenter) {
319
+ // Center bullet navigation
320
+ this.navigation.wrapper.css({
321
+ 'left': '50%',
322
+ 'width': this.navigation.wrapper.children().outerWidth(true) * this.navigation.wrapper.children().length,
323
+ 'margin-left': -(this.navigation.wrapper.outerWidth(true)/2)
324
+ });
325
+ }
326
+
327
+ };
328
+
329
+ /**
330
+ * Building arrows DOM
331
+ */
332
+ Glide.prototype.arrows = function() {
333
+
334
+ /**
335
+ * Arrows wrapper
336
+ * @type {Obejct}
337
+ */
338
+ this.arrows.wrapper = $('<div />', {
339
+ 'class': this.options.arrowsWrapperClass
340
+ }).appendTo(
341
+ /**
342
+ * Setting append target
343
+ * If option is true set default target, that is slider wrapper
344
+ * Else get target set in options
345
+ * @type {Bool or String}
346
+ */
347
+ (this.options.arrows === true) ? this.parent : this.options.arrows
348
+ );
349
+
350
+ /**
351
+ * Right arrow
352
+ * @type {Obejct}
353
+ */
354
+ this.arrows.right = $('<a />', {
355
+ 'href': '#',
356
+ 'class': this.options.arrowMainClass + ' ' + this.options.arrowRightClass,
357
+ // Direction and distance -> One forward
358
+ 'data-distance': '1',
359
+ 'html': this.options.arrowRightText
360
+ }).appendTo(this.arrows.wrapper);
361
+
362
+ /**
363
+ * Left arrow
364
+ * @type {Object}
365
+ */
366
+ this.arrows.left = $('<a />', {
367
+ 'href': '#',
368
+ 'class': this.options.arrowMainClass + ' ' + this.options.arrowLeftClass,
369
+ // Direction and distance -> One backward
370
+ 'data-distance': '-1',
371
+ 'html': this.options.arrowLeftText
372
+ }).appendTo(this.arrows.wrapper);
373
+
374
+ };
375
+
376
+ /**
377
+ * Function bindings
378
+ */
379
+ Glide.prototype.bindings = function() {
380
+
381
+ var self = this,
382
+ o = this.options,
383
+ prefix = this.css.getPrefix();
384
+
385
+ /**
386
+ * Setup slider wrapper bindings
387
+ * for translate and transition control
388
+ */
389
+ this.wrapper.bind({
390
+
391
+ /**
392
+ * Set transition
393
+ */
394
+ 'setTransition': function() {
395
+ $(this).css( prefix + 'transition', prefix + 'transform ' + o.animationDuration + 'ms ' + o.animationTimingFunc);
396
+ },
397
+
398
+ /**
399
+ * Clear transition
400
+ * for immediate jump effect
401
+ */
402
+ 'clearTransition': function() {
403
+ $(this).css( prefix + 'transition', 'none');
404
+ },
405
+
406
+ /**
407
+ * Set translate value
408
+ * @param {Object} event
409
+ * @param {Ind} translate
410
+ */
411
+ 'setTranslate': function(event, translate) {
412
+ // if css3 suported set translate3d
413
+ if (self.cssSupport) $(this).css( prefix + 'transform', 'translate3d(' + translate + 'px, 0px, 0px)');
414
+ // if not set left margin
415
+ else $(this).css('margin-left', translate);
416
+ }
417
+
418
+ });
419
+
420
+ };
421
+
422
+ /**
423
+ * Events controllers
424
+ */
425
+ Glide.prototype.events = function() {
426
+
427
+ /**
428
+ * Swipe
429
+ * If swipe option is true
430
+ * Attach touch events
431
+ */
432
+ if (this.options.touchDistance) {
433
+ this.parent.on({
434
+ 'touchstart MSPointerDown': $.proxy(this.events.touchstart, this),
435
+ 'touchmove MSPointerMove': $.proxy(this.events.touchmove, this),
436
+ 'touchend MSPointerUp': $.proxy(this.events.touchend, this),
437
+ });
438
+ }
439
+
440
+ /**
441
+ * Arrows
442
+ * If arrows exists
443
+ * Attach click event
444
+ */
445
+ if (this.arrows.wrapper) {
446
+ $(this.arrows.wrapper).children().on('click touchstart',
447
+ $.proxy(this.events.arrows, this)
448
+ );
449
+ }
450
+
451
+ /**
452
+ * Navigation
453
+ * If navigation exists
454
+ * Attach click event
455
+ */
456
+ if (this.navigation.wrapper) {
457
+ $(this.navigation.wrapper).children().on('click touchstart',
458
+ $.proxy(this.events.navigation, this)
459
+ );
460
+ }
461
+
462
+ /**
463
+ * Keyboard
464
+ * If keyboard option is true
465
+ * Attach press event
466
+ */
467
+ if (this.options.keyboard) {
468
+ $(document).on('keyup.glideKeyup',
469
+ $.proxy(this.events.keyboard, this)
470
+ );
471
+ }
472
+
473
+ /**
474
+ * Slider hover
475
+ * If hover option is true
476
+ * Attach hover event
477
+ */
478
+ if (this.options.hoverpause) {
479
+ this.parent.on('mouseover mouseout',
480
+ $.proxy(this.events.hover, this)
481
+ );
482
+ }
483
+
484
+ /**
485
+ * Slider resize
486
+ * On window resize
487
+ * Attach resize event
488
+ */
489
+ $(window).on('resize',
490
+ $.proxy(this.events.resize, this)
491
+ );
492
+
493
+ };
494
+
495
+ /**
496
+ * Navigation event controller
497
+ * On click in navigation item get distance
498
+ * Then slide specified distance with jump
499
+ */
500
+ Glide.prototype.events.navigation = function(event) {
501
+
502
+ if ( !this.wrapper.attr('disabled') ) {
503
+ // Prevent default behaviour
504
+ event.preventDefault();
505
+ // Slide distance specified in data attribute
506
+ this.slide( $(event.currentTarget).data('distance'), true );
507
+ }
508
+
509
+ };
510
+
511
+ /**
512
+ * Arrows event controller
513
+ * On click in arrows get direction and distance
514
+ * Then slide specified distance without jump
515
+ * @param {Obejct} event
516
+ */
517
+ Glide.prototype.events.arrows = function(event) {
518
+
519
+ if ( !this.wrapper.attr('disabled') ) {
520
+ // Prevent default behaviour
521
+ event.preventDefault();
522
+ // Slide distance specified in data attribute
523
+ this.slide( $(event.currentTarget).data('distance'), false );
524
+ }
525
+
526
+ };
527
+
528
+ /**
529
+ * Keyboard arrows event controller
530
+ * Keyboard left and right arrow keys press
531
+ */
532
+ Glide.prototype.events.keyboard = function(event) {
533
+
534
+ if ( !this.wrapper.attr('disabled') ) {
535
+ // Next
536
+ if (event.keyCode === 39) this.slide(1);
537
+ // Prev
538
+ if (event.keyCode === 37) this.slide(-1);
539
+ }
540
+
541
+ };
542
+
543
+ /**
544
+ * When mouse is over slider, pause autoplay
545
+ * On out, start autoplay again
546
+ */
547
+ Glide.prototype.events.hover = function(event) {
548
+
549
+ // Pasue autoplay
550
+ this.pause();
551
+
552
+ // When mouse left slider or touch end, start autoplay anew
553
+ if (event.type === 'mouseout') this.play();
554
+
555
+ };
556
+
557
+ /**
558
+ * When resize browser window
559
+ * Reinit plugin for new slider dimensions
560
+ * Correct crop to current slide
561
+ */
562
+ Glide.prototype.events.resize = function(event) {
563
+
564
+ // Reinit plugin (set new slider dimensions)
565
+ this.dimensions();
566
+ // Crop to current slide
567
+ this.slide(0);
568
+
569
+ };
570
+
571
+ /**
572
+ * Disable events thats controls slide changes
573
+ */
574
+ Glide.prototype.disableEvents = function() {
575
+ this.wrapper.attr( "disabled", true );
576
+ };
577
+
578
+ /**
579
+ * Enable events thats controls slide changes
580
+ */
581
+ Glide.prototype.enableEvents = function() {
582
+ this.wrapper.attr( "disabled", false );
583
+ };
584
+
585
+ /**
586
+ * Touch start
587
+ * @param {Object} e event
588
+ */
589
+ Glide.prototype.events.touchstart = function(event) {
590
+
591
+ // Cache event
592
+ var touch = event.originalEvent.touches[0] || event.originalEvent.changedTouches[0];
593
+
594
+ // Get touch start points
595
+ this.events.touchStartX = touch.pageX;
596
+ this.events.touchStartY = touch.pageY;
597
+ this.events.touchSin = null;
598
+
599
+ };
600
+
601
+ /**
602
+ * Touch move
603
+ * From swipe length segments calculate swipe angle
604
+ * @param {Obejct} e event
605
+ */
606
+ Glide.prototype.events.touchmove = function(event) {
607
+
608
+ // Cache event
609
+ var touch = event.originalEvent.touches[0] || event.originalEvent.changedTouches[0];
610
+
611
+ // Calculate start, end points
612
+ var subExSx = touch.pageX - this.events.touchStartX;
613
+ var subEySy = touch.pageY - this.events.touchStartY;
614
+ // Bitwise subExSx pow
615
+ var powEX = Math.abs( subExSx << 2 );
616
+ // Bitwise subEySy pow
617
+ var powEY = Math.abs( subEySy << 2 );
618
+ // Calculate the length of the hypotenuse segment
619
+ var touchHypotenuse = Math.sqrt( powEX + powEY );
620
+ // Calculate the length of the cathetus segment
621
+ var touchCathetus = Math.sqrt( powEY );
622
+
623
+ // Calculate the sine of the angle
624
+ this.events.touchSin = Math.asin( touchCathetus/touchHypotenuse );
625
+
626
+ if ( (this.events.touchSin * (180 / Math.PI)) < 45 ) event.preventDefault();
627
+
628
+ };
629
+
630
+ /**
631
+ * Touch end
632
+ * @param {Object} e event
633
+ */
634
+ Glide.prototype.events.touchend = function(event) {
635
+
636
+ // Cache event
637
+ var touch = event.originalEvent.touches[0] || event.originalEvent.changedTouches[0];
638
+
639
+ // Calculate touch distance
640
+ var touchDistance = touch.pageX - this.events.touchStartX;
641
+
642
+ // While touch is positive and greater than distance set in options
643
+ if ( (touchDistance > this.options.touchDistance) && ( (this.events.touchSin * (180 / Math.PI)) < 45) ) {
644
+ // Slide one backward
645
+ this.slide(-1);
646
+ // While touch is negative and lower than negative distance set in options
647
+ } else if (
648
+ (touchDistance < -this.options.touchDistance) && ( (this.events.touchSin * (180 / Math.PI)) < 45) ) {
649
+ // Slide one forward
650
+ this.slide(1);
651
+ }
652
+
653
+ };
654
+
655
+ /**
656
+ * Slides change & animate logic
657
+ * @param {int} distance
658
+ * @param {bool} jump
659
+ * @param {function} callback
660
+ */
661
+ Glide.prototype.slide = function(distance, jump, callback) {
662
+
663
+ /**
664
+ * Stop autoplay
665
+ * Clearing timer
666
+ */
667
+ this.pause();
668
+
669
+ // Callbacks before slide change
670
+ this.options.beforeTransition.call(this);
671
+
672
+ // Setup variables
673
+ var self = this,
674
+ currentSlide = (jump) ? 0 : this.currentSlide,
675
+ slidesLength = -(this.slides.length-1),
676
+ fromFirst = false,
677
+ fromLast = false;
678
+
679
+ /**
680
+ * Check if current slide is first and direction is previous, then go to last slide
681
+ * or current slide is last and direction is next, then go to the first slide
682
+ * else change current slide normally
683
+ */
684
+ if ( currentSlide === 0 && distance === -1 ) {
685
+ fromFirst = true;
686
+ currentSlide = slidesLength;
687
+ } else if ( currentSlide === slidesLength && distance === 1 ) {
688
+ fromLast = true;
689
+ currentSlide = 0;
690
+ } else {
691
+ currentSlide = currentSlide + (-distance);
692
+ }
693
+
694
+ /**
695
+ * Crop to current slide.
696
+ * Mul slide width by current slide number.
697
+ */
698
+ var offset = this.slides.spread * currentSlide;
699
+
700
+ /**
701
+ * While circular decrease offset with the width of single slide
702
+ * When fromFirst and fromLast flags are set, unbind events thats controls changing
703
+ * When fromLast flags is set, set offset to slide width mulled by slides count without cloned slides
704
+ * When fromFirst flags is set, set offset to zero
705
+ */
706
+ if (this.options.circular) {
707
+ offset = offset - this.slides.spread;
708
+ if (fromLast || fromFirst) this.disableEvents();
709
+ if (fromLast) offset = this.slides.spread * (slidesLength - 2);
710
+ if (fromFirst) offset = 0;
711
+ }
712
+
713
+ /**
714
+ * Slide change animation
715
+ * While CSS3 is supported use offset
716
+ * if not, use $.animate();
717
+ */
718
+ if (this.cssSupport) this.wrapper.trigger('setTransition').trigger('setTranslate', [offset]);
719
+ else this.wrapper.stop().animate({ 'margin-left': offset }, this.options.animationDuration);
720
+
721
+ /**
722
+ * While circular
723
+ */
724
+ if (this.options.circular) {
725
+
726
+ /**
727
+ * When fromFirst and fromLast flags are set
728
+ * after animation clear transition and bind events that control slides changing
729
+ */
730
+ if (fromFirst || fromLast) {
731
+ this.afterAnimation(function(){
732
+ self.wrapper.trigger('clearTransition');
733
+ self.enableEvents();
734
+ });
735
+ }
736
+
737
+ /**
738
+ * When fromLast flag is set
739
+ * after animation make immediate jump from cloned slide to proper one
740
+ */
741
+ if (fromLast) {
742
+ this.afterAnimation(function(){
743
+ fromLast = false;
744
+ self.wrapper.trigger('setTranslate', [-self.slides.spread]);
745
+ });
746
+ }
747
+
748
+ /**
749
+ * When fromFirst flag is set
750
+ * after animation make immediate jump from cloned slide to proper one
751
+ */
752
+ if (fromFirst) {
753
+ this.afterAnimation(function(){
754
+ fromFirst = false;
755
+ self.wrapper.trigger('setTranslate', [self.slides.spread * (slidesLength-1)]);
756
+ });
757
+ }
758
+
759
+ }
760
+
761
+ // Set to navigation item current class
762
+ if (this.options.navigation && this.navigation.wrapper) {
763
+ $(this.parent).children('.' + this.options.navigationClass).children()
764
+ .eq(-currentSlide)
765
+ .addClass(this.options.navigationCurrentItemClass)
766
+ .siblings()
767
+ .removeClass(this.options.navigationCurrentItemClass);
768
+ }
769
+
770
+ // Update current slide globaly
771
+ this.currentSlide = currentSlide;
772
+
773
+ // Callbacks after slide change
774
+ this.afterAnimation(function(){
775
+ self.options.afterTransition.call(self);
776
+ if ( (callback !== 'undefined') && (typeof callback === 'function') ) callback();
777
+ });
778
+
779
+ /**
780
+ * Start autoplay
781
+ * Setting up timer
782
+ */
783
+ this.play();
784
+
785
+ };
786
+
787
+ /**
788
+ * Autoplay logic
789
+ * Setup counting
790
+ */
791
+ Glide.prototype.play = function() {
792
+
793
+ // Cache this
794
+ var self = this;
795
+
796
+ /**
797
+ * If autoplay turn on
798
+ * Slide one forward after a set time
799
+ */
800
+ if (this.options.autoplay) {
801
+ this.auto = setInterval(function() {
802
+ self.slide(1, false);
803
+ }, this.options.autoplay);
804
+ }
805
+
806
+ };
807
+
808
+ /**
809
+ * Autoplay pause
810
+ * Clear counting
811
+ */
812
+ Glide.prototype.pause = function() {
813
+
814
+ /**
815
+ * If autoplay turn on
816
+ * Clear interial
817
+ */
818
+ if (this.options.autoplay) this.auto = clearInterval(this.auto);
819
+
820
+ };
821
+
822
+ /**
823
+ * Call callback after animation duration
824
+ * Added 10 ms to duration to be sure is fired after animation
825
+ * @param {Function} callback
826
+ */
827
+ Glide.prototype.afterAnimation = function(callback) {
828
+
829
+ setTimeout(function(){
830
+ callback();
831
+ }, this.options.animationDuration + 10);
832
+
833
+ };
834
+
835
+ /**
836
+ * Dimensions
837
+ * Get & set dimensions of slider elements
838
+ */
839
+ Glide.prototype.dimensions = function() {
840
+
841
+ // Get slide width
842
+ this.slides.spread = this.parent.width();
843
+ // Set wrapper width
844
+ this.wrapper.width(this.slides.spread * (this.slides.length + this.offset));
845
+ // Set slide width
846
+ this.slides.add(this.firstClone).add(this.lastClone).width(this.slides.spread);
847
+
848
+ };
849
+
850
+ /**
851
+ * Initialize
852
+ * Set wrapper
853
+ * Set slides
854
+ * Set animation type
855
+ */
856
+ Glide.prototype.init = function() {
857
+
858
+ // Set slides wrapper
859
+ this.wrapper = this.parent.children();
860
+ // Set slides
861
+ this.slides = this.wrapper.children();
862
+ // Set slider dimentions
863
+ this.dimensions();
864
+
865
+ // Build DOM
866
+ this.build();
867
+
868
+ };
869
+
870
+
871
+ /**
872
+ * Methods for css3 management
873
+ */
874
+ Glide.prototype.css = {
875
+
876
+ /**
877
+ * Check css3 support
878
+ * @param {String} Declaration name to check
879
+ * @return {Boolean}
880
+ */
881
+ isSupported: function(declaration) {
882
+
883
+ var isSupported = false,
884
+ prefixes = 'Khtml ms O Moz Webkit'.split(' '),
885
+ clone = document.createElement('div'),
886
+ declarationCapital = null;
887
+
888
+ declaration = declaration.toLowerCase();
889
+ if (clone.style[declaration] !== undefined) isSupported = true;
890
+ if (isSupported === false) {
891
+ declarationCapital = declaration.charAt(0).toUpperCase() + declaration.substr(1);
892
+ for( var i = 0; i < prefixes.length; i++ ) {
893
+ if( clone.style[prefixes[i] + declarationCapital ] !== undefined ) {
894
+ isSupported = true;
895
+ break;
896
+ }
897
+ }
898
+ }
899
+
900
+ if (window.opera) {
901
+ if (window.opera.version() < 13) isSupported = false;
902
+ }
903
+
904
+ if (isSupported === 'undefined' || isSupported === undefined) isSupported = false;
905
+
906
+ return isSupported;
907
+
908
+ },
909
+
910
+ /**
911
+ * Get browser css prefix
912
+ * @return {String} Returns prefix in "-{prefix}-" format
913
+ */
914
+ getPrefix: function () {
915
+
916
+ if (!window.getComputedStyle) return '';
917
+
918
+ var styles = window.getComputedStyle(document.documentElement, '');
919
+ return '-' + (Array.prototype.slice
920
+ .call(styles)
921
+ .join('')
922
+ .match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o'])
923
+ )[1] + '-';
924
+
925
+ }
926
+
927
+ };
928
+
929
+ $.fn[name] = function(options) {
930
+
931
+ return this.each(function () {
932
+ if ( !$.data(this, 'api_' + name) ) {
933
+ $.data(this, 'api_' + name,
934
+ new Glide($(this), options)
935
+ );
936
+ }
937
+ });
938
+
939
+ };
940
+
941
+ })(jQuery, window, document);