alchemy_cms 2.6.0.rc5 → 2.6.0

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 (86) hide show
  1. data/.travis.yml +1 -1
  2. data/Gemfile +2 -1
  3. data/README.md +2 -4
  4. data/alchemy_cms.gemspec +1 -1
  5. data/app/assets/fonts/alchemy/icons.eot +0 -0
  6. data/app/assets/fonts/alchemy/icons.svg +71 -0
  7. data/app/assets/fonts/alchemy/icons.ttf +0 -0
  8. data/app/assets/fonts/alchemy/icons.woff +0 -0
  9. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +6 -8
  10. data/app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee +2 -3
  11. data/app/assets/javascripts/alchemy/alchemy.image_cropper.js.coffee +3 -8
  12. data/app/assets/javascripts/alchemy/alchemy.link_overlay.js.coffee +3 -3
  13. data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +19 -9
  14. data/app/assets/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js +6 -7
  15. data/app/assets/stylesheets/alchemy/admin.css.scss +0 -1
  16. data/app/assets/stylesheets/alchemy/archive.scss +55 -7
  17. data/app/assets/stylesheets/alchemy/base.scss +8 -144
  18. data/app/assets/stylesheets/alchemy/defaults.scss +1 -1
  19. data/app/assets/stylesheets/alchemy/elements.scss +20 -16
  20. data/app/assets/stylesheets/alchemy/flash.scss +1 -1
  21. data/app/assets/stylesheets/alchemy/form_elements.scss +49 -42
  22. data/app/assets/stylesheets/alchemy/icon-font.css.scss +67 -0
  23. data/app/assets/stylesheets/alchemy/icons.scss +16 -4
  24. data/app/assets/stylesheets/alchemy/jquery-ui.scss +40 -26
  25. data/app/assets/stylesheets/alchemy/menubar.css.scss +1 -1
  26. data/app/assets/stylesheets/alchemy/notices.scss +6 -1
  27. data/app/assets/stylesheets/alchemy/search.scss +3 -2
  28. data/app/assets/stylesheets/alchemy/sitemap.scss +72 -13
  29. data/app/assets/stylesheets/alchemy/tables.scss +31 -24
  30. data/app/assets/stylesheets/alchemy/upload.scss +1 -1
  31. data/app/assets/stylesheets/alchemy/variables.scss +2 -1
  32. data/app/assets/stylesheets/tiny_mce/plugins/inlinepopups/skins/{alchemy → alchemy-tinymce-dialog}/window.css.scss +70 -65
  33. data/app/controllers/alchemy/admin/base_controller.rb +7 -4
  34. data/app/controllers/alchemy/admin/pictures_controller.rb +2 -0
  35. data/app/controllers/alchemy/admin/users_controller.rb +1 -1
  36. data/app/controllers/alchemy/user_sessions_controller.rb +1 -1
  37. data/app/helpers/alchemy/admin/base_helper.rb +161 -60
  38. data/app/helpers/alchemy/admin/pages_helper.rb +4 -1
  39. data/app/helpers/alchemy/elements_block_helper.rb +1 -1
  40. data/app/helpers/alchemy/elements_helper.rb +119 -31
  41. data/app/helpers/alchemy/pages_helper.rb +29 -72
  42. data/app/models/alchemy/attachment.rb +0 -2
  43. data/app/models/alchemy/content.rb +1 -1
  44. data/app/models/alchemy/language.rb +1 -0
  45. data/app/models/alchemy/page.rb +8 -8
  46. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +3 -1
  47. data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +1 -1
  48. data/app/views/alchemy/admin/attachments/_tag_list.html.erb +25 -27
  49. data/app/views/alchemy/admin/attachments/index.html.erb +4 -1
  50. data/app/views/alchemy/admin/elements/_elements_select.html.erb +6 -6
  51. data/app/views/alchemy/admin/elements/list.js.erb +1 -1
  52. data/app/views/alchemy/admin/pages/_page.html.erb +1 -1
  53. data/app/views/alchemy/admin/pages/_page_for_links.html.erb +1 -1
  54. data/app/views/alchemy/admin/pages/edit.html.erb +4 -2
  55. data/app/views/alchemy/admin/pictures/_archive.html.erb +0 -1
  56. data/app/views/alchemy/admin/pictures/_filter_bar.html.erb +2 -1
  57. data/app/views/alchemy/admin/pictures/_picture.html.erb +5 -0
  58. data/app/views/alchemy/admin/pictures/index.html.erb +1 -0
  59. data/app/views/alchemy/base/500.html.erb +26 -5
  60. data/app/views/alchemy/essences/_essence_picture_tools.html.erb +1 -1
  61. data/app/views/alchemy/essences/_linkable_essence_tools.html.erb +1 -1
  62. data/app/views/alchemy/language_links/_language.html.erb +12 -0
  63. data/app/views/alchemy/language_links/_spacer.html.erb +1 -0
  64. data/config/locales/alchemy.de.yml +7 -3
  65. data/config/locales/alchemy.en.yml +8 -3
  66. data/lib/alchemy/page_layout.rb +1 -1
  67. data/lib/alchemy/tinymce.rb +1 -1
  68. data/lib/alchemy/upgrader.rb +26 -0
  69. data/lib/alchemy/version.rb +1 -1
  70. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +4 -1
  71. data/lib/tasks/ferret.rake +1 -0
  72. data/spec/controllers/admin/users_controller_spec.rb +5 -5
  73. data/spec/features/admin/pages_controller_spec.rb +1 -1
  74. data/spec/helpers/admin/pages_helper_spec.rb +31 -0
  75. data/spec/helpers/pages_helper_spec.rb +60 -72
  76. data/spec/models/content_spec.rb +2 -1
  77. data/spec/models/page_layout_spec.rb +29 -0
  78. data/spec/models/page_spec.rb +33 -1
  79. data/spec/support/alchemy/test_tweaks.rb +2 -6
  80. metadata +34 -12
  81. data/app/assets/fonts/alchemy-icons.eot +0 -0
  82. data/app/assets/fonts/alchemy-icons.svg +0 -54
  83. data/app/assets/fonts/alchemy-icons.ttf +0 -0
  84. data/app/assets/fonts/alchemy-icons.woff +0 -0
  85. data/app/assets/images/alchemy/placeholder.png +0 -0
  86. data/app/assets/stylesheets/alchemy/fonts.scss +0 -46
