alchemy_cms 3.1.0.beta1 → 3.1.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +4 -2
  4. data/README.md +9 -1
  5. data/alchemy_cms.gemspec +24 -13
  6. data/app/assets/javascripts/alchemy/alchemy.autocomplete.js.coffee +1 -1
  7. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +1 -1
  8. data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +9 -0
  9. data/app/assets/javascripts/alchemy/alchemy.js +4 -0
  10. data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +3 -2
  11. data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +2 -0
  12. data/app/assets/javascripts/alchemy/alchemy.translations.js.coffee +43 -1
  13. data/app/assets/stylesheets/alchemy/_mixins.scss +1 -2
  14. data/app/assets/stylesheets/alchemy/archive.scss +1 -1
  15. data/app/assets/stylesheets/alchemy/base.scss +18 -1
  16. data/app/assets/stylesheets/alchemy/buttons.scss +5 -0
  17. data/app/assets/stylesheets/alchemy/dialogs.scss +0 -1
  18. data/app/assets/stylesheets/alchemy/frame.scss +17 -10
  19. data/app/assets/stylesheets/alchemy/menubar.css.scss +3 -0
  20. data/app/assets/stylesheets/alchemy/tables.scss +30 -8
  21. data/app/controllers/alchemy/admin/attachments_controller.rb +9 -1
  22. data/app/controllers/alchemy/admin/essence_files_controller.rb +3 -4
  23. data/app/controllers/alchemy/pages_controller.rb +20 -2
  24. data/app/models/alchemy/content.rb +2 -1
  25. data/app/models/alchemy/element.rb +1 -1
  26. data/app/views/alchemy/admin/attachments/_files_list.html.erb +22 -18
  27. data/app/views/alchemy/admin/attachments/index.html.erb +1 -1
  28. data/app/views/alchemy/admin/languages/_table.html.erb +29 -25
  29. data/app/views/alchemy/admin/languages/index.html.erb +1 -1
  30. data/app/views/alchemy/admin/pictures/info.html.erb +3 -2
  31. data/app/views/alchemy/admin/resources/_table.html.erb +17 -13
  32. data/app/views/alchemy/admin/resources/index.html.erb +1 -1
  33. data/app/views/alchemy/admin/sites/index.html.erb +1 -1
  34. data/app/views/alchemy/admin/tags/edit.html.erb +1 -1
  35. data/app/views/alchemy/admin/tags/index.html.erb +14 -10
  36. data/app/views/alchemy/essences/_essence_file_editor.html.erb +20 -24
  37. data/app/views/alchemy/messages/contact_form_mail.es.text.erb +12 -0
  38. data/app/views/layouts/alchemy/admin.html.erb +2 -0
  39. data/bin/alchemy +58 -26
  40. data/config/locales/alchemy.en.yml +2 -1
  41. data/config/locales/alchemy.es.yml +958 -0
  42. data/config/locales/alchemy.fr.yml +1 -1
  43. data/config/locales/alchemy.ru.yml +837 -0
  44. data/config/locales/simple_form.es.yml +6 -0
  45. data/config/locales/simple_form.ru.yml +25 -0
  46. data/lib/alchemy/engine.rb +11 -0
  47. data/lib/alchemy/essence.rb +12 -1
  48. data/lib/alchemy/resources_helper.rb +3 -1
  49. data/lib/alchemy/test_support/essence_shared_examples.rb +37 -0
  50. data/lib/alchemy/test_support/factories.rb +2 -0
  51. data/lib/alchemy/version.rb +1 -1
  52. data/lib/rails/generators/alchemy/module/templates/module_config.rb.tt +4 -2
  53. data/lib/rails/generators/alchemy/scaffold/files/alchemy.es.yml +31 -0
  54. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +1 -0
  55. data/lib/rails/templates/alchemy.rb +2 -0
  56. data/lib/tasks/alchemy/install.rake +11 -7
  57. data/spec/controllers/admin/attachments_controller_spec.rb +21 -0
  58. data/spec/controllers/admin/essence_files_controller_spec.rb +13 -12
  59. data/spec/controllers/alchemy/api/contents_controller_spec.rb +4 -4
  60. data/spec/controllers/attachments_controller_spec.rb +18 -0
  61. data/spec/controllers/pages_controller_spec.rb +20 -3
  62. data/spec/dummy/db/migrate/20121026104128_create_events.rb +2 -0
  63. data/spec/dummy/db/schema.rb +5 -3
  64. data/spec/features/admin/resources_integration_spec.rb +5 -0
  65. data/spec/features/page_feature_spec.rb +20 -0
  66. data/spec/models/content_spec.rb +24 -2
  67. data/spec/models/element_spec.rb +11 -0
  68. data/spec/views/essences/essence_file_editor_spec.rb +61 -0
  69. data/vendor/assets/javascripts/jquery_plugins/jquery.floatThead.min.js +3 -0
  70. data/vendor/assets/javascripts/tinymce/langs/es.js +197 -0
  71. data/vendor/assets/javascripts/tinymce/langs/ru.js +197 -0
  72. metadata +53 -38
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8ff921fd176dd5ee1ffbbb6c23b73d3a03f6f05
4
- data.tar.gz: 09825c9d513e598cab488839e88f80ef301f2c67
3
+ metadata.gz: d3f9fd30a6baa86b0499dff4647278d18e65596e
4
+ data.tar.gz: 2391c52bfedb51e86cd9221e30af4a262734e524
5
5
  SHA512:
