constructor-core 0.9.1 → 1.0.0beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/.keep +0 -0
  3. data/app/assets/javascripts/constructor_core/application.js.coffee +15 -18
  4. data/app/assets/javascripts/constructor_core/expandable_tree/hashchange.js.coffee +33 -0
  5. data/app/assets/javascripts/constructor_core/expandable_tree/initializer.js.coffee +106 -0
  6. data/app/assets/javascripts/constructor_core/expandable_tree/jquery.cookie.coffee +68 -0
  7. data/app/assets/javascripts/constructor_core/expandable_tree/restorable.js.coffee +122 -0
  8. data/app/assets/javascripts/constructor_core/jquery.ui.nestedSortable.js +429 -0
  9. data/app/assets/javascripts/constructor_core/jquery_bundle.js.coffee +2 -1
  10. data/app/assets/javascripts/constructor_core/render_tree_helper.js.coffee +82 -0
  11. data/app/assets/javascripts/constructor_core/sortable_tree/initializer.js.coffee +54 -0
  12. data/app/assets/stylesheets/constructor_core/application.css.scss +24 -1
  13. data/app/assets/stylesheets/constructor_core/framework/all.scss +4 -0
  14. data/app/assets/stylesheets/constructor_core/framework/classes.scss +4 -0
  15. data/app/assets/stylesheets/constructor_core/framework/globals.scss +49 -0
  16. data/app/assets/stylesheets/constructor_core/framework/grid.scss +33 -0
  17. data/app/assets/stylesheets/constructor_core/framework/mixin.scss +193 -0
  18. data/app/assets/stylesheets/constructor_core/project/blocks/b-button/_color/b-button_color_light.scss +12 -0
  19. data/app/assets/stylesheets/constructor_core/project/blocks/b-button/_size/b-button_size_small.scss +7 -0
  20. data/app/assets/stylesheets/constructor_core/project/blocks/b-button/b-button.scss +29 -0
  21. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/__actions/b-form__actions.scss +3 -0
  22. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/__field/b-form__field.scss +12 -0
  23. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/__file/b-form__file.scss +12 -0
  24. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/__label/b-form__label.scss +7 -0
  25. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/__row/b-form__row.scss +4 -0
  26. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/b-form.scss +1 -0
  27. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/b-full-url/__icon/b-full-url__icon.scss +5 -0
  28. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/b-full-url/__path/b-full-url__path.scss +4 -0
  29. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/b-full-url/__url/b-full-url__url.scss +8 -0
  30. data/app/assets/stylesheets/constructor_core/project/blocks/b-form/b-full-url/b-full-url.scss +11 -0
  31. data/app/assets/stylesheets/constructor_core/project/blocks/b-header/b-header.scss +6 -0
  32. data/app/assets/stylesheets/constructor_core/project/blocks/b-login/__field/b-login__field.scss +13 -0
  33. data/app/assets/stylesheets/constructor_core/project/blocks/b-login/__label/b-login__label.scss +6 -0
  34. data/app/assets/stylesheets/constructor_core/project/blocks/b-login/__remember/b-login__remember.scss +4 -0
  35. data/app/assets/stylesheets/constructor_core/project/blocks/b-login/b-login.scss +8 -0
  36. data/app/assets/stylesheets/constructor_core/project/blocks/b-logo/b-logo.scss +15 -0
  37. data/app/assets/stylesheets/constructor_core/project/blocks/b-menu/__item-icon/b-menu__item-icon.scss +3 -0
  38. data/app/assets/stylesheets/constructor_core/project/blocks/b-menu/__item-link/_active/b-menu__item-link_active.scss +10 -0
  39. data/app/assets/stylesheets/constructor_core/project/blocks/b-menu/__item-link/b-menu__item-link.scss +13 -0
  40. data/app/assets/stylesheets/constructor_core/project/blocks/b-menu/__item/b-menu__item.scss +4 -0
  41. data/app/assets/stylesheets/constructor_core/project/blocks/b-menu/b-menu.scss +5 -0
  42. data/app/assets/stylesheets/constructor_core/project/blocks/b-profile/b-profile.scss +3 -0
  43. data/app/assets/stylesheets/constructor_core/project/blocks/b-tree/__expand/b-tree__expand.scss +10 -0
  44. data/app/assets/stylesheets/constructor_core/project/blocks/b-tree/__handle/b-tree__handle.scss +8 -0
  45. data/app/assets/stylesheets/constructor_core/project/blocks/b-tree/__item/b-tree__item.scss +5 -0
  46. data/app/assets/stylesheets/constructor_core/project/blocks/b-tree/__li/b-tree__li.scss +4 -0
  47. data/app/assets/stylesheets/constructor_core/project/blocks/b-tree/__link/b-tree__link.scss +14 -0
  48. data/app/assets/stylesheets/constructor_core/project/blocks/b-tree/__nested-set/b-tree__nested-set.scss +6 -0
  49. data/app/assets/stylesheets/constructor_core/project/blocks/b-tree/__url/b-tree__url.scss +5 -0
  50. data/app/assets/stylesheets/constructor_core/project/blocks/b-tree/b-tree.scss +5 -0
  51. data/app/assets/stylesheets/constructor_core/project/layouts/l-all/l-all.scss +4 -0
  52. data/app/assets/stylesheets/constructor_core/project/layouts/l-content/l-content.scss +3 -0
  53. data/app/assets/stylesheets/constructor_core/project/layouts/l-header/__avatar/l-header__avatar.scss +5 -0
  54. data/app/assets/stylesheets/constructor_core/project/layouts/l-header/__email/l-header__email.scss +12 -0
  55. data/app/assets/stylesheets/constructor_core/project/layouts/l-header/__link-icon/l-header__link-icon.scss +4 -0
  56. data/app/assets/stylesheets/constructor_core/project/layouts/l-header/__link/l-header__link.scss +12 -0
  57. data/app/assets/stylesheets/constructor_core/project/layouts/l-header/__logout/l-header__logout.scss +11 -0
  58. data/app/assets/stylesheets/constructor_core/project/layouts/l-header/__profile/l-header__profile.scss +4 -0
  59. data/app/assets/stylesheets/constructor_core/project/layouts/l-header/l-header.scss +7 -0
  60. data/app/assets/stylesheets/constructor_core/project/layouts/l-pages/l-pages.scss +3 -0
  61. data/app/assets/stylesheets/constructor_core/project/layouts/l-sidebar/l-sidebar.scss +7 -0
  62. data/app/controllers/constructor_core/sessions_controller.rb +1 -1
  63. data/app/helpers/constructor_core/application_helper.rb +6 -0
  64. data/app/helpers/render_expandable_tree_helper.rb +51 -0
  65. data/app/views/constructor_core/sessions/new.html.slim +11 -20
  66. data/app/views/constructor_core/users/profile.html.slim +11 -17
  67. data/app/views/layouts/constructor_core/application_core.html.slim +44 -70
  68. data/app/views/layouts/constructor_core/login.html.slim +27 -0
  69. data/config/locales/en.yml +3 -2
  70. data/config/locales/fr.yml +3 -2
  71. data/config/locales/ru.yml +2 -1
  72. data/constructor-core.gemspec +4 -3
  73. data/lib/constructor-core.rb +5 -2
  74. data/lib/constructor_core/version.rb +1 -1
  75. data/{app → vendor}/assets/javascripts/constructor_core/jquery.cookie.js +0 -0
  76. data/{app → vendor}/assets/javascripts/constructor_core/keys_snippet.js +0 -0
  77. data/{app → vendor}/assets/javascripts/constructor_core/retina.js +0 -0
  78. data/vendor/assets/stylesheets/constructor_core/framework/all.scss +4 -0
  79. data/vendor/assets/stylesheets/constructor_core/framework/classes.scss +4 -0
  80. data/vendor/assets/stylesheets/constructor_core/framework/globals.scss +49 -0
  81. data/vendor/assets/stylesheets/constructor_core/framework/grid.scss +33 -0
  82. data/vendor/assets/stylesheets/constructor_core/framework/mixin.scss +193 -0
  83. metadata +94 -45
  84. data/app/assets/images/constructor_core/glyphicons-halflings-white.png +0 -0
  85. data/app/assets/images/constructor_core/glyphicons-halflings.png +0 -0
  86. data/app/assets/images/constructor_core/minus.gif +0 -0
  87. data/app/assets/images/constructor_core/plus.gif +0 -0
  88. data/app/assets/images/constructor_core/rss.png +0 -0
  89. data/app/assets/images/constructor_core/treeview-black-line.gif +0 -0
  90. data/app/assets/images/constructor_core/treeview-black.gif +0 -0
  91. data/app/assets/images/constructor_core/treeview-default-line.gif +0 -0
  92. data/app/assets/images/constructor_core/treeview-default.gif +0 -0
  93. data/app/assets/images/constructor_core/treeview-famfamfam-line.gif +0 -0
  94. data/app/assets/images/constructor_core/treeview-famfamfam.gif +0 -0
  95. data/app/assets/images/constructor_core/treeview-gray-line.gif +0 -0
  96. data/app/assets/images/constructor_core/treeview-gray.gif +0 -0
  97. data/app/assets/images/constructor_core/treeview-red-line.gif +0 -0
  98. data/app/assets/images/constructor_core/treeview-red.gif +0 -0
  99. data/app/assets/images/constructor_core/twitter.png +0 -0
  100. data/app/assets/images/constructor_core/widgets.png +0 -0
  101. data/app/assets/javascripts/constructor_core/bootstrap.js +0 -2276
  102. data/app/assets/stylesheets/constructor_core/main.css.scss.erb +0 -233
  103. data/app/views/constructor_core/devise/confirmations/new.html.slim +0 -10
  104. data/app/views/constructor_core/devise/mailer/confirmation_instructions.html.slim +0 -5
  105. data/app/views/constructor_core/devise/mailer/reset_password_instructions.html.slim +0 -7
  106. data/app/views/constructor_core/devise/mailer/unlock_instructions.html.slim +0 -5
  107. data/app/views/constructor_core/devise/passwords/edit.html.slim +0 -21
  108. data/app/views/constructor_core/devise/passwords/new.html.slim +0 -13
  109. data/app/views/constructor_core/devise/registrations/edit.html.slim +0 -28
  110. data/app/views/constructor_core/devise/registrations/new.html.slim +0 -20
  111. data/app/views/constructor_core/devise/shared/_links.html.slim +0 -19
  112. data/app/views/constructor_core/devise/unlocks/new.html.slim +0 -9
