constructor-core 0.9.1 → 1.0.0beta1

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 (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
+ }