radiant-relations-extension 1.2.7 → 1.2.8

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.
@@ -1,3 +1,3 @@
1
1
  class RadiantRelationsExtension
2
- VERSION = '1.2.7'
2
+ VERSION = '1.2.8'
3
3
  end
@@ -31,6 +31,7 @@ module RelationsExtension::RelationsTags
31
31
  By default the order will be ascending, you can reverse it 'SQL style' by adding " desc" to the order attribute.
32
32
  }
33
33
  tag 'related_pages:each' do |tag|
34
+ tag.locals.previous_headers = {}
34
35
  tag.locals.related_pages.inject('') do |result, related_page|
35
36
  tag.locals.page = related_page
36
37
  result + tag.expand
@@ -68,4 +69,54 @@ module RelationsExtension::RelationsTags
68
69
  tag.locals.page = tag.locals.related_pages.last
69
70
  tag.expand
70
71
  end
72
+
73
+ desc %{ Expands if the current page in related_pages:each is the first one. }
74
+ tag 'related_pages:each:if_first' do |tag|
75
+ tag.expand if tag.locals.page == tag.locals.related_pages.first
76
+ end
77
+ tag 'related_pages:each:unless_first' do |tag|
78
+ tag.expand unless tag.locals.page == tag.locals.related_pages.first
79
+ end
80
+ desc %{ Expands if the current page in related_pages:each is the last one. }
81
+ tag 'related_pages:each:if_last' do |tag|
82
+ tag.expand if tag.locals.page == tag.locals.related_pages.last
83
+ end
84
+ tag 'related_pages:each:unless_last' do |tag|
85
+ tag.expand unless tag.locals.page == tag.locals.related_pages.last
86
+ end
87
+ desc %{
88
+ Renders the tag contents only if the contents do not match the previous header.
89
+
90
+ If you would like to use several header blocks you may use the @name@ attribute to
91
+ name the header. When a header is named it will not restart until another header of
92
+ the same name is different.
93
+
94
+ Using the @restart@ attribute you can cause other named headers to restart when the
95
+ present header changes. Simply specify the names of the other headers in a semicolon
96
+ separated list.
97
+
98
+ *Usage:*
99
+
100
+ <pre><code><r:related_pages:each>
101
+ <r:header [name="header_name"] [restart="name1[;name2;...]"]>
102
+ ...
103
+ </r:header>
104
+ </r:related_pages:each>
105
+ </code></pre>
106
+ }
107
+ tag 'related_pages:each:header' do |tag|
108
+ previous_headers = tag.locals.previous_headers
109
+ name = tag.attr['name'] || :unnamed
110
+ restart = (tag.attr['restart'] || '').split(';')
111
+ header = tag.expand
112
+ unless header == previous_headers[name]
113
+ previous_headers[name] = header
114
+ unless restart.empty?
115
+ restart.each do |n|
116
+ previous_headers[n] = nil
117
+ end
118
+ end
119
+ header
120
+ end
121
+ end
71
122
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radiant-relations-extension
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.7
4
+ version: 1.2.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-10-07 00:00:00.000000000 Z
13
+ date: 2020-02-24 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: Allows you to define relations between pages
16
16
  email:
@@ -21,6 +21,7 @@ extra_rdoc_files: []
21
21
  files:
22
22
  - db/migrate/20110623112105_add_related_pages.rb
23
23
  - radiant-relations-extension-1.2.6.gem
24
+ - radiant-relations-extension-1.2.7.gem
24
25
  - radiant-relations-extension.gemspec
25
26
  - config/initializers/radiant_config.rb
26
27
  - config/routes.rb
@@ -49,7 +50,7 @@ files:
49
50
  homepage: http://github.com/jomz/radiant-relations-extension
50
51
  licenses: []
51
52
  post_install_message: ! "\n Add this to your radiant project by putting this line
52
- in your Gemfile:\n gem \"radiant-relations-extension\", \"~> 1.2.7\"\n "
53
+ in your Gemfile:\n gem \"radiant-relations-extension\", \"~> 1.2.8\"\n "
53
54
  rdoc_options: []
54
55
  require_paths:
55
56
  - lib