@@ -1,22 +1,13 @@
1
- - content_for :page_title do
2
- =t :login
1
+ = form_for(resource, as: resource_name, url: '/login', html: {class: 'b-login'}) do |f|
2
+ = f.label :email, class: 'b-login__label'
3
+ = f.email_field :email, class: 'b-login__field'
3
4
 
4
- = form_for(resource, as: resource_name, url: '/login') do |f|
5
- .form-horizontal
6
- .control-group
7
- = f.label :email, class: 'control-label'
8
- .controls
9
- = f.email_field :email
10
- .control-group
11
- = f.label :password, class: 'control-label'
12
- .controls
13
- = f.password_field :password
5
+ = f.label :password, class: 'b-login__label'
6
+ = f.password_field :password, class: 'b-login__field'
14
7
 
15
- - if devise_mapping.rememberable?
16
- .control-group
17
- .controls
18
- label.checkbox.inline for='remember_me'
19
- = f.check_box :remember_me
20
- =t :remember_me
21
- .controls
22
- = f.submit t(:login), class: 'btn btn-primary'
8
+ - if devise_mapping.rememberable?
9
+ .b-login__remember
10
+ => f.check_box :remember_me
11
+ =t :remember_me
12
+
13
+ = f.submit t(:login), class: 'b-button'
@@ -1,17 +1,11 @@
1
- - content_for :page_title do
2
- =t :profile
3
-
4
- - cache do
5
- = form_for @current_user, method: :post do |f|
6
- .form-horizontal
7
- .control-group
8
- = f.label :password, class: 'control-label'
9
- .controls
10
- = f.password_field :password, required: true
11
- .control-group
12
- = f.label :password_confirmation, class: 'control-label'
13
- .controls
14
- = f.password_field :password_confirm, required: true
15
- .control-group
16
- .controls
17
- = f.submit t(:save_password), class: 'btn btn-primary'
1
+ .b-header
2
+ | Смена пароля
3
+ = form_for @current_user, method: :post, html: {class: 'b-form'} do |f|
4
+ .b-form__row
5
+ = f.label :password, class: 'b-form__label'
6
+ = f.password_field :password, required: true, class: 'b-form__field'
7
+ .b-form__row
8
+ = f.label :password_confirmation, class: 'b-form__label'
9
+ = f.password_field :password_confirm, required: true, class: 'b-form__field'
10
+ .b-form__actions
11
+ = f.submit t(:save_password), class: 'b-button'
@@ -1,18 +1,22 @@
1
1
  doctype html
