pageflow-new-pages-box 0.1.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.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NGU1ZTkzMTdiNjIxZjZjNzRhNWEzMmQ2NmNhYmUxZTZmNWIyZDQwOQ==
5
+ data.tar.gz: !binary |-
6
+ ODAwZjkyZWE2YTkwYjI1OTc3ZDZmOTI2NDk4OTgyYWMwOWM5Njg4MQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ZjI2NDI2YjViYmMwZGI0OThiODUxMzVlMDIyOTU2MjUxYjViZTlkM2NiZWE5
10
+ ZmQ0MWZiZDBkYmQ2NjQ3ZmIxZDBmOTE4Njg1ZWI1MmViZWU4NWQwNGQ4ZTBj
11
+ NDc5MzkwMzlmZmQ4YmE5MmZjMDEwYWVmMDIyZDBjZDI5MjYxMzg=
12
+ data.tar.gz: !binary |-
13
+ OTU4Zjc0YWJmODY5YzFmNzRlOThmNjc2NGEwYjZiNTJmM2Q0MjM3MDAyZjdi
14
+ NGNhMGRlMjU1YmY3ZGI2NDczYzY5MDYzMmFjNDdlM2I3Y2MzYzNiNjdhN2Nh
15
+ NDQwYTU3ZWY3ZmVmNTVlYzg1MmFjNWU3MzdjNzJhNzRjMDU3MGM=
data/.gitignore ADDED
@@ -0,0 +1,16 @@
1
+ *.gem
2
+ *.rbc
3
+ *.sqlite3
4
+ .bundle
5
+ .config
6
+ .yardoc
7
+ .idea
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ pkg
12
+ spec/reports
13
+ tmp
14
+ log
15
+ Gemfile.lock
16
+ .localeapp
data/.jshintrc ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "browser": true,
3
+ "undef": true,
4
+ "immed": true,
5
+ "trailing": true,
6
+ "globals": {
7
+ "jQuery": true,
8
+ "$": true,
9
+ "_": true,
10
+ "I18n": true,
11
+ "pageflow": true
12
+ }
13
+ }
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in chart.gemspec
4
+ gemspec
5
+
6
+ # Rails 4 compat
7
+ gem 'activeadmin', git: 'https://github.com/codevise/active_admin.git', branch: 'rails4'
8
+ gem 'ransack'
9
+ gem 'inherited_resources', '1.4.1'
10
+ gem 'formtastic', '2.3.0.rc2'
data/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # Pageflow New Pages Box
2
+
3
+ A small box listing the pages that were added since your last visit
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's `Gemfile`:
8
+
9
+ gem 'pageflow-new-pages-box'
10
+
11
+ Register the widget type inside the configure block in `config/initializers/pageflow.rb`
12
+
13
+ Pageflow.configure do |config|
14
+ config.widget_types.register(Pageflow::NewPagesBox.widget_type)
15
+ end
16
+
17
+ Include javascripts and stylesheets:
18
+
19
+ # app/assets/javascripts/pageflow/application.js
20
+ //= require pageflow/new_pages_box
21
+
22
+ # app/assets/stylesheets/pageflow/application.css.scss
23
+ @import "pageflow/new_pages_box";
24
+
25
+ # Adding basic style to your theme
26
+ # app/assets/stylesheets/pageflow/themes/default.css.scss
27
+ @import "pageflow/new_pages_box/themes/default";
28
+
29
+ Execute `bundle install` Restart the application server.
30
+
31
+ ## Troubleshooting
32
+
33
+ If you run into problems while installing the page type, please also refer to the
34
+ [Troubleshooting](https://github.com/codevise/pageflow/wiki/Troubleshooting) wiki
35
+ page in the [Pageflow repository](https://github.com/codevise/pageflow). If that
36
+ doesn't help, consider
37
+ [filing an issue](https://github.com/codevise/pageflow-new-pages-box/issues).
38
+
39
+ ## Contributing Locales
40
+
41
+ Edit the translations directly on the
42
+ [pageflow-new-pages-box](http://www.localeapp.com/projects/public?search=tf/pageflow-new-pages-box)
43
+ locale project.
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,8 @@
1
+ //= require_self
2
+ //= require ./new_pages_box/widget
3
+
4
+ pageflow.widgetTypes.register('new_pages_box', {
5
+ enhance: function(element) {
6
+ element.newPagesBox();
7
+ }
8
+ });
@@ -0,0 +1,33 @@
1
+ (function($) {
2
+ $.widget('pageflow.newPagesBox', {
3
+ _create: function() {
4
+ var wrapperElement = this.element.find('.new_pages_box_wrapper');
5
+
6
+ pageflow.ready.then(function() {
7
+ var unvisitedPages = pageflow.visited.getUnvisitedPages();
8
+
9
+ if (unvisitedPages.length > 0) {
10
+ _.chain(unvisitedPages).first(3).each(function(permaId) {
11
+ var link = wrapperElement.find('a[href="#'+ permaId + '"]');
12
+ link.parent().show();
13
+ });
14
+
15
+ if (unvisitedPages.length > 3) {
16
+ wrapperElement.find(".additional_pages_hint").show();
17
+ wrapperElement.find(".additional_pages_hint span").html(unvisitedPages.length - 3);
18
+ }
19
+
20
+ wrapperElement.delay(1000).fadeIn(1000);
21
+ }
22
+ });
23
+
24
+ wrapperElement.find('.close_hint').on('click', function() {
25
+ wrapperElement.fadeOut(500);
26
+ });
27
+
28
+ pageflow.slides.on('pageactivate', function(e) {
29
+ wrapperElement.fadeOut(1000);
30
+ });
31
+ }
32
+ });
33
+ }(jQuery));
@@ -0,0 +1,135 @@
1
+ .new_pages_box {
2
+ .new_pages_box_wrapper {
3
+ display: none;
4
+ position: absolute;
5
+ padding: 15px;
6
+ bottom: 1%;
7
+ right: 1%;
8
+ margin-right: 110px;
9
+ z-index: 1;
10
+ width: 300px;
11
+
12
+
13
+ &:before {
14
+ display: none;
15
+ }
16
+
17
+ > h3 {
18
+ margin: 0;
19
+ }
20
+
21
+ @include mobile {
22
+ right: initial;
23
+ bottom: initial;
24
+ left: 50%;
25
+ top: 50%;
26
+ @include transform(translate(-50%,-50%));
27
+ }
28
+
29
+ @include phone {
30
+ font-size: 0.8em;
31
+ width: 266px;
32
+
33
+ img {
34
+ width: 136px;
35
+ background-position: center;
36
+ background-size: cover;
37
+ }
38
+ }
39
+
40
+ .navigation_site_detail {
41
+ display: block;
42
+ padding: 6px 0 0 0;
43
+ position: relative;
44
+
45
+ &:before {
46
+ content: "";
47
+ position: absolute;
48
+ width: 100%;
49
+ padding: 0 5px;
50
+ left: -5px;
51
+ top: 0;
52
+ height: 100%;
53
+ z-index: -1;
54
+ visibility: hidden;
55
+ }
56
+
57
+ &:hover:before {
58
+ visibility: visible;
59
+ }
60
+ }
61
+
62
+ ul {
63
+ padding: 0;
64
+ list-style: none;
65
+
66
+ li {
67
+ display: none;
68
+
69
+ h2 {
70
+ margin: 0;
71
+ font-size: 0.8em;
72
+ line-height: 1.2em;
73
+
74
+ span {
75
+ display: block;
76
+
77
+ &.chapter_number {
78
+ font-weight: normal;
79
+ }
80
+ }
81
+ }
82
+
83
+ .title_area {
84
+ position: absolute;
85
+ right: 0;
86
+ width: 118px;
87
+ top: 50%;
88
+ max-height: 100%;
89
+ overflow: hidden;
90
+ @include transform(translate(0,-51%));
91
+ }
92
+ }
93
+ }
94
+
95
+ hr {
96
+ border: 0;
97
+ margin: 0;
98
+ }
99
+
100
+ a {
101
+ color: white;
102
+
103
+ &.close_hint {
104
+ position: relative;
105
+ margin-left: 15px;
106
+ float:right;
107
+
108
+ &:before {
109
+ left: -16px;
110
+ top: 4px;
111
+ position: absolute;
112
+ background-image: url(/assets/pageflow/anchor_white.png);
113
+ width: 10px;
114
+ height: 12px;
115
+ content: "";
116
+ display: inline-block;
117
+ background-repeat: no-repeat;
118
+ background-position: center;
119
+
120
+ @include phone {
121
+ top: 3px;
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ .additional_pages_hint {
128
+ display: none;
129
+
130
+ span {
131
+ font-weight: bold;
132
+ }
133
+ }
134
+ }
135
+ }
@@ -0,0 +1,17 @@
1
+ .new_pages_box {
2
+ $border-color: #9c9c9c;
3
+ $text-color: #fff;
4
+
5
+ .new_pages_box_wrapper {
6
+ background-color: $basic-background-color;
7
+ background-color: $basic-background-color-transparent;
8
+ border: 2px solid $border-color;
9
+ color: $text-color;
10
+ font-family: $standard-font;
11
+ }
12
+
13
+ .navigation_site_detail:before {
14
+ background-color: darken($basic-background-color, 5%);
15
+ background-color: darken($basic-background-color-transparent, 5%);
16
+ }
17
+ }
@@ -0,0 +1,20 @@
1
+ <%= content_tag(:li, class: page_navigation_css_class(page)) do %>
2
+ <%= link_to("##{page.perma_id}",
3
+ class: 'navigation_site_detail',
4
+ data: {link: page.id, chapter_id: page.chapter_id}) do %>
5
+
6
+ <div class="title_area">
7
+ <% if chapters_count > 1 %>
8
+ <h2>
9
+ <span class="chapter_title"><%= page.chapter.title %></span>
10
+ </h2>
11
+ <% end %>
12
+
13
+ <%= page.title %>
14
+ </div>
15
+
16
+ <%= image_tag("pageflow/#{page.template}_pictogram.png",
17
+ style: "background-image: url('#{asset_path(page.thumbnail_url(:navigation_thumbnail_large))}')") %>
18
+ <% end %>
19
+ <hr />
20
+ <% end %>
@@ -0,0 +1,19 @@
1
+ <div class="new_pages_box" data-widget="new_pages_box">
2
+ <% if entry.emphasize_new_pages %>
3
+ <div class="new_pages_box_wrapper">
4
+ <h3><%= t('.title') %></h3>
5
+ <p><%= t('.description') %></p>
6
+ <ul>
7
+ <%= render(partial: 'pageflow/new_pages_box/page',
8
+ collection: entry.pages.displayed_in_navigation,
9
+ locals: {chapters_count: entry.chapters.count}) %>
10
+ </ul>
11
+
12
+ <p class="additional_pages_hint">
13
+ <%= t('.additional_pages_html') %>
14
+ </p>
15
+
16
+ <a href="#" class="close_hint"><%= t('.close_hint') %></a>
17
+ </div>
18
+ <% end %>
19
+ </div>
@@ -0,0 +1,12 @@
1
+ de:
2
+ pageflow:
3
+ new_pages_box:
4
+ widget:
5
+ additional_pages_html: ! '...und <span></span> weitere'
6
+ close_hint: Hinweis schließen
7
+ description: ! 'Seit dem letzten Besuch wurden diesem Pageflow neue Seiten hinzugefügt:'
8
+ title: Neue Seiten
9
+ widget_type_name: Box mit Thumbnails
10
+ widgets:
11
+ roles:
12
+ new_pages_box: Neue Seiten Hinweis
@@ -0,0 +1,12 @@
1
+ en:
2
+ pageflow:
3
+ new_pages_box:
4
+ widget:
5
+ additional_pages_html: ! '...and <span></span> more'
6
+ close_hint: Close hint
7
+ description: ! 'Since your last visit, pages have been added to this pageflow:'
8
+ title: New Pages
9
+ widget_type_name: Box with thumbnails
10
+ widgets:
11
+ roles:
12
+ new_pages_box: New pages box
@@ -0,0 +1,9 @@
1
+ require 'pageflow/new_pages_box/engine'
2
+
3
+ module Pageflow
4
+ module NewPagesBox
5
+ def self.widget_type
6
+ NewPagesBox::WidgetType.new
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Pageflow
2
+ module NewPagesBox
3
+ class Engine < Rails::Engine
4
+ isolate_namespace Pageflow::NewPagesBox
5
+
6
+ config.autoload_paths << File.join(config.root, 'lib')
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ module Pageflow
2
+ module NewPagesBox
3
+ class WidgetType < Pageflow::WidgetType
4
+ def name
5
+ 'new_pages_box'
6
+ end
7
+
8
+ def roles
9
+ ['new_pages_box']
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ # coding: utf-8
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'pageflow-new-pages-box'
5
+ spec.version = '0.1.0'
6
+ spec.authors = ['Codevise Solutions Ltd.']
7
+ spec.email = ['info@codevise.de']
8
+ spec.summary = 'Pageflow new pages box widget.'
9
+ spec.homepage = ''
10
+ spec.license = 'MIT'
11
+
12
+ spec.files = `git ls-files`.split($/)
13
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
14
+ spec.test_files = spec.files.grep(%r{^spec/})
15
+ spec.require_paths = ['lib']
16
+
17
+ spec.add_runtime_dependency 'pageflow', '~> 0.7'
18
+
19
+ spec.add_development_dependency 'bundler'
20
+ spec.add_development_dependency 'rake'
21
+ end
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pageflow-new-pages-box
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Codevise Solutions Ltd.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: pageflow
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '0.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '0.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description:
56
+ email:
57
+ - info@codevise.de
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - .gitignore
63
+ - .jshintrc
64
+ - Gemfile
65
+ - README.md
66
+ - Rakefile
67
+ - app/assets/javascript/pageflow/new_pages_box.js
68
+ - app/assets/javascript/pageflow/new_pages_box/widget.js
69
+ - app/assets/stylesheets/pageflow/new_pages_box.scss
70
+ - app/assets/stylesheets/pageflow/new_pages_box/themes/default.css.scss
71
+ - app/views/pageflow/new_pages_box/_page.html.erb
72
+ - app/views/pageflow/new_pages_box/_widget.html.erb
73
+ - config/locales/de.yml
74
+ - config/locales/en.yml
75
+ - lib/pageflow-new-pages-box.rb
76
+ - lib/pageflow/new_pages_box/engine.rb
77
+ - lib/pageflow/new_pages_box/widget_type.rb
78
+ - pageflow-new-pages-box.gemspec
79
+ homepage: ''
80
+ licenses:
81
+ - MIT
82
+ metadata: {}
83
+ post_install_message:
84
+ rdoc_options: []
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ! '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ requirements: []
98
+ rubyforge_project:
99
+ rubygems_version: 2.4.2
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: Pageflow new pages box widget.
103
+ test_files: []