6
- metadata.gz: 5baf66ef54d6670f7f8f05d5a55bdfef93d7725c9084d12dd84cd430851ff261190473837555fb767fd9822326582474c71b15e088a53dbf4e96e44473a3d85d
7
- data.tar.gz: e3cfe5a46b73571a77da7296df1b1d8c978b7ab6004e6f7ce9e8b9c42e1910cd0e24cac3ab81f1edc5238e7d7a492889d9e266b3cfa47f975de6daa1a5b11e1a
6
+ metadata.gz: 9f2c4f1c5e7da9afab852f2d8a73cd1e9832e4e98ceb52b2fce51f8a67dc324499f6733b1c35749d6c386040eb36b29d7816a9156ac6f55dde55bb4cfcbb63f8
7
+ data.tar.gz: 716c636e3c9770bdc2eddc5c5f25beec76e2dd2bbbb44020997dca8a5f661b250494e29e175fd158d29d595204726d3c556778829656a28c09020a6b97aa3a50
data/.gitignore CHANGED
@@ -24,3 +24,4 @@ spec/dummy/config/locales/**/*
24
24
  /.ruby-version
25
25
  /index/
26
26
  /.bundle/
27
+ .rbenv-version
@@ -1,4 +1,6 @@
1
1
  language: ruby
2
+ sudo: false
3
+ cache: bundler
2
4
  rvm:
3
5
  - 1.9.3
4
6
  - 2.0.0
@@ -6,8 +8,8 @@ rvm:
6
8
  branches:
7
9
  only:
8
10
  - master
9
- before_script: 'rake alchemy:spec:prepare'
10
- script: rspec
11
+ before_script: 'bundle exec rake alchemy:spec:prepare'
12
+ script: 'bundle exec rspec'
11
13
  env:
12
14
  - DB=mysql
13
15
  - DB=postgresql
data/README.md CHANGED
@@ -80,6 +80,14 @@ gem 'alchemy_cms', github: 'magiclabs/alchemy_cms', branch: 'master'
80
80
 
81
81
  **NOTE:** You normally want to use a stable branch, like `3.0-stable`.
82
82
 
83
+ If you want to use Russian translation and have better i18n support, you should put:
84
+
85
+ ```ruby
86
+ gem 'russian', '~> 0.6.0'
87
+ ```
88
+
89
+ or gem with similar functionality into your Gemfile.
90
+
83
91
  #### 2. Update your bundle:
84
92
 