2
- html lang="ru"
2
+ html
3
3
  head
4
4
  meta charset="utf-8"
5
5
  meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'
6
6
  title=t :dashboard
7
-
8
- / [if lt IE 9]
9
- %script{src: 'http://html5shim.googlecode.com/svn/trunk/html5.js'}
10
-
7
+
8
+ - if Rails.env.production?
9
+ / [if lt IE 9]
10
+ %script{src: 'http://html5shim.googlecode.com/svn/trunk/html5.js'}
11
+
12
+ link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic' rel='stylesheet' type='text/css'
13
+
11
14
  javascript:
12
15
  var CKEDITOR_BASEPATH = '/assets/ckeditor/'
13
-
16
+
14
17
  = stylesheet_link_tag 'constructor_core/application'
15
18
  = javascript_include_tag 'constructor_core/application'
19
+
16
20
  = csrf_meta_tag
17
21
  = favicon_link_tag
18
22
 
@@ -21,73 +25,43 @@ html lang="ru"
21
25
  link rel='apple-touch-icon' sizes='114x114' href='images/apple-touch-icon-114x114.png'
22
26
 
23
27
  body
24
- .navbar.navbar-constructor
25
- .navbar-inner
26
- .container-fluid
27
- = link_to t(:homepage), '/', class: 'brand'
28
- a.btn.btn-navbar data-toggle='collapse' data-target='.nav-collapse'
29
- span.icon-bar
30
- span.icon-bar
31
- span.icon-bar
32
- .nav-collapse
33
- ul.nav
34
- /
35
- %li
36
- = link_to '/admin/dashboard' do
37
- %i.icon-dashboard
38
- =t :dashboard
39
- li
40
- = link_to '/admin/pages' do
41
- i.icon-sitemap>
42
- =t :structure
43
- li
44
- = link_to '/admin/templates' do
45
- i.icon-film>
46
- =t :templates
47
- /
48
- %li
49
- = link_to '/admin/users' do
50
- %i.icon-group
51
- =t :users
52
- %li
53
- = link_to '/admin/settings' do
54
- %i.icon-cogs
55
- =t :settings
28
+ .l-all.l-base
29
+ .l-sidebar.b-inline
30
+ = link_to 'Constructor', '/', class: 'b-logo'
31
+ ul.b-menu
32
+ li.b-menu__item
33
+ = menu_item('pages', 'sitemap')
34
+ li.b-menu__item
35
+ = menu_item('templates', 'film')
36
+
37
+ .l-main.b-inline
38
+ .l-header
39
+ .b-inline
40
+ = link_to '/', class: 'l-header__link' do
41
+ =t :go_to_website
42
+ i.fa.fa-external-link.l-header__link-icon
43
+
44
+ .b-inline.g-float_right
45
+ .b-inline.l-header__profile
46
+ = link_to core.user_path(current_user.id), class: 'l-header__email' do
47
+ = image_tag gravatar_icon(current_user.email, 48), width: 24, height: 24, class: 'l-header__avatar'
48
+ = current_user.email
49
+
50
+ = link_to core.logout_path, method: :delete, class: 'l-header__logout' do
51
+ i.fa.fa-sign-out>
52
+ =t :logout
53
+
56
54
 
