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 +15 -0
- data/.gitignore +16 -0
- data/.jshintrc +13 -0
- data/Gemfile +10 -0
- data/README.md +43 -0
- data/Rakefile +7 -0
- data/app/assets/javascript/pageflow/new_pages_box.js +8 -0
- data/app/assets/javascript/pageflow/new_pages_box/widget.js +33 -0
- data/app/assets/stylesheets/pageflow/new_pages_box.scss +135 -0
- data/app/assets/stylesheets/pageflow/new_pages_box/themes/default.css.scss +17 -0
- data/app/views/pageflow/new_pages_box/_page.html.erb +20 -0
- data/app/views/pageflow/new_pages_box/_widget.html.erb +19 -0
- data/config/locales/de.yml +12 -0
- data/config/locales/en.yml +12 -0
- data/lib/pageflow-new-pages-box.rb +9 -0
- data/lib/pageflow/new_pages_box/engine.rb +9 -0
- data/lib/pageflow/new_pages_box/widget_type.rb +13 -0
- data/pageflow-new-pages-box.gemspec +21 -0
- metadata +103 -0
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
data/.jshintrc
ADDED
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,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,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: []
|