@@ -4,7 +4,7 @@ rvm:
4
4
  - 2.0.0
5
5
  branches:
6
6
  only:
7
- - master
7
+ - 2.6-stable
8
8
  script: rake
9
9
  env:
10
10
  - DB=mysql
data/Gemfile CHANGED
@@ -14,6 +14,8 @@ group :test do
14
14
  gem 'mysql2' if ENV['DB'] == 'mysql'
15
15
  gem 'pg' if ENV['DB'] == 'postgresql'
16
16
  gem 'poltergeist', '1.1.0'
17
+ gem 'faye-websocket', '0.4.7' # https://github.com/jonleighton/poltergeist/issues/320
18
+ gem 'connection_pool' # https://gist.github.com/mperham/3049152
17
19
  unless ENV['CI']
18
20
  gem 'launchy'
19
21
  end
@@ -32,5 +34,4 @@ group :development do
32
34
  gem 'quiet_assets' # Mute assets loggin
33
35
  gem 'thin' # Get rid off 'Could not determine content-length of response body' Warning. Start with 'rails s thin'
34
36
  end
35
- gem 'rspec-rails', github: 'rspec/rspec-rails', branch: '2-13-maintenance'
36
37
  end
data/README.md CHANGED
@@ -1,11 +1,9 @@
1
1
  ![Alchemy CMS](http://alchemy-cms.com/assets/alchemy_logo.png)
2
2
 
3
- [![Build Status](https://secure.travis-ci.org/magiclabs/alchemy_cms.png?branch=master)](http://travis-ci.org/magiclabs/alchemy_cms) [![Dependency Status](https://gemnasium.com/magiclabs/alchemy_cms.png)](https://gemnasium.com/magiclabs/alchemy_cms) [![Code Climate](https://codeclimate.com/github/magiclabs/alchemy_cms.png)](https://codeclimate.com/github/magiclabs/alchemy_cms) [![Coverage Status](https://coveralls.io/repos/magiclabs/alchemy_cms/badge.png?branch=master)](https://coveralls.io/r/magiclabs/alchemy_cms)
3
+ [![Build Status](https://secure.travis-ci.org/magiclabs/alchemy_cms.png?branch=2.6-stable)](http://travis-ci.org/magiclabs/alchemy_cms) [![Dependency Status](https://gemnasium.com/magiclabs/alchemy_cms.png)](https://gemnasium.com/magiclabs/alchemy_cms) [![Code Climate](https://codeclimate.com/github/magiclabs/alchemy_cms.png)](https://codeclimate.com/github/magiclabs/alchemy_cms) [![Coverage Status](https://coveralls.io/repos/magiclabs/alchemy_cms/badge.png?branch=2.6-stable)](https://coveralls.io/r/magiclabs/alchemy_cms)
4
4
 
5
5
  About
6
6
  -----
7
- **This branch is a beta development branch. For productive environments use the current rubygems version, or the [latest stable branch (2.5-stable)](https://github.com/magiclabs/alchemy_cms/tree/2.5-stable).**
8
-
9
7
  Alchemy is a powerful, userfriendly and flexible Rails 3 CMS.
10
8
 
11
9
  Read more on the [website](http://alchemy-cms.com) and in the [guidelines](http://guides.alchemy-cms.com).
@@ -68,7 +66,7 @@ Add to existing Rails project
68
66
 
69
67
  In your Gemfile:
70
68
 
71
- gem 'alchemy_cms', github: 'magiclabs/alchemy_cms', branch: 'master'
69
+ gem 'alchemy_cms', github: 'magiclabs/alchemy_cms', branch: '2.6-stable'
72
70
 
73
71
  Run in terminal:
74
72
 
@@ -56,7 +56,7 @@ POST_INSTALL
56
56
  s.add_development_dependency %q<bumpy>
57
57
  s.add_development_dependency %q<capybara>, ['~> 2.0.3']
58
58
  s.add_development_dependency %q<factory_girl_rails>
59
- #s.add_development_dependency %q<rspec-rails>, ['~> 2.13.0']
59
+ s.add_development_dependency %q<rspec-rails>, ['~> 2.13.1']
60
60
  s.add_development_dependency %q<sqlite3>
61
61
  s.add_development_dependency %q<yard>
62
62
  s.add_development_dependency %q<redcarpet>
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>
5
+ This is a custom SVG font generated by IcoMoon.
6
+ <iconset grid="20"></iconset>
7
+ </metadata>
8
+ <defs>
9
+ <font id="Alchemy-Icons" horiz-adv-x="640" >
10
+ <font-face units-per-em="640" ascent="608" descent="-32" />
11
+ <missing-glyph horiz-adv-x="640" />
12
+ <glyph unicode="&#xe000;" d="M 512.00,544.00L 128.00,544.00 C 92.80,544.00, 64.00,515.20, 64.00,480.00l0.00-384.00 c0.00-35.20, 28.80-64.00, 64.00-64.00l 384.00,0.00 c 35.20,0.00, 64.00,28.80, 64.00,64.00L 576.00,480.00 C 576.00,515.20, 547.20,544.00, 512.00,544.00z M 480.00,256.00l-128.00,0.00 l0.00-128.00 L 288.00,128.00 l0.00,128.00 L 160.00,256.00 L 160.00,320.00 l 128.00,0.00 L 288.00,448.00 l 64.00,0.00 l0.00-128.00 l 128.00,0.00 L 480.00,256.00 z" />
13
+ <glyph unicode="&#xe001;" d="M 512.00,544.00L 128.00,544.00 C 92.80,544.00, 64.00,515.20, 64.00,480.00l0.00-384.00 c0.00-35.20, 28.80-64.00, 64.00-64.00l 384.00,0.00 c 35.20,0.00, 64.00,28.80, 64.00,64.00L 576.00,480.00 C 576.00,515.20, 547.20,544.00, 512.00,544.00z M 480.00,256.00L 160.00,256.00 L 160.00,320.00 l 320.00,0.00 L 480.00,256.00 z" />
14
+ <glyph unicode="&#xe004;" d="M 459.168,187.136L 370.912,288.00l 88.256,100.864c 15.008,15.008, 15.008,39.328,0.00,54.304c-15.008,14.976-39.328,14.976-54.304,0.00L 320.00,346.176
15
+ l-84.832,96.96c-15.008,15.008-39.328,15.008-54.304,0.00c-14.976-15.008-14.976-39.328,0.00-54.304L 269.088,288.00l-88.256-100.864
16
+ c-14.976-15.008-14.976-39.264,0.00-54.24c 15.008-15.008, 39.328-15.008, 54.304,0.00L 320.00,229.824l 84.832-96.928c 15.008-15.008, 39.328-15.008, 54.304,0.00
17
+ S 474.144,172.128, 459.168,187.136z" />
18
+ <glyph unicode="&#xe005;" d="M 486.368,320.00l-134.40,0.00 L 351.968,454.40 c0.00,17.664-14.304,19.20-32.00,19.20c-17.664,0.00-32.00-1.504-32.00-19.20L 287.968,320.00 L 153.60,320.00 c-17.696,0.00-19.20-14.336-19.20-32.00s 1.504-32.00, 19.20-32.00l 134.368,0.00
19
+ l0.00-134.40 c0.00-17.664, 14.336-19.20, 32.00-19.20c 17.696,0.00, 32.00,1.536, 32.00,19.20L 351.968,256.00 l 134.40,0.00 c 17.696,0.00, 19.232,14.336, 19.232,32.00S 504.064,320.00, 486.368,320.00z" />
20
+ <glyph unicode="&#xe006;" d="M 486.368,320.00L 153.60,320.00 c-17.696,0.00-19.20-14.336-19.20-32.00s 1.504-32.00, 19.20-32.00l 332.768,0.00 c 17.696,0.00, 19.232,14.336, 19.232,32.00S 504.064,320.00, 486.368,320.00z" />
21
+ <glyph unicode="&#xe007;" d="M 529.952,497.984c-46.144,46.176-80.80,39.264-80.80,39.264L 287.456,375.552L 102.72,190.816L 70.40,38.40l 152.416,32.32l 184.736,184.736l 161.664,161.664
22
+ C 569.216,417.12, 576.16,451.776, 529.952,497.984z M 213.728,89.056l-51.936-11.20c-5.024,9.376-11.072,18.752-22.112,29.824
23
+ c-11.04,11.04-20.448,17.056-29.824,22.08l 11.232,51.968l 15.008,15.008c0.00,0.00, 28.288-0.576, 60.192-32.48c 31.936-31.936, 32.512-60.224, 32.512-60.224
24
+ L 213.728,89.056z" />
25
+ <glyph unicode="&#xe034;" d="M 96.747,279.653L 345.147,528.00L 558.48,528.00 l0.00-213.333 l -248.40-248.373c -16.747-16.747, -43.893-16.747, -60.64,0.00l -152.693,152.72
26
+ C 80.00,235.733, 80.00,262.88, 96.747,279.653z M 438.48,354.667c 29.467,0.00 53.333,23.867 53.333,53.333s -23.867,53.333, -53.333,53.333c -29.467,0.08, -53.333-23.867, -53.333-53.333S 409.067,354.667, 438.48,354.667
27
+ z" />
28
+ <glyph unicode="&#xe008;" d="M 316.064,582.368c-162.56-2.176-292.608-135.744-290.432-298.336c 2.176-162.496, 135.744-292.576, 298.304-290.40
29
+ c 162.56,2.176, 292.608,135.744, 290.432,298.336C 612.224,454.496, 478.624,584.544, 316.064,582.368z M 348.704,484.256c 29.92,0.00, 38.752-17.344, 38.752-37.216
30
+ c0.00-24.80-19.872-47.744-53.76-47.744c-28.352,0.00-41.824,14.272-41.024,37.824C 292.672,456.992, 309.312,484.256, 348.704,484.256z M 271.968,104.00
31
+ c-20.448,0.00-35.424,12.416-21.12,67.008l 23.456,96.768c 4.064,15.52, 4.736,21.728,0.00,21.728c-6.112,0.00-32.672-10.72-48.384-21.28l-10.208,16.736
32
+ c 49.76,41.536, 106.976,65.92, 131.488,65.92c 20.448,0.00, 23.84-24.192, 13.632-61.408l-26.88-101.76c-4.736-17.984-2.688-24.192, 2.048-24.192
33
+ c 6.112,0.00, 26.24,7.424, 46.016,22.976l 11.552-15.52C 345.216,122.624, 292.448,104.00, 271.968,104.00z" />
34
+ <glyph unicode="&#xe009;" d="M 624.384,32.576L 339.328,532.768C 335.392,539.68, 328.00,543.936, 320.00,543.936c-8.00,0.00-15.36-4.256-19.328-11.168L 15.648,32.576
35
+ c-3.872-6.784-3.808-15.072, 0.16-21.792s 11.264-10.848, 19.136-10.848l 570.08,0.00 c 7.808,0.00, 15.136,4.128, 19.136,10.848
36
+ C 628.128,17.504, 628.192,25.792, 624.384,32.576z M 355.20,63.936L 284.80,63.936 l0.00,64.00 l 70.40,0.00 L 355.20,63.936 z M 355.20,175.936L 284.80,175.936 l0.00,192.00 l 70.40,0.00 L 355.20,175.936 z" />
37
+ <glyph unicode="&#xe00a;" d="M 265.44,64.00c-13.92,0.00-27.104,6.496-35.552,17.696L 115.52,232.672c-14.88,19.648-11.008,47.616, 8.64,62.496
38
+ c 19.68,14.912, 47.616,11.008, 62.496-8.64l 75.232-99.328l 189.184,303.712c 13.024,20.896, 40.544,27.296, 61.472,14.272
39
+ c 20.896-12.992, 27.296-40.544, 14.24-61.44L 303.328,85.024c-7.776-12.512-21.184-20.352-35.872-20.992C 266.784,64.00, 266.112,64.00, 265.44,64.00z" />
40
+ <glyph unicode="&#xe00b;" d="M 359.232,550.40c-142.24,0.00-257.92-113.984-261.408-255.84L 19.20,294.56 l 117.728-131.20l 117.696,131.20L 163.232,294.56 C 166.688,400.192, 253.088,484.80, 359.232,484.80
41
+ c 108.384,0.00, 196.192-88.096, 196.192-196.80s-87.808-196.80-196.192-196.80c-43.424,0.00-83.552,14.208-116.064,38.176l-44.992-48.128
42
+ C 242.56,46.40, 298.464,25.60, 359.232,25.60c 144.48,0.00, 261.60,117.472, 261.60,262.40C 620.80,432.928, 503.68,550.40, 359.232,550.40z" />
43
+ <glyph unicode="&#xf014;" d="M 182.857,345.143l0.00-205.714 q0.00-5.00 -3.214-8.214t-8.214-3.214l-22.857,0.00 q-5.00,0.00 -8.214,3.214t-3.214,8.214l0.00,205.714 q0.00,5.00 3.214,8.214t 8.214,3.214l 22.857,0.00 q 5.00,0.00 8.214-3.214t 3.214-8.214zM 274.286,345.143l0.00-205.714 q0.00-5.00 -3.214-8.214t-8.214-3.214l-22.857,0.00 q-5.00,0.00 -8.214,3.214t-3.214,8.214l0.00,205.714 q0.00,5.00 3.214,8.214t 8.214,3.214l 22.857,0.00 q 5.00,0.00 8.214-3.214t 3.214-8.214zM 365.714,345.143l0.00-205.714 q0.00-5.00 -3.214-8.214t-8.214-3.214l-22.857,0.00 q-5.00,0.00 -8.214,3.214t-3.214,8.214l0.00,205.714 q0.00,5.00 3.214,8.214t 8.214,3.214l 22.857,0.00 q 5.00,0.00 8.214-3.214t 3.214-8.214zM 411.429,86.571l0.00,338.571 l-320.00,0.00 l0.00-338.571 q0.00-7.857 2.50-14.464t 5.179-9.643t 3.75-3.036l 297.143,0.00 q 1.071,0.00 3.75,3.036t 5.179,9.643t 2.50,14.464zM 171.429,470.857l 160.00,0.00 l-17.143,41.786q-2.50,3.214 -6.071,3.929l-113.214,0.00 q-3.571-0.714 -6.071-3.929zM 502.857,459.429l0.00-22.857 q0.00-5.00 -3.214-8.214t-8.214-3.214l-34.286,0.00 l0.00-338.571 q0.00-29.643 -16.786-51.25t-40.357-21.607l-297.143,0.00 q-23.571,0.00 -40.357,20.893t-16.786,50.536l0.00,340.00 l-34.286,0.00 q-5.00,0.00 -8.214,3.214t-3.214,8.214l0.00,22.857 q0.00,5.00 3.214,8.214t 8.214,3.214l 110.357,0.00 l 25.00,59.643q 5.357,13.214 19.286,22.50t 28.214,9.286l 114.286,0.00 q 14.286,0.00 28.214-9.286t 19.286-22.50l 25.00-59.643l 110.357,0.00 q 5.00,0.00 8.214-3.214t 3.214-8.214z" horiz-adv-x="502.8571428571429" />
44
+ <glyph unicode="&#xe00e;" d="M 320.00,556.80c-148.48,0.00-268.80-120.384-268.80-268.80c0.00-148.48, 120.352-268.80, 268.80-268.80c 148.448,0.00, 268.80,120.352, 268.80,268.80C 588.80,436.448, 468.448,556.80, 320.00,556.80z
45
+ M 375.328,288.00l 97.952-97.952l-55.328-55.328L 320.00,232.672l-97.952-97.952l-55.296,55.328L 264.672,288.00l-97.92,97.92l 55.296,55.328L 320.00,343.328l 97.952,97.92
46
+ l 55.328-55.296L 375.328,288.00z" />
47
+ <glyph unicode="&#xe00f;" d="M 548.00,378.464l-65.472,180.352c-4.832,13.312-19.04,20.352-31.648,15.744L 15.776,415.744C 3.136,411.168-3.232,396.64, 1.60,383.328
48
+ l 69.024-190.144L 70.624,295.104 c0.00,45.984, 36.736,83.36, 81.952,83.36l 114.976,0.00 l 137.12,96.256l 79.36-96.256L 548.00,378.464 z M 615.616,320.736L 152.576,320.736
49
+ c-13.44,0.00-24.384-11.488-24.384-25.664l0.00-301.472 c0.00-14.144, 10.912-25.664, 24.384-25.664l 463.04,0.00 c 13.472,0.00, 24.384,11.488, 24.384,25.664L 640.00,295.104
50
+ C 640.00,309.248, 629.088,320.736, 615.616,320.736z M 580.288,32.096L 196.448,32.096 l0.00,55.008 l 59.04,137.44l 88.608-109.984l 83.104,85.184l 106.848,38.56l 46.24-103.104
51
+ L 580.288,32.096 z" />
52
+ <glyph unicode="&#xe010;" d="M 320.00,608.00L 172.80,374.40l 294.368,0.00L 320.00,608.00z M 320.032-32.00l 147.168,233.60L 172.80,201.632L 320.032-32.00z" />
53
+ <glyph unicode="&#xe011;" d="M 402.66,608.00C 271.88,608.00, 165.46,501.60, 165.46,370.74c0.00-31.32, 6.40-61.02, 17.42-88.36L0.00,99.48L 131.40-32.00l 182.96,183.04
54
+ c 27.34-11.10, 57.04-17.50, 88.28-17.50c 130.86,0.00, 237.34,106.40, 237.34,237.16C 640.00,501.60, 533.52,608.00, 402.66,608.00z M 402.66,213.46
55
+ c-86.64,0.00-157.26,70.62-157.26,157.24c0.00,86.72, 70.62,157.34, 157.26,157.34c 86.80,0.00, 157.42-70.62, 157.42-157.34
56
+ C 560.08,284.10, 489.46,213.46, 402.66,213.46z" />
57
+ <glyph unicode="&#xe01e;" d="M 491.72,59.72L 583.44-32.00L 640.00,24.56L 548.28,116.28L 640.00,208.00L 400.00,208.00L 400.00-32.00 zM0.00,368.00L 240.00,368.00L 240.00,608.00L 148.28,516.28L 57.50,607.14L 0.94,550.58L 91.72,459.72 zM0.00,24.56L 56.56-32.00L 148.28,59.72L 240.00-32.00L 240.00,208.00L0.00,208.00L 91.72,116.28 zM 400.00,368.00L 640.00,368.00L 548.28,459.72L 639.22,550.58L 582.66,607.14L 491.72,516.28L 400.00,608.00 z" />
58
+ <glyph unicode="&#xe00c;" d="M 316.096,582.368c-162.592-2.176-292.64-135.744-290.464-298.336c 2.176-162.496, 135.744-292.576, 298.336-290.40
59
+ c 162.528,2.176, 292.608,135.744, 290.40,298.336C 612.224,454.496, 478.656,584.544, 316.096,582.368z M 315.232,108.80L 313.60,108.80 c-25.024,0.736-42.688,19.20-41.984,43.872
60
+ c 0.704,24.224, 18.784,41.856, 43.008,41.856l 1.472-0.032c 25.728-0.768, 43.20-19.04, 42.432-44.416C 357.824,125.792, 340.00,108.80, 315.232,108.80z
61
+ M 420.544,317.824c-5.92-8.352-18.848-18.752-35.168-31.456l-17.984-12.416c-9.856-7.68-15.808-14.88-18.016-21.952
62
+ c-1.792-5.632-2.624-7.072-2.784-18.432l-0.032-2.912L 277.984,230.656 l 0.192,5.824c 0.832,23.872, 1.44,37.888, 11.328,49.504
63
+ c 15.52,18.208, 49.76,40.256, 51.20,41.184c 4.896,3.712, 9.024,7.904, 12.128,12.384c 7.20,9.92, 10.368,17.76, 10.368,25.408
64
+ c0.00,10.656-3.168,20.512-9.408,29.28c-6.016,8.48-17.44,12.768-33.952,12.768c-16.384,0.00-27.584-5.216-34.304-15.872
65
+ C 278.592,380.16, 275.136,368.672, 275.136,356.896l0.00-2.944 l-70.72,0.00 l 0.128,3.072c 1.824,43.328, 17.28,74.496, 45.952,92.704C 268.48,461.344, 290.88,467.20, 316.992,467.20
66
+ c 34.208,0.00, 63.136-8.32, 85.856-24.704c 23.04-16.608, 34.72-41.504, 34.72-73.952C 437.568,350.368, 431.84,333.312, 420.544,317.824z" />
67
+ <glyph unicode="&#xe01d;" d="M 548.28,116.28L 456.56,208.00L 400.00,151.44L 491.72,59.72L 400.00-32.00L 640.00-32.00L 640.00,208.00 zM 240.00,608.00L0.00,608.00L0.00,368.00L 91.72,459.72L 182.58,368.94L 239.14,425.50L 148.28,516.28 zM 240.00,151.44L 183.44,208.00L 91.72,116.28L0.00,208.00L0.00-32.00L 240.00-32.00L 148.28,59.72 zM 640.00,608.00L 400.00,608.00L 491.72,516.28L 400.86,425.50L 457.42,368.94L 548.28,459.72L 640.00,368.00 z" />
68
+ <glyph unicode="&#xf013;" d="M 365.714,288.00q0.00,37.857 -26.786,64.643t-64.643,26.786t-64.643-26.786t-26.786-64.643t 26.786-64.643t 64.643-26.786t 64.643,26.786t 26.786,64.643zM 548.571,326.929l0.00-79.286 q0.00-4.286 -2.857-8.214t-7.143-4.643l-66.071-10.00q-6.786-19.286 -13.929-32.50q 12.50-17.857 38.214-49.286q 3.571-4.286 3.571-8.929t-3.214-8.214q-9.643-13.214 -35.357-38.571t-33.571-25.357q-4.286,0.00 -9.286,3.214l-49.286,38.571q-15.714-8.214 -32.50-13.571 q-5.714-48.571 -10.357-66.429q-2.50-10.00 -12.857-10.00l-79.286,0.00 q-5.00,0.00 -8.75,3.036t-4.107,7.679l-10.00,65.714q-17.50,5.714 -32.143,13.214l-50.357-38.214q-3.571-3.214 -8.929-3.214q-5.00,0.00 -8.929,3.929q-45.00,40.714 -58.929,60.00q-2.50,3.571 -2.50,8.214q0.00,4.286 2.857,8.214q 5.357,7.50 18.214,23.75t 19.286,25.179q-9.643,17.857 -14.643,35.357l-65.357,9.643q-4.643,0.714 -7.50,4.464t-2.857,8.393l0.00,79.286 q0.00,4.286 2.857,8.214t 6.786,4.643 l 66.429,10.00q 5.00,16.429 13.929,32.857q-14.286,20.357 -38.214,49.286q-3.571,4.286 -3.571,8.571q0.00,3.571 3.214,8.214q 9.286,12.857 35.179,38.393t 33.75,25.536q 4.643,0.00 9.286-3.571l 49.286-38.214q 15.714,8.214 32.50,13.571q 5.714,48.571 10.357,66.429q 2.50,10.00 12.857,10.00l 79.286,0.00 q 5.00,0.00 8.75-3.036t 4.107-7.679l 10.00-65.714q 17.50-5.714 32.143-13.214l 50.714,38.214q 3.214,3.214 8.571,3.214q 4.643,0.00 8.929-3.571q 46.071-42.50 58.929-60.714q 2.50-2.857 2.50-7.857 q0.00-4.286 -2.857-8.214q-5.357-7.50 -18.214-23.75t-19.286-25.179q 9.286-17.857 14.643-35.00l 65.357-10.00q 4.643-0.714 7.50-4.464t 2.857-8.393z" horiz-adv-x="548.5714285714286" />
69
+ <glyph unicode="&#x20;" horiz-adv-x="320" />
70
+ <glyph class="hidden" unicode="&#xf000;" d="M0,608L 640 -32L0 -32 z" horiz-adv-x="0" />
71
+ </font></defs></svg>
@@ -6,11 +6,13 @@ Alchemy.ToolbarButton = (options) ->
6
6
  $btn = $('<div class="button_with_label" />')
7
7
  if options.buttonId
8
8
  $btn.attr(id: options.buttonId)
9
- $lnk = $("<a title='#{options.buttonTitle}' class='icon_button' href='#' />")
9
+ $lnk = $("<a title='#{options.title}' class='icon_button' href='#' />")
10
+ if options.hotkey
11
+ $lnk.attr('data-alchemy-hotkey', options.hotkey)
10
12
  $lnk.click options.onClick
11
13
  $lnk.append "<span class='icon #{options.iconClass}' />"
12
14
  $btn.append $lnk
13
- $btn.append "<br><label>#{options.buttonLabel}</label>"
15
+ $btn.append "<br><label>#{options.label}</label>"
14
16
  $btn
15
17
 
16
18
  Alchemy.ElementsWindow =
@@ -71,12 +73,7 @@ Alchemy.ElementsWindow =
71
73
  createToolbar: (buttons) ->
72
74
  $toolbar = $('<div id="overlay_toolbar"/>')
73
75
  for btn in buttons
74
- $toolbar.append Alchemy.ToolbarButton
75
- buttonTitle: btn.title
76
- buttonLabel: btn.label
77
- iconClass: btn.iconClass
78
- onClick: btn.onClick
79
- buttonId: btn.buttonId
76
+ $toolbar.append Alchemy.ToolbarButton(btn)
80
77
  $toolbar
81
78
 
82
79
  reload: ->
@@ -86,6 +83,7 @@ Alchemy.ElementsWindow =
86
83
  success: (data, textStatus, XMLHttpRequest) ->
87
84
  self.dialog.html data
88
85
  Alchemy.GUI.init "#alchemyElementWindow"
86
+ Alchemy.Hotkeys "#overlay_toolbar"
89
87
  if self.callback
90
88
  self.callback.call()
91
89
  error: (XMLHttpRequest, textStatus, errorThrown) ->
@@ -22,10 +22,9 @@ Alchemy.Hotkeys = (scope) ->
22
22
  # Simply add a data-alchemy-hotkey attribute to your link.
23
23
  # If a hotkey is triggered by user, the click event of the element gets triggerd.
24
24
  #
25
- $('[data-alchemy-hotkey]').each ->
25
+ $('[data-alchemy-hotkey]', scope).each ->
26
26
  $this = $(this)
27
- key = $this.data('alchemy-hotkey')
28
- keymage key, ->
27
+ keymage $this.data('alchemy-hotkey'), ->
29
28
  $this.click()
30
29
 
31
30
  keymage 'alt-w', ->
@@ -11,7 +11,6 @@ Alchemy.ImageCropper =
11
11
  onSelect: (coords) ->
12
12
  crop_from_field.val coords.x + "x" + coords.y
13
13
  crop_size_field.val coords.w + "x" + coords.h
14
- return
15
14
  setSelect: box
16
15
  aspectRatio: (if ratio then ratio else `undefined`)
17
16
  minSize: [size_x, size_y]
@@ -26,21 +25,17 @@ Alchemy.ImageCropper =
26
25
  Alchemy.ImageCropper.api = $.Jcrop("#imageToCrop", options)
27
26
  Alchemy.ImageCropper.initialized = true
28
27
  $(".alchemy_overlay").on 'dialogclose', Alchemy.ImageCropper.destroy
29
- return
30
28
 
31
29
  undo: ->
32
30
  Alchemy.ImageCropper.api.setSelect Alchemy.ImageCropper.box
33
- return
34
31
 
35
32
  reset: ->
36
33
  Alchemy.ImageCropper.api.setSelect Alchemy.ImageCropper.default_box
37
34
  Alchemy.ImageCropper.crop_from_field.val ""
38
35
  Alchemy.ImageCropper.crop_size_field.val ""
39
- return
40
36
 
41
37
  destroy: ->
42
- try
38
+ if Alchemy.ImageCropper.api
43
39
  Alchemy.ImageCropper.api.destroy()
44
- finally
45
- Alchemy.ImageCropper.initialized = false
46
- return
40
+ Alchemy.ImageCropper.initialized = false
41
+ true
@@ -8,15 +8,15 @@
8
8
 
9
9
  Alchemy.LinkOverlay = {
10
10
 
11
- open: (linked_element, width) ->
11
+ open: (linked_element) ->
12
12
  self = Alchemy.LinkOverlay
13
13
  $dialog = $('<div style="display:none" id="alchemyLinkOverlay"></div>')
14
14
 
15
- $dialog.html(Alchemy.getOverlaySpinner({width: width}))
15
+ $dialog.html(Alchemy.getOverlaySpinner({width: 600, height: 450}))
16
16
 
17
17
  self.current = $dialog.dialog({
18
18
  modal: true,
19
- minWidth: if parseInt(width) < 600 then 600 else parseInt(width),
19
+ minWidth: 600,
20
20
  minHeight: 450,
21
21
  title: 'Link setzen',
22
22
  show: "fade",
@@ -8,6 +8,7 @@ Alchemy.PreviewWindow =
8
8
  $iframe = $("<iframe src=\"#{url}\" id=\"alchemyPreviewWindow\" frameborder=\"0\"/>")
9
9
  $iframe.load ->
10
10
  $(".preview-refresh-spinner").hide()
11
+ $(".ui-dialog-titlebar-refresh").show()
11
12
  $iframe.css "background-color": "#ffffff"
12
13
  Alchemy.PreviewWindow.currentWindow = $iframe.dialog(
13
14
  modal: false
@@ -23,20 +24,16 @@ Alchemy.PreviewWindow =
23
24
  closeOnEscape: false
24
25
  dialogClass: 'alchemy-preview-window'
25
26
  create: ->
26
- spinner = Alchemy.Spinner.small(className: "preview-refresh-spinner")
27
- $reload = $("<button class=\"ui-dialog-titlebar-refresh ui-corner-all ui-state-default\" role=\"button\"></button>")
28
27
  $titlebar = $("#alchemyPreviewWindow").prev()
29
- $reload.append "<span class=\"ui-icon ui-icon-refresh\">reload</span>"
30
- $titlebar.append $reload
28
+ $titlebar.append Alchemy.PreviewWindow.reloadButton()
29
+ spinner = Alchemy.Spinner.small(className: "preview-refresh-spinner")
31
30
  $titlebar.append spinner.spin().el
32
- $reload.click Alchemy.reloadPreview
33
- $reload.hover ->
34
- $(this).toggleClass "ui-state-hover ui-state-default"
35
31
  close: (event, ui) ->
36
32
  Alchemy.PreviewWindow.button.enable()
37
33
  open: (event, ui) ->
38
34
  $(this).css width: "100%"
39
35
  Alchemy.PreviewWindow.button.disable()
36
+ Alchemy.Hotkeys('.alchemy-preview-window')
40
37
  ).dialogExtend
41
38
  maximize: true
42
39
  dblclick: "maximize"
@@ -48,9 +45,13 @@ Alchemy.PreviewWindow =
48
45
 
49
46
  refresh: ->
50
47
  $iframe = $("#alchemyPreviewWindow")
51
- $(".preview-refresh-spinner").show()
48
+ $spinner = $(".preview-refresh-spinner")
49
+ $refresh = $('.ui-dialog-titlebar-refresh')
50
+ $spinner.show()
51
+ $refresh.hide()
52
52
  $iframe.load ->
53
- $(".preview-refresh-spinner").hide()
53
+ $spinner.hide()
54
+ $refresh.show()
54
55
  $iframe.attr("src", $iframe.attr("src"))
55
56
  true
56
57
 
@@ -67,5 +68,14 @@ Alchemy.PreviewWindow =
67
68
  else
68
69
  Alchemy.PreviewWindow.button.disable()
69
70
 
71
+ reloadButton: ->
72
+ $reload = $('<button class="ui-dialog-titlebar-refresh ui-corner-all ui-state-default" role="button" data-alchemy-hotkey="alt-r" />')
73
+ $reload.append('<span class="ui-icon ui-icon-refresh" />')
74
+ $reload.click Alchemy.reloadPreview
75
+ $reload.hover ->
76
+ $(this).toggleClass "ui-state-hover ui-state-default"
77
+ $reload.hide()
78
+ $reload
79
+
70
80
  Alchemy.reloadPreview = ->
71
81
  Alchemy.PreviewWindow.refresh()
@@ -10,12 +10,11 @@
10
10
  onclick:function () {
11
11
  ed.focus();
12
12
  Alchemy.LinkOverlay.open({
13
- node:ed.selection.getNode(),
14
- bookmark:ed.selection.getBookmark(),
15
- selection:ed.selection,
16
- editor:ed
17
- },
18
- (ed.settings.alchemy_link_overlay_width || 408));
13
+ node:ed.selection.getNode(),
14
+ bookmark:ed.selection.getBookmark(),
15
+ selection:ed.selection,
16
+ editor:ed
17
+ });
19
18
  }
20
19
  });
21
20
  ed.onNodeChange.add(function (ed, cm, n, co) {
@@ -34,7 +33,7 @@
34
33
  author:'magic labs*',
35
34
  authorurl:'http://magiclabs.de',
36
35
  infourl:'http://alchemy-app.com',
37
- version:"0.3.2"
36
+ version:"0.4.0"
38
37
  };
39
38
  }
40
39
  });
@@ -14,7 +14,6 @@
14
14
  @import "alchemy/form_elements";
15
15
  @import "alchemy/frame";
16
16
  @import "alchemy/icons";
17
- @import "alchemy/fonts";
18
17
  @import "alchemy/login";
19
18
  @import "alchemy/modules";
20
19
  @import "alchemy/notices";
@@ -137,12 +137,6 @@ div.assign_image_list_image {
137
137
  }
138
138
  }
139
139
 
140
- #assign_image_list, #assign_file_list {
141
- position: relative;
142
- padding-right: 244px;
143
- height: 519px;
144
- }
145
-
146
140
  .picture_tool {
147
141
  width: 16px;
148
142
  height: 16px;
@@ -298,7 +292,7 @@ div#filter_bar {
298
292
  top: 8px;
299
293
  font-family: 'Alchemy Icons';
300
294
  @extend .icon-tag:before;
301
- line-height: 10px;
295
+ line-height: 8px;
302
296
  }
303
297
 
304
298
  a {
@@ -324,7 +318,13 @@ div#alchemy_window_body {
324
318
  }
325
319
  }
326
320
 
321
+ #assign_image_list, #assign_file_list {
322
+ position: relative;
323
+ height: 519px;
324
+ }
325
+
327
326
  #assign_image_list {