57
- - if current_user
58
- ul.nav.pull-right
59
- li
60
- = link_to core.user_path(current_user.id) do
61
- = image_tag gravatar_icon(current_user.email, 48), width: 24, height: 24, class: 'avatar'
62
- span<= current_user.email
63
- li
64
- = link_to 'http://ivanzotov.github.io/constructor/' do
65
- i.icon-question-sign>
66
- =t :help
67
- li
68
- = link_to core.logout_path, method: :delete do
69
- i.icon-signout>
70
- =t :logout
71
55
 
72
- .container-fluid
73
- .page-header
74
- .row-fluid
75
- .span4
76
- h3.muted= yield :page_title
77
- .span4
78
- - unless notice.nil?
79
- .alert.fade.in
80
- = link_to '×', '#', class: 'close', 'data-dismiss' => 'alert'
81
- = notice
82
- - unless alert.nil?
83
- .alert.alert-error.fade.in
84
- = link_to '×', '#', class: 'close', 'data-dismiss' => 'alert'
85
- = alert
56
+ - unless notice.nil?
57
+ = link_to '×', '#', class: 'b-close', 'data-dismiss' => 'alert'
58
+ = notice
59
+ - unless alert.nil?
60
+ = link_to '×', '#', class: 'b-close', 'data-dismiss' => 'alert'
61
+ = alert
86
62
 