85
93
  ```shell
@@ -275,7 +283,7 @@ $ bundle exec rake
275
283
 
276
284
  **A note about RSpec version:**
277
285
 
278
- Alchemy specs are written **in RSpec 3**. Please **do not use depricated RSpec 2.x syntax**. Thanks
286
+ Alchemy specs are written **in RSpec 3**. Please **do not use deprecated RSpec 2.x syntax**. Thanks
279
287
 
280
288
 
281
289
  Getting Help
@@ -31,18 +31,17 @@ Gem::Specification.new do |gem|
31
31
  gem.add_runtime_dependency 'simple_form', '~> 3.0'
32
32
  gem.add_runtime_dependency 'jquery-rails', '~> 3.1.0'
33
33
  gem.add_runtime_dependency 'jquery-ui-rails', '~> 5.0.0'
34
- gem.add_runtime_dependency 'sass-rails', '>= 4.0.4'
35
- gem.add_runtime_dependency 'sass', '>= 3.2.19'
34
+ gem.add_runtime_dependency 'sass-rails', '~> 4.0.5'
36
35
  gem.add_runtime_dependency 'uglifier', '>= 1.3.0'
37
36
  gem.add_runtime_dependency 'coffee-rails', '~> 4.0.0'
38
37
  gem.add_runtime_dependency 'compass-rails', '>= 1.1.2'
39
38
  gem.add_runtime_dependency 'sassy-buttons', '~> 0.2.6'
40
- gem.add_runtime_dependency 'select2-rails', '~> 3.4'
39
+ gem.add_runtime_dependency 'select2-rails', '>= 3.5.9.1', '< 4.0'
41
40
  gem.add_runtime_dependency 'tvdeyen-handles_sortable_columns', '~> 0.1.5'
42
41
  gem.add_runtime_dependency 'spinner.rb'
43
- gem.add_runtime_dependency 'turbolinks', '~> 2.0'
42
+ gem.add_runtime_dependency 'turbolinks', '~> 2.5'
44
43
  gem.add_runtime_dependency 'non-stupid-digest-assets', '~> 1.0.3'
45
- gem.add_runtime_dependency 'active_model_serializers', '>= 0.8.1', '< 0.10.0'
44
+ gem.add_runtime_dependency 'active_model_serializers', '>= 0.8.1', '< 0.9.1'
46
45
  gem.add_runtime_dependency 'request_store', '~> 1.1.0'
47
46
 
48
47
  gem.add_development_dependency 'rspec-rails', '~> 3.0'
@@ -50,18 +49,30 @@ Gem::Specification.new do |gem|
50
49
  gem.add_development_dependency 'factory_girl_rails'
51
50
 
52
51
  gem.post_install_message =<<-MSG
53
- To complete the installation of Alchemy please run:
52
+ -------------------------------------------------------------
53
+ Thank you for installing Alchemy CMS
54
+ -------------------------------------------------------------
54
55
 
55
- $ bin/rake alchemy:install
56
+ - Create a new standalone Alchemy project:
56
57
 
57
- To upgrade former Alchemy intallations please run:
58
+ $ alchemy new my_project_name
58
59
 
59
- $ bin/rake alchemy:upgrade
60
+ - Complete the installation in an existing Rails application:
60
61
 
61
- Thanks for installing Alchemy!
62
+ $ bin/rake alchemy:install
63
+
64
+ - Complete the upgrade of an existing Alchemy installation:
65
+
66
+ $ bin/rake alchemy:upgrade
67
+
68
+ and follow the onscreen instructions.
69
+
70
+ Need help? Try:
71
+
72
+ * http://stackoverflow.com/questions/tagged/alchemy-cms
73
+ * http://groups.google.com/group/alchemy-cms
74
+ * irc://irc.freenode.net#alchemy_cms
75
+ -------------------------------------------------------------
62
76
 
63
- Need help?
64
- Try https://groups.google.com/forum/#!forum/alchemy-cms
65
- or #alchemy_cms on irc.freenode.net
66
77
  MSG
67
78
  end
@@ -26,5 +26,5 @@ Alchemy.Autocomplete =
26
26
  _initializeSelection: (element, callback) ->
27
27
  data = []
28
28
  $(element.val().split(",")).each ->
29
- data.push id: this, text: this
29
+ data.push id: $.trim(this), text: this
30
30
  callback(data)
@@ -47,7 +47,7 @@ Alchemy.ElementEditors =
47
47
  self.scrollToElement this
48
48
  self.selectElementInPreview id
49
49
 
50
- # Selcts and scrolls to element with given id in the preview window.
50
+ # Selects and scrolls to element with given id in the preview window.
51
51
  #
52
52
  selectElementInPreview: (id) ->
53
53
  $frame_elements = document.getElementById("alchemy_preview_window").contentWindow.jQuery("[data-alchemy-element]")
@@ -43,6 +43,15 @@ Alchemy.Initializer = ->
43
43
  tagName = (event.target || event.srcElement).tagName
44
44
  key.isPressed('esc') || !(tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA')
45
45
 
46
+ # Sticky table headers
47
+ $('table.list').floatThead
48
+ useAbsolutePositioning: false,
49
+ scrollingTop: 122,
50
+ zIndex: 1
51
+
52
+ # Enabling the Turbolinks Progress Bar
53
+ Turbolinks.enableProgressBar()
54
+
46
55
  # Turbolinks DOM Ready
47
56
  $(document).on 'page:change', ->
48
57
  Alchemy.Initializer()
@@ -16,6 +16,10 @@
16
16
  //= require requestAnimationFrame
17
17
  //= require select2
18
18
  //= require select2_locale_de
19
+ //= require select2_locale_es
20
+ //= require select2_locale_fr
21
+ //= require select2_locale_nl
22
+ //= require select2_locale_ru
19
23
  //= require alchemy/alchemy.base
20
24
  //= require alchemy/alchemy.autocomplete
21
25
  //= require alchemy/alchemy.browser
@@ -63,12 +63,13 @@ Alchemy.initAlchemyPreviewMode = ($) ->
63
63
  $el = $(e.delegateTarget)
64
64
  $elements = @$previewElements
65
65
  offset = @scrollOffset
66
+ el_offset = $el.offset()
66
67
  e.preventDefault()
67
68
  $elements.removeClass("selected").css(@getStyle("reset"))
68
69
  $el.addClass("selected").css(@getStyle("selected"))
69
70
  $("html, body").animate
70
- scrollTop: $el.offset().top - offset
71
- scrollLeft: $el.offset().left - offset
71
+ scrollTop: el_offset.top - offset
72
+ scrollLeft: el_offset.left - offset
72
73
  , 400
73
74
  return
74
75
 
@@ -29,6 +29,8 @@ Alchemy.PreviewWindow =
29
29
  refresh: (callback) ->
30
30
  $iframe = $('#alchemy_preview_window')
31
31
  @_showSpinner()
32
+ # We need to be sure that no load event is binded on the preview frame.
33
+ $iframe.off('load')
32
34
  $iframe.load (e) =>
33
35
  @_hideSpinner()
34
36
  if callback
@@ -87,4 +87,46 @@ Alchemy.translations =
87
87
  'File is too small': 'Le fichier est trop petit.'
88
88
  'File type not allowed': 'Type de document non autorisé.'
89
89
  'Maximum number of files exceeded': 'Le nombre maximum de fichiers est atteint.'
90
- 'Uploaded bytes exceed file size': 'Taille de fichier maximale autorisée atteint.'
90
+ 'Uploaded bytes exceed file size': 'Taille de fichier maximale autorisée atteint.'
91
+
92
+ # Russian
93
+ ru:
94
+ allowed_chars: '%{count} знаков'
95
+ cancel: 'Отмена'
96
+ cancelled: 'Отменено'
97
+ click_to_edit: 'нажмите, чтобы редактировать'
98
+ complete: 'Завершено'
99
+ element_dirty_notice: 'Для этого элемента есть несохраненные изменения. Вы действительно хотите их сбросить?'
100
+ help: 'Помощь'
101
+ ok: 'Ок'
102
+ page_dirty_notice: 'На странице есть несохраненные изменения. Если вы продолжите, то они пропадут.'
103
+ page_found: 'Страница найдена'
104
+ pages_found: 'Страницы найдены'
105
+ url_validation_failed: 'Адрес (URL) имеет неверный формат.'
106
+ warning: 'Внимание!'
107
+ 'File is too large': 'Файл слишком большой'
108
+ 'File is too small': 'Файл слишком маленький'
109
+ 'File type not allowed': 'Этот тип файла не разрешен'
110
+ 'Maximum number of files exceeded': 'Исчерпано максимальное количество файлов.'
111
+ 'Uploaded bytes exceed file size': 'Превышен максимальный размер файла'
112
+
113
+ # Spanish
114
+ es:
115
+ allowed_chars: 'de %{count} caracteres'
116
+ cancel: 'Cancelar'
117
+ cancelled: 'Cancelado'
118
+ click_to_edit: 'Pulsar para editar'
119
+ complete: 'Completado'
120
+ element_dirty_notice: 'Este elemento tiene cambios sin guardar. ¿Realmente quieres plegarlo?'
121
+ help: 'Ayuda'
122
+ ok: 'Aceptar'
123
+ page_dirty_notice: 'Tienes cambios sin guardar en esta página. Si continúas se perderán.'
124
+ page_found: 'Página encontrada'
125
+ pages_found: 'Páginas encontradas'
126
+ url_validation_failed: 'La url no tiene un formato válido.'
127
+ warning: '¡Atención!'
128
+ 'File is too large': 'El archivo es demasiado grande'
129
+ 'File is too small': 'El archivo es demasiado pequeño'
130
+ 'File type not allowed': 'El tipo de archivo no está permitido'
131
+ 'Maximum number of files exceeded': 'Número máximo de archivos excedido.'
132
+ 'Uploaded bytes exceed file size': 'Los bytes subidos exceden el tamaño del archivo'
@@ -1,8 +1,7 @@
1
1
  @mixin default-focus-style {
2
2
  border-color: $blue;
3
- @include box-shadow(0 0 2px 2px $blue);
3
+ @include box-shadow(0 0 1px 2px $blue);
4
4
  outline: none;
5
- @include transition(all 0.25s ease-in-out);
6
5
 
7
6
  &::-moz-focus-inner {
8
7
  border: none !important;
@@ -216,7 +216,7 @@ div#library_sidebar {
216
216
  padding-top: 96px;
217
217
  padding: 84px 4*$default-padding 0 4*$default-padding;
218
218
  height: 100%;
219
- z-index: 0;
219
+ z-index: 3;
220
220
  background-color: $light-gray;
221
221
 
222
222
  h2 {
@@ -1,5 +1,11 @@
1
1
  html {
2
2
  height: 100%;
3
+
4
+ &.turbolinks-progress-bar::before {
5
+ background-color: $blue !important;
6
+ height: 3px !important;
7
+ z-index: 400001;
8
+ }
3
9
  }
4
10
 
5
11
  noscript {
@@ -37,10 +43,21 @@ body {
37
43
  }
38
44
 
39
45
  h1 {
40
- margin: 8px;
41
46
  padding: 0;
47
+ margin: 8px;
42
48
  font-weight: bold;
43
49
  font-size: $default-font-size;
50
+
51
+ &.resources-header {
52
+ position: fixed;
53
+ width: 100%;
54
+ top: 75px;
55
+ left: 74px;
56
+ z-index: 2;
57
+ margin: 0 -8px;
58
+ padding: 16px;
59
+ background-color: $light-gray;
60
+ }
44
61
  }
45
62
 
46
63
  h2 {
@@ -196,6 +196,11 @@ button.icon_button {
196
196
  border: $default-border;
197
197
  padding: 2px;
198
198
  @extend %rounded-border;
199
+
200
+ &:focus {
201
+ border: 0;
202
+ padding: 3px;
203
+ }
199
204
  }
200
205
 
201
206
  .select2-container {
@@ -48,7 +48,6 @@
48
48
  .alchemy-dialog {
49
49
  position: relative;
50
50
  max-width: 100%;
51
- max-height: 100%;
52
51
  display: inline-block;
53
52
  vertical-align: middle;
54
53
  text-align: left;
@@ -122,12 +122,12 @@ div#overlay_text_box {
122
122
  left: 0;
123
123
  text-align: center;
124
124
  width: 65px;
125
- padding-top: 4px;
126
- padding-bottom: 8px;
127
125
  background: $light-blue;
128
126
 
129
127
  a {
130
128
  display: block;
129
+ padding-top: 4px;
130
+ padding-bottom: 8px;
131
131
 
132
132
  &:hover {
133
133
  text-decoration: none;
@@ -142,7 +142,7 @@ div#overlay_text_box {
142
142
  #main_content {
143
143
  @include box-sizing(border-box);
144
144
  background-color: $light-gray;
145
- padding: 73px 8px 8px 74px;
145
+ padding: 75px 8px 8px 74px;
146
146
  z-index: 0;
147
147
  width: 100%;
148
148
  height: 100%;
@@ -154,6 +154,10 @@ div#overlay_text_box {
154
154
  &.with_tag_filter {
155
155
  padding-right: 230px;
156
156
  }
157
+
158
+ &.resources-table-wrapper {
159
+ padding-top: 47px;
160
+ }
157
161
  }
158
162
 
159
163
  div#user_info {
@@ -197,20 +201,22 @@ div#user_info {
197
201
  text-shadow: 0px 1px 1px #FFFFFF;
198
202
  @extend .disable-user-select;
199
203
  cursor: default;
200
- line-height: 22px;
204
+ line-height: 27px;
201
205
  float: left;
202
206
  @extend .top-rounded-border;
203
207
  border: $default-border;
204
208
  border-bottom-style: none;
205
209
  height: 24px;
206
210
  margin-right: 1px;
211
+
212
+ .page_name {
213
+ position: relative;
214
+ bottom: 2px;
215
+ }
207
216
  }
208
217
 
209
218
  .page_name {
210
- position: relative;
211
219
  margin-right: $default-margin;
212
- line-height: 27px;
213
- bottom: 2px;
214
220
  }
215
221
 
216
222
  .page_language {
@@ -228,7 +234,6 @@ div#user_info {
228
234
 
229
235
  .subnavi_tab {
230
236
  float: left;
231
- padding: 0px 8px;
232
237
  line-height: 21px;
233
238
  height: 23px;
234
239
  text-shadow: #fff 0 0px 4px;
@@ -257,9 +262,7 @@ div#user_info {
257
262
  }
258
263
 
259
264
  &.active {
260
- float: left;
261
265
  position: relative;
262
- padding: 0px 8px;
263
266
  height: 24px;
264
267
  color: $text-color;
265
268
  background-color: $medium-gray;
@@ -268,6 +271,10 @@ div#user_info {
268
271
  cursor: default;
269
272
  z-index: 10;
270
273
  }
274
+
275
+ > a {
276
+ padding: 0px 8px;
277
+ }
271
278
  }
272
279
  }
273
280
 
@@ -70,8 +70,11 @@
70
70
  line-height: 14px;
71
71
  font-weight: normal;
72
72
  text-decoration: none !important;
73
+ text-transform: none;
73
74
  color: $text-color !important;
74
75
  font-family: $default-font-face;
76
+
77
+ &:after { display: none }
75
78
  }
76
79
  }
77
80
  }
@@ -21,36 +21,58 @@ table {
21
21
  border-left: 1px solid $medium-gray
22
22
  }
23
23
 
24
+ .list th {
25
+ position: relative;
26
+
27
+ &.icon {
28
+ border-bottom: 1px solid $medium-gray;
29
+ }
30
+ }
31
+
32
+ .floatThead-container {
33
+ background: $light-gray;
34
+ overflow: visible !important; // the javascript author thought that, but ....
35
+
36
+ &:after {
37
+ position: absolute;
38
+ bottom: -4px;
39
+ left: 0;
40
+ width: 100%;
41
+ height: 4px;
42
+ @include background(linear-gradient(top, $light-gray 0%, rgba($light-gray, .0) 100%));
43
+ content: '';
44
+ }
45
+ }
46
+
24
47
  th {
25
48
  white-space: nowrap;
26
49
  text-align: left;
27
50
  vertical-align: top;
28
- @include background(linear-gradient(top, lighten($light-gray, 10) 0%, $light-gray 30%, $light-gray 90%, darken($light-gray, 10) 100%));
29
- border-top: 1px solid $medium-gray;
30
- color: #666;
51
+ background: $light-gray;
52
+ border-bottom: 1px solid $medium-gray;
31
53
  font-weight: normal;
54
+ text-transform: uppercase;
32
55
 
33
56
  i {
34
57
  font-style: normal;
35
58
  position: absolute;
36
59
  right: 2px;
37
60
  top: 4px;
38
- color: #999;
39
- @include text-shadow(1px 1px 0px #fff);
61
+ @include text-shadow(1px 1px 1px #fff);
40
62
  }
41
63
 
42
64
  a {
43
- @include text-shadow(1px 1px 0px #fff);
44
65
 
45
66
  &.sortable {
46
67
  display: block;
47
68
  margin: -4px -8px;
48
69
  padding: 4px 18px 4px 8px;
70
+ @include text-shadow(1px 1px 1px #fff);
49
71
  }
50
72
 
51
73
  &.sorted {
52
74
  position: relative;
53
- @include background(linear-gradient(top, lighten($light-gray, 10) 0%, $very-light-blue 50%, $light-gray 90%, darken($light-gray, 10) 100%));
75
+ background: $medium-gray;
54
76
  }
55
77
  }
56
78
  }
@@ -91,7 +113,7 @@ td.heading {
91
113
  .list td.icon, .list th.icon {
92
114
  background-color: $light-gray;
93
115
  background-image: none;
94
- border: 0 none;
116
+ border-left: 0 none;
95
117
  padding: 0;
96
118
  border-right: 1px solid $medium-gray;
97
119
  text-align: center;