327
+ padding-right: 244px;
328
328
 
329
329
  #tag_list ul {
330
330
  height: 316px;
@@ -365,13 +365,23 @@ div#pictures_page_list {
365
365
 
366
366
  #overlay_file_list {
367
367
 
368
+ &.with_tag_list {
369
+ padding-right: 234px;
370
+ }
371
+
368
372
  .assign_file_file {
369
373
  display: block;
370
374
  margin-bottom: 4px;
375
+ word-break: break-all;
376
+
377
+ &:hover {
378
+ background-color: $light_yellow;
379
+ }
371
380
  }
372
381
 
373
382
  > ul {
374
383
  margin: 0;
384
+ padding: 4px 0;
375
385
 
376
386
  a {
377
387
  @extend %text-overflow;
@@ -387,3 +397,41 @@ div#pictures_page_list {
387
397
  }
388
398
  }
389
399
  }
400
+
401
+ .picture_tags {
402
+ @include box-sizing(border-box);
403
+ width: 50%;
404
+ max-height: 100%;
405
+ position: absolute;
406
+ top: 16px;
407
+ left: 0;
408
+ padding: $default-padding;
409
+ pointer-events: none;
410
+ display: none;
411
+ }
412
+
413
+ .picture_thumbnail:hover .picture_tags {
414
+ display: block;
415
+ }
416
+
417
+ .tag {
418
+ @include inline-block;
419
+ @extend .rounded-border;
420
+ padding: $default-padding 2*$default-padding $default-padding 4*$default-padding;
421
+ margin: $default-margin/2 0;
422
+ background-color: rgba($medium-gray, 0.85);
423
+ color: $text-color;
424
+ overflow: hidden;
425
+ position: relative;
426
+ pointer-events: none;
427
+ font-size: 10px;
428
+
429
+ &:before {
430
+ position: absolute;
431
+ left: $default-padding;
432
+ top: 2*$default-padding;
433
+ font-family: 'Alchemy Icons';
434
+ @extend .icon-tag:before;
435
+ line-height: 6px;
436
+ }
437
+ }
@@ -524,140 +524,6 @@ input#link_to_text {
524
524
  margin: 0;