87
- = yield :actions
88
- .content
89
- .row-fluid
90
- = yield
63
+ .l-content
64
+ = yield
91
65
 
92
66
  / [if lt IE 7 ]
93
67
  %script{src: '//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js'}
@@ -0,0 +1,27 @@
1
+ doctype html
2
+ html
3
+ head
4
+ meta charset="utf-8"
5
+ meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'
6
+ title=t :login
7
+
8
+ / [if lt IE 9]
9
+ %script{src: 'http://html5shim.googlecode.com/svn/trunk/html5.js'}
10
+
11
+ = stylesheet_link_tag 'constructor_core/application'
12
+ = javascript_include_tag 'constructor_core/application'
13
+ = csrf_meta_tag
14
+ = favicon_link_tag
15
+
16
+ link rel='apple-touch-icon' href='images/apple-touch-icon.png'
17
+ link rel='apple-touch-icon' sizes='72x72' href='images/apple-touch-icon-72x72.png'
18
+ link rel='apple-touch-icon' sizes='114x114' href='images/apple-touch-icon-114x114.png'
19
+
20
+ body
21
+ .l-all.l-base
22
+ = yield
23
+
24
+ / [if lt IE 7 ]
25
+ %script{src: '//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js'}
26
+ %script
27
+ window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})
@@ -1,7 +1,7 @@
1
1
  en:
2
2
  dashboard: Dashboard
3
+ are_you_sure?: Are you sure?
3
4
  users: Users
4
- homepage: Home page
5
5
  login: Login
6
6
  logout: Logout
7
7
  cancel: Cancel
@@ -12,4 +12,5 @@ en:
12
12
  profile: Profile
13
13
  password_error_confirm: Password confirmation failed
14
14
  save_password: Save password
15
- password_changed: Password changed
15
+ password_changed: Password changed
16
+ go_to_website: Go to website
@@ -1,7 +1,7 @@
1
1
  fr:
2
2
  dashboard: Tableau de bord
3
+ are_you_sure?: Etes-vous sûr?
3
4
  users: Utilisateurs
4
- homepage: Page d'accueil
5
5
  login: S'identifier
6
6
  logout: Déconnexion
7
7
  cancel: Résilier
@@ -12,4 +12,5 @@ fr:
12
12
  profile: Profil
13
13
  password_error_confirm: Confirmation mot de passe n'a pas
14
14
  save_password: Enregistrer le mot de passe
15
- password_changed: Mot de passe modifié
15
+ password_changed: Mot de passe modifié
16
+ go_to_website: Go to website
@@ -1,6 +1,6 @@
1
1
  ru:
2
2
  dashboard: Панель управления
