alchemy_cms 2.0.pre2 → 2.0.pre3
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.
- data/.gitignore +5 -1
- data/Gemfile +3 -0
- data/Rakefile +16 -14
- data/{alchemy.gemspec → alchemy_cms.gemspec} +1 -1
- data/app/models/message.rb +1 -1
- data/app/views/elements/_searchresult_view.html.erb +1 -1
- data/config/initializers/fast_gettext.rb +1 -1
- data/config/routes.rb +3 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/{alchemy.rb → alchemy_cms.rb} +0 -0
- data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +2 -2
- data/lib/rails/templates/alchemy.rb +1 -1
- data/spec/alchemy_spec.rb +7 -0
- data/spec/config_spec.rb +7 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/alchemy/config.yml +199 -0
- data/spec/dummy/config/alchemy/elements.yml +91 -0
- data/spec/dummy/config/alchemy/page_layouts.yml +29 -0
- data/spec/dummy/config/application.rb +45 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +22 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +26 -0
- data/spec/dummy/config/environments/production.rb +49 -0
- data/spec/dummy/config/environments/test.rb +35 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +10 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +58 -0
- data/spec/dummy/db/schema.rb +267 -0
- data/spec/dummy/log/production.log +0 -0
- data/spec/dummy/log/server.log +0 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/images/alchemy/ajax_loader.gif +0 -0
- data/spec/dummy/public/images/alchemy/alchemy-logo.png +0 -0
- data/spec/dummy/public/images/alchemy/flags.png +0 -0
- data/spec/dummy/public/images/alchemy/gui/navi-tab.png +0 -0
- data/spec/dummy/public/images/alchemy/gui/shading.png +0 -0
- data/spec/dummy/public/images/alchemy/gui/shading_90.png +0 -0
- data/spec/dummy/public/images/alchemy/gui/toggle.png +0 -0
- data/spec/dummy/public/images/alchemy/icons.png +0 -0
- data/spec/dummy/public/images/alchemy/jquery-sb/select_arrow.gif +0 -0
- data/spec/dummy/public/images/alchemy/jquery-sb/select_arrow_bg.gif +0 -0
- data/spec/dummy/public/images/alchemy/jquery-sb/select_arrow_bg_hover.gif +0 -0
- data/spec/dummy/public/images/alchemy/jquery-ui/ui-icons_666666_256x240.png +0 -0
- data/spec/dummy/public/images/alchemy/placeholder.png +0 -0
- data/spec/dummy/public/images/alchemy/swfupload/browse_button.png +0 -0
- data/spec/dummy/public/javascripts/alchemy/alchemy.element_editor_selector.js +88 -0
- data/spec/dummy/public/javascripts/alchemy/alchemy.growler.js +44 -0
- data/spec/dummy/public/javascripts/alchemy/alchemy.image_cropper.js +56 -0
- data/spec/dummy/public/javascripts/alchemy/alchemy.js +892 -0
- data/spec/dummy/public/javascripts/alchemy/alchemy.link_overlay.js +221 -0
- data/spec/dummy/public/javascripts/alchemy/alchemy.page_sorter.js +42 -0
- data/spec/dummy/public/javascripts/alchemy/alchemy.preview.js +145 -0
- data/spec/dummy/public/javascripts/alchemy/jquery-ui.js +428 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.Jcrop.min.js +246 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.dialogextend.min.js +8 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.in-place-edit.js +171 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.js +18 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.rails.js +315 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.sb.min.js +14 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.scrollTo-1.4.2-min.js +11 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.ui.nestedSortable.js +291 -0
- data/spec/dummy/public/javascripts/alchemy/jquery.ui.tabspaging.js +281 -0
- data/spec/dummy/public/javascripts/alchemy/swfupload/fileprogress.js +203 -0
- data/spec/dummy/public/javascripts/alchemy/swfupload/handlers.js +171 -0
- data/spec/dummy/public/javascripts/alchemy/swfupload/queue.js +98 -0
- data/spec/dummy/public/javascripts/alchemy/swfupload/swfupload.js +980 -0
- data/spec/dummy/public/javascripts/alchemy/swfupload/swfupload.swf +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/jquery.tinymce.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/langs/de.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/langs/en.js +223 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/license.txt +504 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/alchemy_link/editor_plugin.js +43 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/alchemy_link/langs/de.js +4 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/alchemy_link/langs/en.js +4 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/fullscreen/fullscreen.htm +109 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css +402 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/inlinepopups/template.htm +387 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/lists/editor_plugin.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/paste/editor_plugin.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/paste/js/pastetext.js +36 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/paste/js/pasteword.js +51 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/paste/langs/de_dlg.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/paste/pastetext.htm +27 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/paste/pasteword.htm +21 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/cell.htm +180 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/css/cell.css +17 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/css/row.css +25 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/css/table.css +13 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/editor_plugin.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/js/cell.js +319 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/js/merge_cells.js +27 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/js/row.js +237 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/js/table.js +450 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/langs/de_dlg.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/langs/en_dlg.js +75 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/merge_cells.htm +32 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/row.htm +158 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/plugins/table/table.htm +188 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/about.htm +52 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/anchor.htm +26 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/charmap.htm +51 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/color_picker.htm +74 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/editor_template.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/image.htm +80 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/flash.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/icons.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/iframe.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/trans.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/video.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/js/about.js +73 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/js/anchor.js +42 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/js/charmap.js +355 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/js/color_picker.js +329 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/js/image.js +247 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/js/link.js +153 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/js/source_editor.js +56 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/langs/de.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/langs/de_dlg.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/langs/en.js +68 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/langs/en_dlg.js +54 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/link.htm +57 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/shortcuts.htm +47 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/content.css +47 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/default/ui.css +214 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/highcontrast/content.css +23 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/o2k7/content.css +46 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/o2k7/dialog.css +117 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/o2k7/ui.css +217 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/advanced/source_editor.htm +25 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/themes/simple/langs/de.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/tiny_mce.js +1 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/tiny_mce_popup.js +5 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/utils/editable_selects.js +70 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/utils/form_utils.js +210 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/utils/mctabs.js +162 -0
- data/spec/dummy/public/javascripts/alchemy/tiny_mce/utils/validate.js +252 -0
- data/spec/dummy/public/javascripts/application.js +2 -0
- data/spec/dummy/public/javascripts/controls.js +965 -0
- data/spec/dummy/public/javascripts/dragdrop.js +974 -0
- data/spec/dummy/public/javascripts/effects.js +1123 -0
- data/spec/dummy/public/javascripts/prototype.js +6001 -0
- data/spec/dummy/public/javascripts/rails.js +191 -0
- data/spec/dummy/public/stylesheets/.gitkeep +0 -0
- data/spec/dummy/public/stylesheets/alchemy/Jcrop.gif +0 -0
- data/spec/dummy/public/stylesheets/alchemy/alchemy.css +3629 -0
- data/spec/dummy/public/stylesheets/alchemy/alchemy_tinymce_content.css +94 -0
- data/spec/dummy/public/stylesheets/alchemy/alchemy_tinymce_dialog.css +415 -0
- data/spec/dummy/public/stylesheets/alchemy/default/img/tabs.gif +0 -0
- data/spec/dummy/public/stylesheets/alchemy/elements.css +900 -0
- data/spec/dummy/public/stylesheets/alchemy/flags.css +1 -0
- data/spec/dummy/public/stylesheets/alchemy/ie6.css +18 -0
- data/spec/dummy/public/stylesheets/alchemy/jquery-ui-1.8.7.alchemy.css +2023 -0
- data/spec/dummy/public/stylesheets/alchemy/jquery.Jcrop.css +35 -0
- data/spec/dummy/public/stylesheets/alchemy/jquery.sb.css +244 -0
- data/spec/dummy/public/stylesheets/alchemy/standard_set.css +374 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/integration/navigation_spec.rb +9 -0
- data/spec/integration/security_spec.rb +25 -0
- data/spec/spec_helper.rb +40 -0
- metadata +371 -8
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Rakefile
CHANGED
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
|
+
require 'rubygems'
|
|
3
|
+
begin
|
|
4
|
+
require 'bundler'
|
|
5
|
+
rescue LoadError
|
|
6
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
7
|
+
end
|
|
8
|
+
|
|
2
9
|
require 'rake'
|
|
3
|
-
require '
|
|
4
|
-
|
|
10
|
+
require 'rdoc/task'
|
|
11
|
+
|
|
12
|
+
require 'rspec/core'
|
|
13
|
+
require 'rspec/core/rake_task'
|
|
5
14
|
|
|
6
15
|
import File.join(File.dirname(__FILE__), 'lib/tasks/gettext.rake')
|
|
7
16
|
|
|
8
|
-
|
|
9
|
-
task :default => :test
|
|
17
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
10
18
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
t.pattern = 'test/**/*_test.rb'
|
|
15
|
-
t.verbose = true
|
|
16
|
-
end
|
|
19
|
+
task :default => :spec
|
|
20
|
+
|
|
21
|
+
Bundler::GemHelper.install_tasks
|
|
17
22
|
|
|
18
23
|
desc 'Generate documentation for the alchemy plugin.'
|
|
19
24
|
Rake::RDocTask.new(:rdoc) do |rdoc|
|
|
20
25
|
rdoc.rdoc_dir = 'rdoc'
|
|
21
|
-
rdoc.title = 'Alchemy'
|
|
26
|
+
rdoc.title = 'Alchemy CMS'
|
|
22
27
|
rdoc.options << '--line-numbers' << '--inline-source'
|
|
23
28
|
rdoc.rdoc_files.include('README.md')
|
|
24
29
|
rdoc.rdoc_files.include('config/alchemy/*.yml')
|
|
25
30
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
26
31
|
rdoc.rdoc_files.include('app/**/*.rb')
|
|
27
32
|
end
|
|
28
|
-
|
|
29
|
-
require 'bundler'
|
|
30
|
-
Bundler::GemHelper.install_tasks
|
|
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
|
15
15
|
s.license = 'GPL-3'
|
|
16
16
|
|
|
17
17
|
s.files = `git ls-files`.split("\n")
|
|
18
|
-
|
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
20
20
|
s.require_paths = ["lib"]
|
|
21
21
|
|
data/app/models/message.rb
CHANGED
|
@@ -37,7 +37,7 @@ class Message
|
|
|
37
37
|
attr_accessor :contact_form_id, :ip
|
|
38
38
|
|
|
39
39
|
Alchemy::Config.get(:mailer)[:fields].each do |field|
|
|
40
|
-
attr_accessor field.
|
|
40
|
+
attr_accessor field.to_sym
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
validate_fields = Alchemy::Config.get(:mailer)[:validate_fields]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div class="searchresult" id="<%= element_dom_id(element) %>" <%= element_preview_code(element) -%>>
|
|
2
2
|
|
|
3
|
-
<%= form_tag show_page_with_language_path(:urlname => "suche", :lang =>
|
|
3
|
+
<%= form_tag show_page_with_language_path(:urlname => "suche", :lang => @page.language_code), :method => :get do %>
|
|
4
4
|
<%= text_field_tag "query", params[:query], :class => 'field' %>
|
|
5
5
|
<%= submit_tag _("search"), :name => nil %>
|
|
6
6
|
<%- end -%>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
require 'fast_gettext'
|
|
2
|
-
FastGettext.add_text_domain 'alchemy', :path => File.join(File.dirname(__FILE__), '..', '..', 'locale')
|
|
2
|
+
FastGettext.add_text_domain 'alchemy', :path => File.join(File.dirname(__FILE__), '..', '..', 'locale')
|
data/config/routes.rb
CHANGED
data/lib/alchemy/version.rb
CHANGED
|
File without changes
|
|
@@ -4,7 +4,7 @@ module Alchemy
|
|
|
4
4
|
module Generators
|
|
5
5
|
class ScaffoldGenerator < ::Rails::Generators::Base
|
|
6
6
|
desc "This generator generates the Alchemy scaffold. Pass --with-standard-set to copy Alchemys standard set into your app."
|
|
7
|
-
class_option
|
|
7
|
+
class_option 'with-standard-set', :type => :boolean, :desc => "Copy standard set files."
|
|
8
8
|
source_root File.expand_path('templates', File.dirname(__FILE__))
|
|
9
9
|
|
|
10
10
|
def create_config_dir
|
|
@@ -17,7 +17,7 @@ module Alchemy
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def copy_yamls
|
|
20
|
-
if options['
|
|
20
|
+
if options['with-standard-set']
|
|
21
21
|
layouts_path = File.expand_path('../../../../../app/views/layouts', File.dirname(__FILE__))
|
|
22
22
|
copy_file "#{@config_path}/elements.yml", "#{Rails.root}/config/alchemy/elements.yml"
|
|
23
23
|
copy_file "#{@config_path}/page_layouts.yml", "#{Rails.root}/config/alchemy/page_layouts.yml"
|
data/spec/config_spec.rb
ADDED
data/spec/dummy/Rakefile
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
|
2
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
|
3
|
+
|
|
4
|
+
require File.expand_path('../config/application', __FILE__)
|
|
5
|
+
require 'rake'
|
|
6
|
+
|
|
7
|
+
Dummy::Application.load_tasks
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# = Configuration
|
|
2
|
+
#
|
|
3
|
+
# == This is the global Alchemy configuration file
|
|
4
|
+
# Please override your apps settings in your config/alchemy/config.yml file.
|
|
5
|
+
# You can use a handy rake task to generate it.
|
|
6
|
+
#
|
|
7
|
+
# rake alchemy:app_structure:create:config
|
|
8
|
+
|
|
9
|
+
# The amount of time of inactivity in minutes after which the user is kicked out of his current session.
|
|
10
|
+
# Only active in production environment!!!
|
|
11
|
+
:auto_logout_time: 30
|
|
12
|
+
|
|
13
|
+
# === Redirect options
|
|
14
|
+
# redirect_index: You can set to redirect (an 301 permanent, for all you SEO geeks ^_^) to first child page (typically the homepage) the index/intro page if it's not visible.
|
|
15
|
+
# So you don't get an 404 error if the language root page is not visible.
|
|
16
|
+
# redirect_to_public_child: Alchemy redirects to the first public child page found, if a page is not visible.
|
|
17
|
+
:redirect_index: true
|
|
18
|
+
:redirect_to_public_child: true
|
|
19
|
+
|
|
20
|
+
# Enabling the Ferret fulltext search engine.
|
|
21
|
+
# Tip! For best performance and stability install a crontab that reindexes ferrets search index periodly.
|
|
22
|
+
# Example: cd ~/html/alchemy/current && RAILS_ENV=production rake ferret:rebuild_index
|
|
23
|
+
:ferret: false
|
|
24
|
+
|
|
25
|
+
# === Pagecaching
|
|
26
|
+
# Enable/Disable pagecaching globally.
|
|
27
|
+
# Hint: You can enable/disable page caching for single Alchemy::PageLayouts in the page_layout.yml file.
|
|
28
|
+
:cache_pages: true
|
|
29
|
+
|
|
30
|
+
# === Sitemap
|
|
31
|
+
# Alchemy renders a nice HTML (<ul><li> style) and XML (Google conform!) Sitemap for you.
|
|
32
|
+
# Just place a sitemap element for a page layout in your page_layouts.yml file. Alchemy does the rest.
|
|
33
|
+
# ==== Options:
|
|
34
|
+
# show_root: Show language root page in sitemap?
|
|
35
|
+
# show_flag: enables the Checkbox in Page#update overlay. So your customer can set the visibilit of pages in the sitemap.
|
|
36
|
+
:sitemap:
|
|
37
|
+
:show_root: true
|
|
38
|
+
:show_flag: false
|
|
39
|
+
|
|
40
|
+
# === Picture rendering settings
|
|
41
|
+
# Alchemy uses Fleximage and RMagick to render images. Use {:image_size => "XXXxYYY", :crop => BOOLEAN [true]} to resize images.
|
|
42
|
+
# See https://github.com/Squeegy/fleximage for further infos.
|
|
43
|
+
# ==== Options:
|
|
44
|
+
# output_image_jpg_quality: If rendered as JPG this is the quality setting for it.
|
|
45
|
+
# preprocess_image_resize: Large images are downsized after upload to save diskspace.
|
|
46
|
+
# image_store_format: Masterimage storage format. Images are rendered from this master image, so a lossless format (png) is strongly recommended.
|
|
47
|
+
# image_output_format: Globally image output format setting.
|
|
48
|
+
# TIP: You can always override the output format in the options of your Essence. I.e. {:format => :gif}
|
|
49
|
+
:output_image_jpg_quality: 85
|
|
50
|
+
:preprocess_image_resize: 1000x1000
|
|
51
|
+
:image_store_format: png
|
|
52
|
+
:image_output_format: jpg
|
|
53
|
+
|
|
54
|
+
# Set available translations for your customers.
|
|
55
|
+
# Currently available translations are German and English.
|
|
56
|
+
:translations:
|
|
57
|
+
- :language_code: de
|
|
58
|
+
:language: Deutsch
|
|
59
|
+
- :language_code: en
|
|
60
|
+
:language: English
|
|
61
|
+
|
|
62
|
+
default_translation: en
|
|
63
|
+
|
|
64
|
+
# Default language for your homepgae.
|
|
65
|
+
default_language:
|
|
66
|
+
code: en
|
|
67
|
+
name: English
|
|
68
|
+
page_layout: intro
|
|
69
|
+
frontpage_name: Intro
|
|
70
|
+
|
|
71
|
+
# === Mailer Settings:
|
|
72
|
+
#
|
|
73
|
+
# To send Mails via contact forms you can create your form fields here and set which fields are to be validated.
|
|
74
|
+
#
|
|
75
|
+
# ==== Options:
|
|
76
|
+
#
|
|
77
|
+
# fields: An Array from Hashes with fieldname as keys and type as values. Types are ActiveRecord column types (i.e. string, text, boolean, etc.).
|
|
78
|
+
# validate_fields: A Hash with fieldname as key and a Hash (with :message as key and a message_id as value) as value
|
|
79
|
+
#
|
|
80
|
+
# ==== Translating validation messages:
|
|
81
|
+
#
|
|
82
|
+
# The message_id is passed through I18n.t so you can translate it in your language yml file.
|
|
83
|
+
#
|
|
84
|
+
# Example:
|
|
85
|
+
#
|
|
86
|
+
# de:
|
|
87
|
+
# alchemy:
|
|
88
|
+
# contactform:
|
|
89
|
+
# validations:
|
|
90
|
+
# enter_name: 'Bitte geben Sie einen Namen an'
|
|
91
|
+
#
|
|
92
|
+
:mailer:
|
|
93
|
+
:page_layout_name: contact
|
|
94
|
+
:forward_to_page: false
|
|
95
|
+
:mail_success_page: thanks
|
|
96
|
+
:fields: [salutation, firstname, lastname, address, zip, city, phone, email, message]
|
|
97
|
+
:validate_fields:
|
|
98
|
+
:lastname:
|
|
99
|
+
:message: enter_name
|
|
100
|
+
:email:
|
|
101
|
+
:message: enter_mail
|
|
102
|
+
|
|
103
|
+
# === User roles
|
|
104
|
+
# You can add own user roles. To set permissions for this roles please add an authorization_rules.rb file in your config folder.
|
|
105
|
+
# Further documentation for the auth system used please visit:
|
|
106
|
+
# https://github.com/stffn/declarative_authorization/blob/master/README.rdoc
|
|
107
|
+
#
|
|
108
|
+
# ==== Translating Userroles
|
|
109
|
+
# Userroles can be translated inside your the language yml file under:
|
|
110
|
+
# alchemy:
|
|
111
|
+
# user_roles:
|
|
112
|
+
# rolename: Name of the role
|
|
113
|
+
:user_roles: [registered, author, editor, admin]
|
|
114
|
+
|
|
115
|
+
# === Uploader Settings
|
|
116
|
+
# Allow filetypes to upload.
|
|
117
|
+
# Pass * to allow all kind of files.
|
|
118
|
+
:uploader:
|
|
119
|
+
:allowed_filetypes:
|
|
120
|
+
:pictures: [jpg, jpeg, gif, png, psd, pdf]
|
|
121
|
+
:attachments: [*]
|
|
122
|
+
|
|
123
|
+
# === Link Target Options
|
|
124
|
+
# Values for the link target selectbox inside the page link overlay.
|
|
125
|
+
# The value gets attached as a data-link-target attribute to the link.
|
|
126
|
+
#
|
|
127
|
+
# == Example:
|
|
128
|
+
# Open all links set to overlay inside an jQuery UI Dialog Window.
|
|
129
|
+
#
|
|
130
|
+
# jQuery(a[data-link-target="overlay"]).dialog();
|
|
131
|
+
:link_target_options: [blank]
|
|
132
|
+
|
|
133
|
+
# == Alchemy core plugins configuration
|
|
134
|
+
|
|
135
|
+
alchemy_plugins:
|
|
136
|
+
|
|
137
|
+
- name: dashboard
|
|
138
|
+
navigation:
|
|
139
|
+
name: 'home'
|
|
140
|
+
controller: 'admin'
|
|
141
|
+
action: index
|
|
142
|
+
icon: home
|
|
143
|
+
sub_navigation:
|
|
144
|
+
- name: 'home'
|
|
145
|
+
controller: 'admin'
|
|
146
|
+
action: index
|
|
147
|
+
|
|
148
|
+
- name: pages
|
|
149
|
+
navigation:
|
|
150
|
+
name: 'module: pages'
|
|
151
|
+
controller: 'admin/pages'
|
|
152
|
+
action: index
|
|
153
|
+
icon: pages
|
|
154
|
+
sub_navigation:
|
|
155
|
+
- name: 'module: pages'
|
|
156
|
+
controller: 'admin/pages'
|
|
157
|
+
action: index
|
|
158
|
+
- name: 'module: layoutpages'
|
|
159
|
+
controller: 'admin/layoutpages'
|
|
160
|
+
action: index
|
|
161
|
+
nested:
|
|
162
|
+
- controller: 'admin/pages'
|
|
163
|
+
action: edit
|
|
164
|
+
|
|
165
|
+
- name: languages
|
|
166
|
+
navigation:
|
|
167
|
+
name: 'module: languages'
|
|
168
|
+
controller: 'admin/languages'
|
|
169
|
+
action: index
|
|
170
|
+
icon: languages
|
|
171
|
+
sub_navigation:
|
|
172
|
+
- name: 'module: languages'
|
|
173
|
+
controller: 'admin/languages'
|
|
174
|
+
action: index
|
|
175
|
+
|
|
176
|
+
- name: users
|
|
177
|
+
navigation:
|
|
178
|
+
name: 'module: users'
|
|
179
|
+
controller: 'admin/users'
|
|
180
|
+
action: index
|
|
181
|
+
icon: users
|
|
182
|
+
sub_navigation:
|
|
183
|
+
- name: 'module: users'
|
|
184
|
+
controller: 'admin/users'
|
|
185
|
+
action: index
|
|
186
|
+
|
|
187
|
+
- name: archive
|
|
188
|
+
navigation:
|
|
189
|
+
controller: 'admin/pictures'
|
|
190
|
+
action: index
|
|
191
|
+
name: 'module: library'
|
|
192
|
+
icon: library
|
|
193
|
+
sub_navigation:
|
|
194
|
+
- name: 'module: images'
|
|
195
|
+
controller: 'admin/pictures'
|
|
196
|
+
action: index
|
|
197
|
+
- name: 'module: attachments'
|
|
198
|
+
controller: 'admin/attachments'
|
|
199
|
+
action: index
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# == In this configuration you setup Alchemy´s element layouts.
|
|
2
|
+
#
|
|
3
|
+
# Use rails generate alchemy:scaffold to generate this file for your app.
|
|
4
|
+
#
|
|
5
|
+
# Elements containing all necessary basic tools for displaying and editing content inside Alchemy.
|
|
6
|
+
# They consists of composed contents (different essence-types) as shown in the illustration of an elements-sheme below.
|
|
7
|
+
#
|
|
8
|
+
# == Schema of an element
|
|
9
|
+
#
|
|
10
|
+
# =================================
|
|
11
|
+
# # Content 1 (EssenceText) #
|
|
12
|
+
# # #
|
|
13
|
+
# # Content 2 (EssencePicture) #
|
|
14
|
+
# # #
|
|
15
|
+
# # Content 3 (EssenceRichtext) #
|
|
16
|
+
# =================================
|
|
17
|
+
#
|
|
18
|
+
# == Example of a basic element layout
|
|
19
|
+
#
|
|
20
|
+
# - name: a_unique_name (Used for the partial name in +app/views/elements+ and translated as Element.display_name)
|
|
21
|
+
# unique: Bool //pass true if this element only can be displayed once on page
|
|
22
|
+
# contents:
|
|
23
|
+
# - name: head
|
|
24
|
+
# type: EssenceText
|
|
25
|
+
# - name: text
|
|
26
|
+
# type: EssenceRichtext
|
|
27
|
+
#
|
|
28
|
+
# As already mentioned above, there are different content-types wich can be defined for each content in an element.
|
|
29
|
+
# Defining these types is used to render predefined views in the element.
|
|
30
|
+
#
|
|
31
|
+
# == Content-Types:
|
|
32
|
+
#
|
|
33
|
+
# * EssenceText (Used to store a String (max. 255 Chars.) i.e. a headline, or productname. The editor is renderd as a single-lined input field. The view output will be sanitized and escaped. So it's XSS save.)
|
|
34
|
+
# * EssenceRichtext (Used to store editable richtext. Editor is rendered as a textarea with TinyMCE Editor.)
|
|
35
|
+
# * EssencePicture (Used to store picture ids from pictures assigned through the library. The editor is rendered as a picture-editor collection with a lot of options (i.e. image cropper). The view renders the assigned picture, resizes it, crops it and caches the result.)
|
|
36
|
+
# * EssenceFlash (Used to store attachment ids from attachments assigned through the library. The view renders an embeded object.)
|
|
37
|
+
# * EssenceDate (Used to store a DateTime object. The view output is passed through Rails I18n Library, so it will be fully localized.)
|
|
38
|
+
# * EssenceHtml (Used to store a String (max. 255 Chars.). The view output renders the raw, not sanitized or unescaped String. So be carefull!)
|
|
39
|
+
#
|
|
40
|
+
# After finishing the setup of your element layouts, you need to generate the files for the elements before using them in Alchemy.
|
|
41
|
+
# For creating these files, use the following command in your terminal:
|
|
42
|
+
#
|
|
43
|
+
# rails generate elements
|
|
44
|
+
#
|
|
45
|
+
# All new elements will be created as two different partials in Rails.root/app/views/elements.
|
|
46
|
+
# For each element there is an editor-view wich will be rendered when editing them in Alchemy and another view for the website´s frontend.
|
|
47
|
+
#
|
|
48
|
+
# app/views/elements/_elements_name_editor.html.erb
|
|
49
|
+
# app/views/elements/_elements_name_view.html.erb
|
|
50
|
+
#
|
|
51
|
+
# For most contents in an element you can specify additional options, so they get rendered in a specific way.
|
|
52
|
+
# These options can be defined as symbols, but its too much to list them up here.
|
|
53
|
+
# You can find these options described in the application_helper.rb, most of them at the render_essence method.
|
|
54
|
+
#
|
|
55
|
+
# == Setting a content as preview-text for the element
|
|
56
|
+
#
|
|
57
|
+
# You can set a content-essence as preview-text for its element like this
|
|
58
|
+
# take_me_for_preview: true
|
|
59
|
+
#
|
|
60
|
+
#
|
|
61
|
+
# == Adding contents dynamically in the frontend
|
|
62
|
+
#
|
|
63
|
+
# You are able to add content-essences dynamically to the element from the Alchemy frontend.
|
|
64
|
+
# You just have to make contents available for adding them.
|
|
65
|
+
# This example enables this feature
|
|
66
|
+
#
|
|
67
|
+
# - name: headline
|
|
68
|
+
# unique: false
|
|
69
|
+
# contents:
|
|
70
|
+
# - name: headline
|
|
71
|
+
# type: EssenceText
|
|
72
|
+
# - name: big_text
|
|
73
|
+
# type: EssenceRichtext
|
|
74
|
+
# available_contents:
|
|
75
|
+
# - name: big_text
|
|
76
|
+
# type: EssenceRichtext
|
|
77
|
+
#
|
|
78
|
+
# Now an Alchemy user can add the content 'big_text' from the element as much as desired.
|
|
79
|
+
#
|
|
80
|
+
# === Translate element names
|
|
81
|
+
#
|
|
82
|
+
# Element names are passed through the I18n library. So you can translate them in your config/locales language yml file.
|
|
83
|
+
#
|
|
84
|
+
# Example:
|
|
85
|
+
#
|
|
86
|
+
# de:
|
|
87
|
+
# alchemy:
|
|
88
|
+
# element_names:
|
|
89
|
+
# contact: Kontakt
|
|
90
|
+
# search: Suche
|
|
91
|
+
|