525
525
  }
526
526
 
527
- #alchemy .ui-dialog-content ul#sitemap {
528
- margin: 0;
529
- padding: 0 8px 8px 0;
530
- }
531
-
532
- #alchemy .ui-dialog-content ul#sitemap li {
533
- margin-left: 0;
534
- padding-left: 0;
535
- }
536
-
537
- #alchemy .ui-dialog-content ul#sitemap li li {
538
- padding-left: 22px;
539
- }
540
-
541
- #alchemy .ui-dialog-content ul#sitemap ul li span.sitemap_sitename {
542
- background-color: #f9f9f9;
543
- width: 311px;
544
- margin: 6px 0 0;
545
- padding: 0 0 4px 4px;
546
- height: 14px;
547
- float: left;
548
- line-height: 18px;
549
- }
550
-
551
- #alchemy .ui-dialog-content ul#sitemap ul li ul li span.sitemap_sitename {
552
- float: left;
553
- background-color: #f9f9f9;
554
- width: 290px;
555
- margin: 6px 0 0;
556
- padding: 0 0 4px 4px;
557
- height: 14px;
558
- }
559
-
560
- #alchemy .ui-dialog-content ul#sitemap ul li ul li ul li span.sitemap_sitename {
561
- float: left;
562
- background-color: #f9f9f9;
563
- width: 269px;
564
- margin: 6px 0 0;
565
- padding: 0 0 4px 4px;
566
- height: 14px;
567
- }
568
-
569
- #alchemy .ui-dialog-content ul#sitemap ul li ul li ul li ul li span.sitemap_sitename {
570
- float: left;
571
- background-color: #f9f9f9;
572
- width: 248px;
573
- margin: 6px 0 0;
574
- padding: 0 0 4px 4px;
575
- height: 14px;
576
- }
577
-
578
- #alchemy .ui-dialog-content ul#sitemap img.site_status {
579
- float: left;
580
- border-style: none;
581
- margin-bottom: 0px;
582
- border-width: 0;
583
- padding: 0;
584
- padding-top: 6px;
585
- margin-right: 4px;
586
- }
587
-
588
- #alchemy .ui-dialog-content ul#sitemap ul li img {
589
- border-width: 0;
590
- border-style: none;
591
- float: left;
592
- }
593
-
594
- #alchemy .ui-dialog-content ul#sitemap .sitemap_row {
595
- padding: 0;
596
- margin: 0px;
597
- font-size: 12px;
598
- line-height: 22px;
599
- position: relative;
600
- height: 28px;
601
- }
602
-
603
- div.elements_from_page_selector {
604
- width: 154px;
605
- }
606
-
607
- div.elements_for_page {
608
- position: absolute;
609
- right: 32px;
610
- top: -7px;
611
- z-index: 15;
612
- background-color: white;
613
- width: 240px;
614
- height: 33px;
615
- padding: $default-padding;
616
- border: $default-border;
617
- @include box-shadow(#9ea09f 0px 0px 4px);
618
- @extend .rounded-border;
619
-
620
- .spinner {
621
- top: 17px !important;
622
- left: 50% !important;
623
- margin-left: 4px;
624
- }
625
-
626
- .alchemy_selectbox {
627
- float: left;
628
- width: 212px;
629
- }
630
- }
631
-
632
- a.close_elements_from_page_selector {
633
- position: absolute;
634
- right: 0;
635
- top: 12px;
636
- font-size: 0;
637
- width: 8px;
638
- height: 8px;
639
- background: url('icons.png') no-repeat 0 -72px;
640
- cursor: pointer;
641
- }
642
-
643
- #alchemy .ui-dialog-content ul#sitemap ul .sitemap_row a {
644
- color: black;
645
- text-decoration: none;
646
- display: block;
647
- outline: none;
648
- }
649
-
650
- #sitemap a.show_elements_to_link {
651
- float: left;
652
- width: 16px;
653
- height: 16px;
654
- position: relative;
655
- background: url('icons.png') no-repeat -512px -72px;
656
- margin: 2px;
657
- font-size: 0;
658
- text-decoration: none;
659
- }
660
-
661
527
  .bordertop_white {
662
528
  border-top: 4px solid white;
663
529
  padding-top: 8px;
@@ -666,11 +532,6 @@ a.close_elements_from_page_selector {
666
532
  float: none;
667
533
  }
668
534
 
669
- ul#sitemap li .sitemap_sitename.selected_page a {
670
- background-color: $linked-color;
671
- color: $dark-gray;
672
- }
673
-
674
535
  #alchemy .ui-dialog-content ul#sitemap ul li span.sitemap_sitename.selected_page a {
675
536
  font-weight: bold;
676
537
  padding-left: 4px;
@@ -721,11 +582,6 @@ select#url_protocol.medium {
721
582
  padding: 2*$default-padding;
722
583
  }
723
584
 
724
- .ui-dialog-titlebar .preview-refresh-spinner {
725
- float: left;
726
- margin-top: 8px;
727
- }
728
-
729
585
  #clipboard_items {
730
586
 
731
587
  ul {
@@ -782,3 +638,11 @@ div.browse {
782
638
  #alchemyPreviewWindow {
783
639
  width: 100% !important;
784
640
  }
641
+
642
+ #error_trace {
643
+ border: $default-border;
644
+ width: 80%;
645
+ padding: $default-padding;
646
+ overflow: auto;
647
+ @extend .rounded-border;
648
+ }