3
- homepage: Главная страница
3
+ are_you_sure?: Вы уверены?
4
4
  users: Пользователи
5
5
  login: Войти
6
6
  logout: Выйти
@@ -13,6 +13,7 @@ ru:
13
13
  save_password: Сохранить пароль
14
14
  password_changed: Пароль успешно изменен
15
15
  password_error_confirm: Пароли не совпадают
16
+ go_to_website: Перейти на сайт
16
17
 
17
18
  activerecord:
18
19
  attributes:
@@ -16,10 +16,11 @@ Gem::Specification.new do |s|
16
16
  s.files = `git ls-files`.split("\n")
17
17
  s.test_files = `git ls-files -- spec/*`.split("\n")
18
18
 
19
- s.add_dependency 'rails', '~> 4.0.0'
19
+ s.add_dependency 'rails', '~> 4.0.2'
20
20
  s.add_dependency 'devise', '~> 3.0.0.rc'
21
- s.add_dependency 'bootstrap-sass', '~> 2.0'
22
21
  s.add_dependency 'slim'
23
- s.add_dependency 'font-awesome-sass-rails'
22
+ s.add_dependency 'jquery-ui-rails'
23
+ s.add_dependency 'the_sortable_tree'
24
+ s.add_dependency 'font-awesome-sass'
24
25
  s.add_dependency 'cache_digests'
25
26
  end
@@ -1,7 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  require 'devise'
4
- require 'bootstrap-sass'
5
- require 'font-awesome-sass-rails'
4
+ require 'slim'
5
+ require 'sass-rails'
6
+ require 'font/awesome/sass'
7
+ require 'jquery-ui-rails'
8
+ require 'the_sortable_tree'
6
9
  require 'constructor_core/engine'
7
10
  require 'constructor_core/string'
@@ -1,3 +1,3 @@
1
1
  module ConstructorCore
2
- VERSION = '0.9.1'
2
+ VERSION = '1.0.0beta1'
3
3
  end
