pageflow 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pageflow might be problematic. Click here for more details.
- checksums.yaml +8 -8
- data/Rakefile +2 -1
- data/admins/pageflow/accounts.rb +20 -4
- data/admins/pageflow/entry.rb +4 -5
- data/app/assets/javascripts/pageflow/audio_player.js +16 -7
- data/app/assets/javascripts/pageflow/base.js +5 -0
- data/app/assets/javascripts/pageflow/built_in_widget_types.js +11 -0
- data/app/assets/javascripts/pageflow/cookies.js +43 -0
- data/app/assets/javascripts/pageflow/editor/base.js +2 -10
- data/app/assets/javascripts/pageflow/editor/collections/widgets_collection.js +16 -0
- data/app/assets/javascripts/pageflow/editor/controllers/sidebar_controller.js +3 -2
- data/app/assets/javascripts/pageflow/editor/edit_widget.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_widget_types.js +3 -0
- data/app/assets/javascripts/pageflow/editor/models/configuration.js +18 -9
- data/app/assets/javascripts/pageflow/editor/models/edit_lock_container.js +1 -0
- data/app/assets/javascripts/pageflow/editor/models/entry.js +13 -3
- data/app/assets/javascripts/pageflow/editor/models/entry_configuration.js +4 -0
- data/app/assets/javascripts/pageflow/editor/models/entry_configuration_file_selection_handler.js +11 -0
- data/app/assets/javascripts/pageflow/editor/models/image_file.js +4 -0
- data/app/assets/javascripts/pageflow/editor/models/mixins/widget_subject.js +37 -0
- data/app/assets/javascripts/pageflow/editor/models/page.js +1 -1
- data/app/assets/javascripts/pageflow/editor/models/page_configuration_file_selection_handler.js +1 -25
- data/app/assets/javascripts/pageflow/editor/models/theming.js +3 -0
- data/app/assets/javascripts/pageflow/editor/models/video_file.js +7 -0
- data/app/assets/javascripts/pageflow/editor/models/widget.js +19 -0
- data/app/assets/javascripts/pageflow/editor/routers/sidebar_router.js +1 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning.jst.ejs +18 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning_preview.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning_sliders.jst.ejs +6 -0
- data/app/assets/javascripts/pageflow/editor/templates/edit_meta_data.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/edit_widget.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/edit_widgets.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/entry_preview.jst.ejs +1 -3
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_preview_view.js +39 -0
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_sliders_view.js +94 -0
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_view.js +67 -0
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio_loop.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/background_image.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/background_video.js +4 -3
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/internal_links.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/video.js +9 -2
- data/app/assets/javascripts/pageflow/editor/views/edit_meta_data_view.js +18 -2
- data/app/assets/javascripts/pageflow/editor/views/edit_widget_view.js +29 -0
- data/app/assets/javascripts/pageflow/editor/views/edit_widgets_view.js +20 -0
- data/app/assets/javascripts/pageflow/editor/views/embedded/background_image_embedded_view.js +8 -3
- data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +53 -9
- data/app/assets/javascripts/pageflow/editor/views/page_item_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +11 -3
- data/app/assets/javascripts/pageflow/events.js +1 -0
- data/app/assets/javascripts/pageflow/features/hashchange_support.js +8 -0
- data/app/assets/javascripts/pageflow/history.js +14 -2
- data/app/assets/javascripts/pageflow/page_types/audio.js +18 -6
- data/app/assets/javascripts/pageflow/page_types/audio_loop.js +19 -7
- data/app/assets/javascripts/pageflow/page_types/background_video.js +41 -33
- data/app/assets/javascripts/pageflow/page_types/mixins/video_helpers.js +7 -16
- data/app/assets/javascripts/pageflow/ready.js +12 -25
- data/app/assets/javascripts/pageflow/slideshow.js +5 -5
- data/app/assets/javascripts/pageflow/slideshow/hide_text_on_swipe.js +1 -1
- data/app/assets/javascripts/pageflow/slideshow/page_widget.js +11 -1
- data/app/assets/javascripts/pageflow/slideshow/scroll_indicator_widget.js +19 -2
- data/app/assets/javascripts/pageflow/slideshow/scroller_widget.js +31 -6
- data/app/assets/javascripts/pageflow/slideshow/swipe_gesture.js +6 -5
- data/app/assets/javascripts/pageflow/ui.js +16 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/object.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/renderer.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/check_box.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/file_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/page_reference.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/select_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/slider_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/text_area_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/text_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/url_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/tabs_view.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/collection_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/configuration_editor_tab_view.js +8 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/configuration_editor_view.js +3 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/check_box_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/file_input_view.js +10 -8
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/page_reference_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/proxy_url_input_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/select_input_view.js +41 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/slider_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/text_area_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/text_input_view.js +8 -2
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/url_input_view.js +9 -3
- data/app/assets/javascripts/pageflow/{editor/views → ui/views/mixins}/input_view.js +5 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/mixins/subview_container.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/sortable_collection_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/tabs_view.js +11 -2
- data/app/assets/javascripts/pageflow/video_player/lazy.js +4 -1
- data/app/assets/javascripts/pageflow/visited.js +56 -0
- data/app/assets/javascripts/pageflow/widget_types.js +27 -0
- data/app/assets/javascripts/pageflow/widgets/events.js +33 -0
- data/app/assets/javascripts/pageflow/widgets/navigation.js +42 -33
- data/app/assets/javascripts/pageflow/widgets/navigation_mobile.js +60 -38
- data/app/assets/javascripts/pageflow/widgets/overview.js +3 -3
- data/app/assets/javascripts/pageflow/widgets/page_navigation_list.js +34 -4
- data/app/assets/javascripts/pageflow/widgets/share_menu.js +60 -0
- data/app/assets/stylesheets/pageflow/admin.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/admin/tabs_view.css.scss +50 -0
- data/app/assets/stylesheets/pageflow/application_with_simulated_media_queries.css.scss +2 -0
- data/app/assets/stylesheets/pageflow/base.css.scss +2 -1
- data/app/assets/stylesheets/pageflow/editor/{image_positioning.css.scss → background_positioning.css.scss} +66 -65
- data/app/assets/stylesheets/pageflow/editor/base.css.scss +7 -5
- data/app/assets/stylesheets/pageflow/editor/file_thumbnails.css.scss +7 -9
- data/app/assets/stylesheets/pageflow/editor/select_button.css.scss +4 -4
- data/app/assets/stylesheets/pageflow/editor/widgets.css.scss +4 -0
- data/app/assets/stylesheets/pageflow/entries.css.scss +5 -0
- data/app/assets/stylesheets/pageflow/mixins/breakpoints.css.scss +75 -10
- data/app/assets/stylesheets/pageflow/multimedia_alert.css.scss +31 -30
- data/app/assets/stylesheets/pageflow/navigation_bar.css.scss +4 -0
- data/app/assets/stylesheets/pageflow/navigation_mobile.css.scss +57 -58
- data/app/assets/stylesheets/pageflow/player_controls.css.scss +2 -2
- data/app/assets/stylesheets/pageflow/slideshow.css.scss +4 -1
- data/app/assets/stylesheets/pageflow/subshare.css.scss +28 -0
- data/app/assets/stylesheets/pageflow/ui.css.scss +7 -0
- data/app/assets/stylesheets/pageflow/{editor → ui}/forms.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/{editor → ui}/tabs_view.css.scss +1 -0
- data/app/controllers/pageflow/editor/widgets_controller.rb +39 -0
- data/app/controllers/pageflow/entries_controller.rb +10 -1
- data/app/helpers/pageflow/entries_helper.rb +7 -0
- data/app/helpers/pageflow/page_types_helper.rb +7 -7
- data/app/helpers/pageflow/pages_helper.rb +36 -5
- data/app/helpers/pageflow/social_share_helper.rb +54 -0
- data/app/helpers/pageflow/widgets_helper.rb +43 -0
- data/app/models/pageflow/draft_entry.rb +4 -1
- data/app/models/pageflow/entry.rb +1 -0
- data/app/models/pageflow/published_entry.rb +6 -3
- data/app/models/pageflow/revision.rb +5 -0
- data/app/models/pageflow/theming.rb +3 -0
- data/app/models/pageflow/widget.rb +74 -0
- data/app/views/admin/accounts/_form.html.erb +10 -0
- data/app/views/components/pageflow/admin/entries_tab.rb +22 -0
- data/app/views/components/pageflow/admin/members_tab.rb +35 -0
- data/app/views/components/pageflow/admin/revisions_tab.rb +51 -0
- data/app/views/components/pageflow/admin/tabs_view.rb +78 -0
- data/app/views/components/pageflow/admin/users_tab.rb +22 -0
- data/app/views/layouts/pageflow/application.html.erb +5 -5
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +7 -4
- data/app/views/pageflow/editor/files/_file.json.jbuilder +2 -2
- data/app/views/pageflow/editor/widgets/_widget.json.jbuilder +2 -0
- data/app/views/pageflow/editor/widgets/index.json.jbuilder +1 -0
- data/app/views/pageflow/entries/_entry.html.erb +6 -2
- data/app/views/pageflow/entries/_mobile_navigation.html.erb +56 -0
- data/app/views/pageflow/entries/_navigation.html.erb +3 -53
- data/app/views/pageflow/entries/edit.html.erb +2 -0
- data/app/views/pageflow/entries/navigation/_bar_top.html.erb +7 -3
- data/app/views/pageflow/entries/navigation/_page.html.erb +2 -2
- data/app/views/pageflow/entries/partials.html.erb +1 -1
- data/app/views/pageflow/entries/show.html.erb +12 -4
- data/app/views/pageflow/files/show.html.erb +5 -0
- data/app/views/pageflow/pages/templates/_audio_loop.html.erb +1 -1
- data/app/views/pageflow/pages/templates/_background_video.html.erb +2 -2
- data/app/views/pageflow/pages/templates/_video.html.erb +4 -3
- data/app/views/pageflow/{entries/_social_meta_tags.html.erb → social_share/_entry_meta_tags.html.erb} +2 -2
- data/app/views/pageflow/social_share/_image_tags.html.erb +3 -0
- data/app/views/pageflow/social_share/_page_meta_tags.html.erb +9 -0
- data/config/initializers/admin_resource_tabs.rb +7 -0
- data/config/initializers/paperclip.rb +1 -1
- data/config/initializers/view_components.rb +9 -1
- data/config/initializers/widget_types.rb +4 -0
- data/config/locales/activerecord.de.yml +5 -1
- data/config/locales/admin/tabs.de.yml +8 -0
- data/config/locales/editor.de.yml +5 -4
- data/config/locales/pageflow/editor/background_positioning.de.yml +13 -0
- data/config/locales/pageflow/ui.de.yml +6 -0
- data/config/locales/pageflow/widgets.de.yml +14 -0
- data/config/routes.rb +6 -0
- data/config/spring.rb +2 -1
- data/db/migrate/20141027102310_create_widgets.rb +11 -0
- data/db/migrate/20141028125408_add_emphasize_chapter_beginning_to_revisions.rb +5 -0
- data/db/migrate/20141119164526_add_emphasize_new_pages_to_revisions.rb +5 -0
- data/db/migrate/20141119174032_add_sharing_image_to_revisions.rb +7 -0
- data/lib/pageflow/ability_mixin.rb +2 -0
- data/lib/pageflow/admin/tabs.rb +18 -0
- data/lib/pageflow/built_in_widget_type.rb +27 -0
- data/lib/pageflow/configuration.rb +17 -0
- data/lib/pageflow/engine.rb +2 -0
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow/widget_type.rb +52 -0
- data/lib/pageflow/widget_types.rb +50 -0
- data/spec/factories/audio_files.rb +1 -1
- data/spec/factories/chapters.rb +1 -1
- data/spec/factories/entries.rb +2 -2
- data/spec/factories/image_files.rb +1 -1
- data/spec/factories/video_files.rb +1 -1
- data/spec/factories/widgets.rb +6 -0
- data/vendor/assets/javascripts/audio5.min.js +3 -0
- metadata +104 -44
- data/app/assets/javascripts/pageflow/editor/templates/image_positioning.jst.ejs +0 -26
- data/app/assets/javascripts/pageflow/editor/views/image_positioning_view.js +0 -153
- data/app/views/admin/accounts/_entries_panel.html.arb +0 -15
- data/app/views/admin/accounts/_users_panel.html.arb +0 -15
- data/app/views/admin/entries/_members.html.arb +0 -29
- data/app/views/admin/entries/_revisions.html.arb +0 -45
@@ -20,21 +20,25 @@
|
|
20
20
|
</li>
|
21
21
|
<li class="navigation_menu share" tabindex="2">
|
22
22
|
<div class="navigation_menu_box navigation_share_box">
|
23
|
-
<%= link_to "http://www.facebook.com/sharer/sharer.php?s=100&p%5Burl%5D=#{ERB::Util.url_encode(pretty_entry_url(entry))}&p%5Btitle%5D=#{ERB::Util.url_encode(entry.title)}", :target => "_blank", :tabindex => "2", :class => "share facebook" do %>
|
23
|
+
<%= link_to "http://www.facebook.com/sharer/sharer.php?s=100&p%5Burl%5D=#{ERB::Util.url_encode(pretty_entry_url(entry))}&p%5Btitle%5D=#{ERB::Util.url_encode(entry.title)}", :target => "_blank", :tabindex => "2", :class => "share facebook", :data => { :"share-page" => "http://www.facebook.com/sharer/sharer.php?s=100&p%5Burl%5D=#{ERB::Util.url_encode(pretty_entry_url(entry))}%3Fpage%3DpermaId" } do %>
|
24
24
|
<span class="hint">über facebook teilen</span>
|
25
25
|
<span class="share_facebook button"></span>
|
26
26
|
<p>facebook</p>
|
27
27
|
<% end %>
|
28
|
-
<%= link_to "http://twitter.com/home?status=#{ERB::Util.url_encode(pretty_entry_url(entry))}", :target => "_blank", :tabindex => "2", :class => "share twitter" do %>
|
28
|
+
<%= link_to "http://twitter.com/home?status=#{ERB::Util.url_encode(pretty_entry_url(entry))}", :target => "_blank", :tabindex => "2", :class => "share twitter", :data => { :"share-page" => "http://twitter.com/home?status=#{ERB::Util.url_encode(pretty_entry_url(entry))}%3Fpage%3DpermaId" } do %>
|
29
29
|
<span class="hint">über twitter teilen</span>
|
30
30
|
<span class="share_twitter button"></span>
|
31
31
|
<p>twitter</p>
|
32
32
|
<% end %>
|
33
|
-
<%= link_to "https://plus.google.com/share?url=#{ERB::Util.url_encode(pretty_entry_url(entry))}", :target => "_blank", :tabindex => "2", :class => "share google" do %>
|
33
|
+
<%= link_to "https://plus.google.com/share?url=#{ERB::Util.url_encode(pretty_entry_url(entry))}", :target => "_blank", :tabindex => "2", :class => "share google", :data => { :"share-page" => "https://plus.google.com/share?url=#{ERB::Util.url_encode(pretty_entry_url(entry))}%3Fpage%3DpermaId" } do %>
|
34
34
|
<span class="hint">über Google+ teilen</span>
|
35
35
|
<span class="share_google button"></span>
|
36
36
|
<p>google</p>
|
37
37
|
<% end %>
|
38
|
+
<div class="sub_share">
|
39
|
+
<a tabindex="2" target="_blank"><%= I18n.t('pageflow.widgets.share_menu.entry') %></a>
|
40
|
+
<a tabindex="2" target="_blank"><%= I18n.t('pageflow.widgets.share_menu.current_page') %></a>
|
41
|
+
</div>
|
38
42
|
</div>
|
39
43
|
<a title="Angebot weiterempfehlen">
|
40
44
|
<span class="hint">teilen</span>
|
@@ -1,10 +1,10 @@
|
|
1
|
-
<li class="<%= page
|
1
|
+
<li class="<%= page_navigation_css_class(page) %>">
|
2
2
|
<%= link_to "##{page.perma_id}", :data => {:link => page.id} do %>
|
3
3
|
<%= image_tag(page.thumbnail_url(image_style), :width => image_width) %>
|
4
4
|
<% end %>
|
5
5
|
<div class="navigation_site_detail">
|
6
6
|
<%= page.title %>
|
7
7
|
|
8
|
-
<%= image_tag("pageflow/#{page.template}_pictogram.png", :style => "background-image: url('#{page.thumbnail_url(:navigation_thumbnail_large)}')") %>
|
8
|
+
<%= image_tag("pageflow/#{page.template}_pictogram.png", :style => "background-image: url('#{asset_path(page.thumbnail_url(:navigation_thumbnail_large))}')") %>
|
9
9
|
</div>
|
10
10
|
</li>
|
@@ -1,10 +1,16 @@
|
|
1
1
|
<% @page_title = @entry.title %>
|
2
2
|
|
3
3
|
<% content_for(:head) do %>
|
4
|
-
<%=
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
<%= cache [@entry, :head] do %>
|
5
|
+
<%= stylesheet_link_tag('pageflow/application', media: 'all', 'data-turbolinks-track' => true) %>
|
6
|
+
<%= entry_theme_stylesheet_link_tag(@entry) %>
|
7
|
+
<%= entry_stylesheet_link_tag(@entry) %>
|
8
|
+
|
9
|
+
<%= social_share_meta_tags_for(@entry.share_target) %>
|
10
|
+
<%= render_widget_head_fragments(@entry) %>
|
11
|
+
|
12
|
+
<%= tag :link, :rel => 'icon', :href => image_path("pageflow/themes/#{@entry.theming.theme.directory_name}/favicon.ico"), :type => 'image/ico' %>
|
13
|
+
<% end %>
|
8
14
|
<% end %>
|
9
15
|
|
10
16
|
<%= cache @entry do %>
|
@@ -16,7 +22,9 @@
|
|
16
22
|
|
17
23
|
<script>
|
18
24
|
pageflow.manualStart.enabled = <%= @entry.manual_start ? 'true' : 'false' %>;
|
25
|
+
pageflow.visited.enabled = <%= @entry.emphasize_new_pages ? 'true' : 'false' %>;
|
19
26
|
pageflow.pages = <%= @entry.pages.to_json(:only => [:id, :perma_id, :configuration]).html_safe %>;
|
27
|
+
pageflow.entryId = <%= @entry.id %>;
|
20
28
|
</script>
|
21
29
|
|
22
30
|
<%= render 'pageflow/entries/analytics', :entry => @entry %>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<span class="title"><%= configuration['title'] %></span>
|
13
13
|
<span class="subtitle"><%= configuration['subtitle'] %></span>
|
14
14
|
</h2>
|
15
|
-
<%= background_image_tag(configuration['background_image_id'], {
|
15
|
+
<%= background_image_tag(configuration['background_image_id'], {:class => "print_image"}) %>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
<div class="content">
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="blackLayer"></div>
|
2
2
|
<div class="content_and_background backgroundVideo">
|
3
3
|
<div class="backgroundArea">
|
4
|
-
<%=
|
4
|
+
<%= mobile_poster_image_div(configuration) %>
|
5
5
|
<span class="hint">Video Loop</span>
|
6
6
|
<%= lookup_video_tag(configuration['video_file_id'],
|
7
7
|
configuration['poster_image_id'], :class => 'background', :loop => true, :unique_id => page.id, :preload => page.is_first) %>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<span class="title"><%= configuration['title'] %></span>
|
17
17
|
<span class="subtitle"><%= configuration['subtitle'] %></span>
|
18
18
|
</h2>
|
19
|
-
<%= poster_image_tag(configuration['video_file_id'], configuration['poster_image_id'], {
|
19
|
+
<%= poster_image_tag(configuration['video_file_id'], configuration['poster_image_id'], {:class => "print_image"}) %>
|
20
20
|
</div>
|
21
21
|
<div class="contentText">
|
22
22
|
<p><%= raw configuration['text'] %></p>
|
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
<div class="blackLayer"></div>
|
3
2
|
<div class="content_and_background videoPage">
|
4
3
|
<div class="page_header">
|
@@ -7,11 +6,13 @@
|
|
7
6
|
<span class="title"><%= configuration['title'] %></span>
|
8
7
|
<span class="subtitle"><%= configuration['subtitle'] %></span>
|
9
8
|
</h2>
|
10
|
-
<%= poster_image_tag(configuration['video_file_id'], configuration['poster_image_id'], {
|
9
|
+
<%= poster_image_tag(configuration['video_file_id'], configuration['poster_image_id'], {:class => "print_image"}) %>
|
11
10
|
</div>
|
12
11
|
<div class="backgroundArea">
|
13
12
|
<div class="videoWrapper">
|
14
|
-
<%= lookup_video_tag(configuration['video_file_id'], configuration['poster_image_id'],
|
13
|
+
<%= lookup_video_tag(configuration['video_file_id'], configuration['poster_image_id'],
|
14
|
+
:mobile_poster_image_id => configuration['mobile_poster_image_id'],
|
15
|
+
:unique_id => page.id, :preload => page.is_first) %>
|
15
16
|
</div>
|
16
17
|
<%= shadow_div :opacity => configuration['gradient_opacity'] %>
|
17
18
|
</div>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<%= tag :link, :rel => "canonical", :href => pretty_entry_url(entry) %>
|
2
2
|
|
3
|
-
<%=
|
3
|
+
<%= social_share_entry_image_tags(entry) %>
|
4
4
|
|
5
5
|
<%= tag :meta, :property => "og:title", :content => "#{entry.title} - #{entry.theming.cname_domain}" %>
|
6
6
|
<%= tag :meta, :property => "og:description", :name => "description", :content => entry_summary(entry) %>
|
7
7
|
<%= tag :meta, :property => "og:url", :content => pretty_entry_url(entry) %>
|
8
8
|
<%= tag :meta, :property => "og:site_name", :content => entry.theming.cname_domain %>
|
9
|
-
<%= tag :meta, :property => "og:type", :content => "
|
9
|
+
<%= tag :meta, :property => "og:type", :content => "website" %>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<%= tag :link, :rel => "canonical", :href => social_share_page_url(page) %>
|
2
|
+
|
3
|
+
<%= tag :meta, :property => "og:image", :content => social_share_normalize_protocol(page.thumbnail_url(:medium)) %>
|
4
|
+
|
5
|
+
<%= tag :meta, :property => "og:title", :content => social_share_page_title(page) %>
|
6
|
+
<%= tag :meta, :property => "og:description", :name => "description", :content => social_share_page_description(page) %>
|
7
|
+
<%= tag :meta, :property => "og:url", :content => social_share_page_url(page) %>
|
8
|
+
<%= tag :meta, :property => "og:site_name", :content => entry.theming.cname_domain %>
|
9
|
+
<%= tag :meta, :property => "og:type", :content => "website" %>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
Pageflow.configure do |config|
|
2
|
+
config.admin_resource_tabs.register(:entry, name: :members, component: Pageflow::Admin::MembersTab)
|
3
|
+
config.admin_resource_tabs.register(:entry, name: :revisions, component: Pageflow::Admin::RevisionsTab)
|
4
|
+
|
5
|
+
config.admin_resource_tabs.register(:theming, name: :entries, component: Pageflow::Admin::EntriesTab)
|
6
|
+
config.admin_resource_tabs.register(:theming, name: :users, component: Pageflow::Admin::UsersTab)
|
7
|
+
end
|
@@ -107,7 +107,7 @@ Paperclip.interpolates(:class_basename) do |attachment, style|
|
|
107
107
|
end
|
108
108
|
|
109
109
|
Paperclip.interpolates(:pageflow_placeholder) do |attachment, style|
|
110
|
-
|
110
|
+
"pageflow/placeholder_#{style}.jpg"
|
111
111
|
end
|
112
112
|
|
113
113
|
Paperclip.interpolates(:pageflow_attachments_version) do |attachment, style|
|
@@ -1,3 +1,11 @@
|
|
1
1
|
# View components cannot be discovered via the auto loader since they
|
2
2
|
# are never referenced by class name.
|
3
|
-
|
3
|
+
Rails.application.config.to_prepare do
|
4
|
+
Dir[Pageflow::Engine.root.join('app/views/components/**/*.rb')].each do |f|
|
5
|
+
relative_path = f.gsub(Pageflow::Engine.root.join('app/views/components/').to_s, '')
|
6
|
+
class_name = relative_path.gsub(/.rb$/, '').classify
|
7
|
+
|
8
|
+
# trigger autoloading
|
9
|
+
class_name.constantize
|
10
|
+
end
|
11
|
+
end
|
@@ -97,6 +97,9 @@ de:
|
|
97
97
|
manual_start: "Multimedia Hinweis vor dem Start anzeigen"
|
98
98
|
home_url: "Home-Button URL"
|
99
99
|
home_button_enabled: "Home-Button anzeigen"
|
100
|
+
emphasize_chapter_beginning: "Kapitelanfang hervorheben"
|
101
|
+
emphasize_new_pages: "Neue Seiten hervorheben"
|
102
|
+
share_image_id: "Social Sharing Bild"
|
100
103
|
"pageflow/folder":
|
101
104
|
account: "Konto"
|
102
105
|
name: "Name"
|
@@ -122,7 +125,7 @@ de:
|
|
122
125
|
description: "Beschreibung für Übersicht"
|
123
126
|
additional_title: "Titel für Infobox"
|
124
127
|
additional_description: "Beschreibung für Infobox"
|
125
|
-
gradient_opacity: "Intensität
|
128
|
+
gradient_opacity: "Intensität der Abblendung"
|
126
129
|
invert: "Farben invertieren"
|
127
130
|
transition: "Übergangseffekt"
|
128
131
|
display_in_navigation: "In Navigationsleiste anzeigen"
|
@@ -134,6 +137,7 @@ de:
|
|
134
137
|
video_file_id: "Video"
|
135
138
|
audio_file_id: "Audio"
|
136
139
|
poster_image_id: "Posterbild"
|
140
|
+
mobile_poster_image_id: "Posterbild (mobil)"
|
137
141
|
linked_page_ids: "Seiten verknüpfen"
|
138
142
|
linked_pages_layout: "Hervorgehobenes Element"
|
139
143
|
hide_title: "Titel ausblenden"
|
@@ -7,9 +7,7 @@ de:
|
|
7
7
|
options: "Optionen"
|
8
8
|
links: "Verweise"
|
9
9
|
widgets: "Erscheinungsbild"
|
10
|
-
|
11
|
-
ratio16to9: "16:9"
|
12
|
-
ratio4to3: "4:3"
|
10
|
+
social: "Social"
|
13
11
|
files:
|
14
12
|
tabs:
|
15
13
|
image_files: "Bilder"
|
@@ -48,8 +46,9 @@ de:
|
|
48
46
|
gradient_opacity: "Wählen Sie die Intensität des Farbverlaufs so, dass ein ausreichender Kontrast zwischen Text und Hintegrund gewährleistet ist."
|
49
47
|
description: "Dieser Text wird auf der Übersichtseite angezeigt, wenn Sie den Mauszeiger über dem Vorschaubild einer Seite platzieren."
|
50
48
|
additional_title: "Die Infobox wird über den Steuerelementen zum Starten und Stoppen der Wiedegabe angezeigt."
|
51
|
-
text: "
|
49
|
+
text: "Dieser ist der Textbereich der Seite."
|
52
50
|
thumbnail_image_id: "Dieses Bild wird in der Navigationsleiste und anderen Verweisen auf die Seite gezeigt."
|
51
|
+
mobile_poster_image_id: "Dieses Bild wird in der Mobilvariante der Seite als Posterbild gezeigt."
|
53
52
|
"pageflow/entry":
|
54
53
|
title: "Vom Browser angezeigter Titel der Seite."
|
55
54
|
summary: "Zusammenfassung die an Soziale Netzwerke weitergeben wird."
|
@@ -57,6 +56,8 @@ de:
|
|
57
56
|
manual_start: "Besucher muss den Start des Beitrags durch einen Klick bestätigen."
|
58
57
|
home_button_enabled: "Link zu einer Übersichtsseite anzeigen."
|
59
58
|
home_button_enabled_disabled: "Diese Funktion steht in diesem Theme nicht zur Verfügung."
|
59
|
+
emphasize_chapter_beginning: "Die erste Seite eines jeden Kapitels wird hervorgehoben."
|
60
|
+
emphasize_new_pages: "Seit dem letzten Besuch neu hinzugefügte Seiten werden besonders gekennzeichnet."
|
60
61
|
home_url: "URL der Übersichtseite. Leer lassen, um Standard zu übernehmen."
|
61
62
|
home_url_disabled: "Diese Funktion steht in diesem Theme nicht zur Verfügung."
|
62
63
|
"pageflow/chapter":
|
@@ -0,0 +1,13 @@
|
|
1
|
+
de:
|
2
|
+
pageflow:
|
3
|
+
editor:
|
4
|
+
background_positioning:
|
5
|
+
title: "Bildauschnitt anpassen"
|
6
|
+
help: "Stellen Sie ein, welcher Teil des Bildes beim Zuschneiden sichtbar bleiben soll."
|
7
|
+
preview_title: "Vorschau"
|
8
|
+
previews:
|
9
|
+
banner: "Banner"
|
10
|
+
ratio16to9: "16:9 Landscape"
|
11
|
+
ratio4to3: "4:3 Landscape"
|
12
|
+
ratio16to9Portrait: "16:9 Portrait"
|
13
|
+
ratio4to3Portrait: "4:3 Portrait"
|
@@ -0,0 +1,14 @@
|
|
1
|
+
de:
|
2
|
+
pageflow:
|
3
|
+
widgets:
|
4
|
+
none: '(Kein)'
|
5
|
+
roles:
|
6
|
+
navigation: "Navigationsleiste"
|
7
|
+
mobile_navigation: "Mobile Navigation"
|
8
|
+
analytics: "Zählpixel"
|
9
|
+
type_names:
|
10
|
+
default_navigation: "Navigationsleiste mit Thumbnails"
|
11
|
+
default_mobile_navigation: "Navigationsmenü mit Thumbnails"
|
12
|
+
share_menu:
|
13
|
+
entry: "Diesen Beitrag"
|
14
|
+
current_page: "Diese Seite"
|
data/config/routes.rb
CHANGED
@@ -38,6 +38,12 @@ Pageflow::Engine.routes.draw do
|
|
38
38
|
post :check, :on => :collection
|
39
39
|
end
|
40
40
|
end
|
41
|
+
|
42
|
+
resources :subjects, path: '/subjects/:collection_name', only: [] do
|
43
|
+
resources :widgets, :only => [:index] do
|
44
|
+
patch :batch, :on => :collection
|
45
|
+
end
|
46
|
+
end
|
41
47
|
end
|
42
48
|
|
43
49
|
root :to => redirect('/admin')
|
data/config/spring.rb
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
require File.expand_path('../spec/support/pageflow/rails_version', File.dirname(__FILE__))
|
2
|
+
Spring.application_root = File.join(__FILE__, "../../spec/dummy/rails-#{Pageflow::RailsVersion.detect}")
|
@@ -34,6 +34,7 @@ module Pageflow
|
|
34
34
|
can :destroy, Account do |account|
|
35
35
|
account.users.empty? && account.entries.empty?
|
36
36
|
end
|
37
|
+
can :manage, Theming
|
37
38
|
|
38
39
|
can :manage, ::User
|
39
40
|
|
@@ -51,6 +52,7 @@ module Pageflow
|
|
51
52
|
|
52
53
|
can :manage, Resque
|
53
54
|
elsif user.account_manager?
|
55
|
+
can :manage, Theming, :account_id => user.account_id
|
54
56
|
can :manage, Folder, :account_id => user.account.id
|
55
57
|
can :manage, Entry, :account_id => user.account.id
|
56
58
|
can :manage, ::User, :account_id => user.account.id
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Admin
|
3
|
+
class Tabs
|
4
|
+
def initialize
|
5
|
+
@tabs = {}
|
6
|
+
end
|
7
|
+
|
8
|
+
def register(resource_name, view_component)
|
9
|
+
@tabs[resource_name] ||= []
|
10
|
+
@tabs[resource_name] << view_component
|
11
|
+
end
|
12
|
+
|
13
|
+
def find_by_resource(name)
|
14
|
+
@tabs.fetch(name, [])
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Pageflow
|
2
|
+
class BuiltInWidgetType < WidgetType
|
3
|
+
attr_reader :name, :roles, :partial_path
|
4
|
+
|
5
|
+
def initialize(name, roles, partial_path)
|
6
|
+
@name = name
|
7
|
+
@roles = roles
|
8
|
+
@partial_path = partial_path
|
9
|
+
end
|
10
|
+
|
11
|
+
def translation_key
|
12
|
+
"pageflow.widgets.type_names.#{name}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def render(template, entry)
|
16
|
+
template.render(partial_path, entry: entry)
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.navigation
|
20
|
+
new('default_navigation', ['navigation'], 'pageflow/entries/navigation')
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.mobile_navigation
|
24
|
+
new('default_mobile_navigation', ['mobile_navigation'], 'pageflow/entries/mobile_navigation')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -64,6 +64,10 @@ module Pageflow
|
|
64
64
|
# @return [FileTypes]
|
65
65
|
attr_reader :file_types
|
66
66
|
|
67
|
+
# Used to register new types of widgets to be displayed in entries.
|
68
|
+
# @return [WidgetTypes]
|
69
|
+
attr_reader :widget_types
|
70
|
+
|
67
71
|
# Paperclip style definitions of thumbnails used by Pageflow.
|
68
72
|
# @return Hash
|
69
73
|
attr_accessor :thumbnail_styles
|
@@ -135,6 +139,16 @@ module Pageflow
|
|
135
139
|
# explicitly confirmed in the editor. Defaults to false.
|
136
140
|
attr_accessor :confirm_encoding_jobs
|
137
141
|
|
142
|
+
# Used by Pageflow extensions to provide new tabs to be displayed
|
143
|
+
# in the admin.
|
144
|
+
#
|
145
|
+
# @example
|
146
|
+
#
|
147
|
+
# config.admin_resource_tabs.register(:entry, Admin::CustomTab)
|
148
|
+
#
|
149
|
+
# @return [Admin::TabsRegistry]
|
150
|
+
attr_reader :admin_resource_tabs
|
151
|
+
|
138
152
|
def initialize
|
139
153
|
@paperclip_filesystem_default_options = {}
|
140
154
|
@paperclip_s3_default_options = {}
|
@@ -147,6 +161,7 @@ module Pageflow
|
|
147
161
|
@quotas = Quotas.new
|
148
162
|
@themes = Themes.new
|
149
163
|
@file_types = FileTypes.new(page_types)
|
164
|
+
@widget_types = WidgetTypes.new
|
150
165
|
|
151
166
|
@thumbnail_styles = {}
|
152
167
|
@css_rendered_thumbnail_styles = Pageflow::PagesHelper::CSS_RENDERED_THUMBNAIL_STYLES
|
@@ -156,6 +171,8 @@ module Pageflow
|
|
156
171
|
@public_entry_url_options = Pageflow::ThemingsHelper::DEFAULT_PUBLIC_ENTRY_OPTIONS
|
157
172
|
|
158
173
|
@confirm_encoding_jobs = false
|
174
|
+
|
175
|
+
@admin_resource_tabs = Pageflow::Admin::Tabs.new
|
159
176
|
end
|
160
177
|
|
161
178
|
# Make a page type available for use in the system.
|