@@ -0,0 +1,4 @@
1
+ @import 'mixin';
2
+ @import 'classes';
3
+ @import 'globals';
4
+ @import 'grid';
@@ -0,0 +1,4 @@
1
+ .l-base { @include base; }
2
+ .b-block { @include display-block; }
3
+ .b-inline { @include display-inline; }
4
+ .b-center { @include center-block; }
@@ -0,0 +1,49 @@
1
+ .g-out { overflow: visible !important}
2
+
3
+ .g-line {
4
+ @include clearfix;
5
+ }
6
+
7
+ .g-align_left {
8
+ text-align: left !important;
9
+ }
10
+
11
+ .g-align_right {
12
+ text-align: right !important;
13
+ }
14
+
15
+ .g-align_center {
16
+ text-align: center !important;
17
+ }
18
+
19
+ .g-float_left {
20
+ float: left !important;
21
+ }
22
+
23
+ .g-float_right {
24
+ float: right !important;
25
+ }
26
+
27
+ .g-hidden, .g-hide {
28
+ display: none !important;
29
+ }
30
+
31
+ .g-uppercase {
32
+ text-transform: uppercase !important;
33
+ }
34
+
35
+ .g-spin {
36
+ -webkit-animation-name: spin;
37
+ -webkit-animation-duration: 2000ms;
38
+ -webkit-animation-iteration-count: infinite;
39
+ -webkit-animation-timing-function: linear;
40
+ -moz-animation-name: spin;
41
+ -moz-animation-duration: 2000ms;
42
+ -moz-animation-iteration-count: infinite;
43
+ -moz-animation-timing-function: linear;
44
+ -ms-animation-name: spin;
45
+ -ms-animation-duration: 2000ms;
46
+ -ms-animation-iteration-count: infinite;
47
+ -ms-animation-timing-function: linear;
48
+ -o-transition: rotate(3600deg);
49
+ }
@@ -0,0 +1,33 @@
1
+ .l-row {
2
+ @include clearfix;
3
+ overflow: hidden;
4
+ margin-left: -20px;
5
+ }
6
+
7
+ .l-col {
8
+ float: left;
9
+ overflow: hidden;
10
+ margin-left: 20px;
11
+ @include box-sizing(border-box);
12
+ }
13
+
14
+ .l-col-i {
15
+ padding: 0 10px;
16
+ }
17
+
18
+ .l-col-1 { width: 40px; }
19
+ .l-col-2 { width: 100px; }
20
+ .l-col-3 { width: 160px; }
21
+ .l-col-4 { width: 220px; }
22
+ .l-col-5 { width: 280px; }
23
+ .l-col-6 { width: 340px; }
24
+ .l-col-7 { width: 400px; }
25
+ .l-col-8 { width: 460px; }
26
+ .l-col-9 { width: 520px; }
27
+ .l-col-10 { width: 580px; }
28
+ .l-col-11 { width: 640px; }
29
+ .l-col-12 { width: 700px; }
30
+ .l-col-13 { width: 760px; }
31
+ .l-col-14 { width: 820px; }
32
+ .l-col-15 { width: 880px; }
33
+ .l-col-16 { width: 940px; }
@@ -0,0 +1,193 @@
1
+ @mixin gradient-vertical($startColor: #555, $endColor: #333) {
2
+ background-color: mix($startColor, $endColor, 60%);
3
+ background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
4
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
5
+ background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
6
+ background-image: -o-linear-gradient(top, $startColor, $endColor); // Opera 11.10
7
+ background-image: linear-gradient(to bottom, $startColor, $endColor); // Standard, IE10
8
+ background-repeat: repeat-x;
9
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down
10
+ }
11
+
12
+ @mixin gradient-horizontal($startColor: #555, $endColor: #333) {
13
+ background-color: $endColor;
14
+ background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
15
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
16
+ background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
17
+ background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
18
+ background-image: linear-gradient(to right, $startColor, $endColor); // Standard, IE10
19
+ background-repeat: repeat-x;
20
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down
21
+ }
22
+
23
+ @mixin gradient-radial($innerColor: #555, $outerColor: #333) {
24
+ background-color: $outerColor;
25
+ background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($innerColor), to($outerColor));
26
+ background-image: -webkit-radial-gradient(circle, $innerColor, $outerColor);
27
+ background-image: -moz-radial-gradient(circle, $innerColor, $outerColor);
28
+ background-image: -o-radial-gradient(circle, $innerColor, $outerColor);
29
+ background-repeat: no-repeat;
30
+ }
31
+
32
+ @mixin box-shadow($shadow...) {
33
+ -webkit-box-shadow: $shadow;
34
+ -moz-box-shadow: $shadow;
35
+ box-shadow: $shadow;
36
+ }
37
+
38
+ @mixin box-sizing($boxmodel) {
39
+ -webkit-box-sizing: $boxmodel;
40
+ -moz-box-sizing: $boxmodel;
41
+ box-sizing: $boxmodel;
42
+ }
43
+
44
+ @mixin border-radius($radius) {
45
+ -webkit-border-radius: $radius;
46
+ -moz-border-radius: $radius;
47
+ border-radius: $radius;
48
+ }
49
+
50
+ @mixin border-top-left-radius($radius) {
51
+ -webkit-border-top-left-radius: $radius;
52
+ -moz-border-radius-topleft: $radius;
53
+ border-top-left-radius: $radius;
54
+ }
55
+ @mixin border-top-right-radius($radius) {
56
+ -webkit-border-top-right-radius: $radius;
57
+ -moz-border-radius-topright: $radius;
58
+ border-top-right-radius: $radius;
59
+ }
60
+ @mixin border-bottom-right-radius($radius) {
61
+ -webkit-border-bottom-right-radius: $radius;
62
+ -moz-border-radius-bottomright: $radius;
63
+ border-bottom-right-radius: $radius;
64
+ }
65
+ @mixin border-bottom-left-radius($radius) {
66
+ -webkit-border-bottom-left-radius: $radius;
67
+ -moz-border-radius-bottomleft: $radius;
68
+ border-bottom-left-radius: $radius;
69
+ }
70
+
71
+ @mixin border-top-radius($radius) {
72
+ @include border-top-right-radius($radius);
73
+ @include border-top-left-radius($radius);
74
+ }
75
+ @mixin border-right-radius($radius) {
76
+ @include border-top-right-radius($radius);
77
+ @include border-bottom-right-radius($radius);
78
+ }
79
+ @mixin border-bottom-radius($radius) {
80
+ @include border-bottom-right-radius($radius);
81
+ @include border-bottom-left-radius($radius);
82
+ }
83
+ @mixin border-left-radius($radius) {
84
+ @include border-top-left-radius($radius);
85
+ @include border-bottom-left-radius($radius);
86
+ }
87
+
88
+ @mixin transition($transition) {
89
+ -webkit-transition: $transition;
90
+ -moz-transition: $transition;
91
+ -o-transition: $transition;
92
+ transition: $transition;
93
+ }
94
+
95
+ @mixin opacity($opacity) {
96
+ opacity: $opacity / 100;
97
+ filter: alpha(opacity=$opacity);
98
+ }
99
+
100
+ @mixin size($height, $width) {
101
+ width: $width;
102
+ height: $height;
103
+ }
104
+
105
+ @mixin square($size) {
106
+ @include size($size, $size);
107
+ }
108
+
109
+
110
+ // Transformations
111
+ @mixin rotate($degrees) {
112
+ -webkit-transform: rotate($degrees);
113
+ -moz-transform: rotate($degrees);
114
+ -ms-transform: rotate($degrees);
115
+ -o-transform: rotate($degrees);
116
+ transform: rotate($degrees);
117
+ }
118
+ @mixin scale($ratio) {
119
+ -webkit-transform: scale($ratio);
120
+ -moz-transform: scale($ratio);
121
+ -ms-transform: scale($ratio);
122
+ -o-transform: scale($ratio);
123
+ transform: scale($ratio);
124
+ }
125
+ @mixin translate($x, $y) {
126
+ -webkit-transform: translate($x, $y);
127
+ -moz-transform: translate($x, $y);
128
+ -ms-transform: translate($x, $y);
129
+ -o-transform: translate($x, $y);
130
+ transform: translate($x, $y);
131
+ }
132
+ @mixin skew($x, $y) {
133
+ -webkit-transform: skew($x, $y);
134
+ -moz-transform: skew($x, $y);
135
+ -ms-transform: skewX($x) skewY($y); // See https://github.com/twitter/bootstrap/issues/4885
136
+ -o-transform: skew($x, $y);
137
+ transform: skew($x, $y);
138
+ -webkit-backface-visibility: hidden; // See https://github.com/twitter/bootstrap/issues/5319
139
+ }
140
+ @mixin translate3d($x, $y, $z) {
141
+ -webkit-transform: translate3d($x, $y, $z);
142
+ -moz-transform: translate3d($x, $y, $z);
143
+ -o-transform: translate3d($x, $y, $z);
144
+ transform: translate3d($x, $y, $z);
145
+ }
146
+
147
+
148
+
149
+ @mixin display-inline() {
150
+ position: relative;
151
+ display: -moz-inline-stack;
152
+ display: inline-block;
153
+ overflow: hidden;
154
+ vertical-align: top;
155
+ *display: inline;
156
+ *zoom: 1;
157
+ }
158
+
159
+ @mixin display-block() {
160
+ position: relative;
161
+ display: block;
162
+ overflow: hidden;
163
+ }
164
+
165
+ @mixin clearfix(){
166
+ &:before,
167
+ &:after {
168
+ content: " ";
169
+ display: table;
170
+ }
171
+
172
+ &:after {
173
+ clear: both;
174
+ }
175
+
176
+ *zoom: 1;
177
+ }
178
+
179
+ @mixin center-block() {
180
+ @include display-block;
181
+ margin-left: auto;
182
+ margin-right: auto;
183
+ }
184
+
185
+ @mixin background-asset($asset, $options...) {
186
+ background: asset-data-url($asset) $options;
187
+ *background: asset-url($asset) $options;
188
+ }
189
+
190
+ @mixin base($width: 1000px) {
191
+ @include center-block;
192
+ width: $width;
193
+ }