nodebb-theme-persona 12.1.3 → 12.1.4

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.
package/.eslintrc CHANGED
@@ -1,3 +1,3 @@
1
- {
2
- "extends": "nodebb/lib"
1
+ {
2
+ "extends": "nodebb/lib"
3
3
  }
package/README.md CHANGED
@@ -1,14 +1,14 @@
1
- Persona theme for NodeBB
2
- ====================
3
-
4
- Persona is the new default theme for NodeBB as of v0.7.1
5
-
6
- ## Addons
7
-
8
- [Recent Cards](https://github.com/psychobunny/nodebb-plugin-recent-cards)
9
-
10
- ## Screenshots
11
-
12
- ![](https://d2gn4xht817m0g.cloudfront.net/p/product_screenshots/images/original/000/570/286/570286-db378dfd28256a8fabacc9129b3638dc678ac393.png?1439315393)
13
-
14
- ![](https://d2gn4xht817m0g.cloudfront.net/p/product_screenshots/images/original/000/570/287/570287-5875c63ce086d361b76d94e5bc7cc88a5fd34b8b.png?1439315419)
1
+ Persona theme for NodeBB
2
+ ====================
3
+
4
+ Persona is the new default theme for NodeBB as of v0.7.1
5
+
6
+ ## Addons
7
+
8
+ [Recent Cards](https://github.com/psychobunny/nodebb-plugin-recent-cards)
9
+
10
+ ## Screenshots
11
+
12
+ ![](https://d2gn4xht817m0g.cloudfront.net/p/product_screenshots/images/original/000/570/286/570286-db378dfd28256a8fabacc9129b3638dc678ac393.png?1439315393)
13
+
14
+ ![](https://d2gn4xht817m0g.cloudfront.net/p/product_screenshots/images/original/000/570/287/570287-5875c63ce086d361b76d94e5bc7cc88a5fd34b8b.png?1439315419)
@@ -1,4 +1,4 @@
1
- {
2
- "mobile-menu-side": "Menüposition der mobilen Seiten umschalten",
3
- "post-quick-reply": "Schnelle Antwort"
1
+ {
2
+ "mobile-menu-side": "Menüposition der mobilen Seiten umschalten",
3
+ "post-quick-reply": "Schnelle Antwort"
4
4
  }
@@ -1,3 +1,3 @@
1
- {
2
- "mobile-menu-side": "Switch which side each mobile menu is on"
1
+ {
2
+ "mobile-menu-side": "Switch which side each mobile menu is on"
3
3
  }
@@ -1,3 +1,3 @@
1
- {
2
- "mobile-menu-side": "Changer la position du menu en version mobiles"
3
- }
1
+ {
2
+ "mobile-menu-side": "Changer la position du menu en version mobiles"
3
+ }
@@ -1,3 +1,3 @@
1
- {
2
- "mobile-menu-side": "Menu mobilne po prawej stronie"
3
- }
1
+ {
2
+ "mobile-menu-side": "Menu mobilne po prawej stronie"
3
+ }
@@ -1,3 +1,3 @@
1
- {
2
- "mobile-menu-side": "Alternar de que lado fica cada menu lateral em telemóvel"
1
+ {
2
+ "mobile-menu-side": "Alternar de que lado fica cada menu lateral em telemóvel"
3
3
  }
@@ -1,4 +1,4 @@
1
- {
2
- "mobile-menu-side": "Mobil menünün bulunduğu tarafı değiştir",
3
- "post-quick-reply": "Hızlı Cevap Gönder"
4
- }
1
+ {
2
+ "mobile-menu-side": "Mobil menünün bulunduğu tarafı değiştir",
3
+ "post-quick-reply": "Hızlı Cevap Gönder"
4
+ }
@@ -1,4 +1,4 @@
1
- {
2
- "mobile-menu-side": "移动端导航菜单切换到另一侧",
3
- "post-quick-reply": "快速回复"
4
- }
1
+ {
2
+ "mobile-menu-side": "移动端导航菜单切换到另一侧",
3
+ "post-quick-reply": "快速回复"
4
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-theme-persona",
3
- "version": "12.1.3",
3
+ "version": "12.1.4",
4
4
  "nbbpm": {
5
5
  "compatibility": "^2.0.0"
6
6
  },
package/public/.eslintrc CHANGED
@@ -1,3 +1,3 @@
1
- {
2
- "extends": "nodebb/public"
1
+ {
2
+ "extends": "nodebb/public"
3
3
  }
@@ -1,221 +1,221 @@
1
- /*
2
- * Bootstrap Auto-Hiding Navbar - v4.0.0
3
- * An extension for Bootstrap's fixed navbar which hides the navbar while the page is scrolling downwards and shows it the other way. The plugin is able to show/hide the navbar programmatically as well.
4
- * http://www.virtuosoft.eu/code/bootstrap-autohidingnavbar/
5
- *
6
- * Made by István Ujj-Mészáros
7
- * Under Apache License v2.0 License
8
- */
9
- ;(function($, window, document, undefined) {
10
- var pluginName = 'autoHidingNavbar',
11
- $window = $(window),
12
- $document = $(document),
13
- _scrollThrottleTimer = null,
14
- _resizeThrottleTimer = null,
15
- _throttleDelay = 70,
16
- _lastScrollHandlerRun = 0,
17
- _previousScrollTop = null,
18
- _windowHeight = $window.height(),
19
- _visible = true,
20
- _hideOffset,
21
- defaults = {
22
- disableAutohide: false,
23
- showOnUpscroll: true,
24
- showOnBottom: true,
25
- hideOffset: 'auto', // "auto" means the navbar height
26
- animationDuration: 200,
27
- navbarOffset: 0
28
- };
29
-
30
- function AutoHidingNavbar(element, options) {
31
- this.element = $(element);
32
- this.settings = $.extend({}, defaults, options);
33
- this._defaults = defaults;
34
- this._name = pluginName;
35
- this.init();
36
- }
37
-
38
- function hide(autoHidingNavbar) {
39
- if (!_visible) {
40
- return;
41
- }
42
-
43
- autoHidingNavbar.element.addClass('navbar-hidden').animate({
44
- top: -1 * parseInt(autoHidingNavbar.element.css('height'), 10) + autoHidingNavbar.settings.navbarOffset
45
- }, {
46
- queue: false,
47
- duration: autoHidingNavbar.settings.animationDuration
48
- });
49
-
50
- try {
51
- $('.dropdown.open .dropdown-toggle, .dropdown.show .dropdown-toggle', autoHidingNavbar.element).dropdown('toggle');
52
- }
53
- catch(e) {}
54
-
55
- _visible = false;
56
-
57
- autoHidingNavbar.element.trigger('hide.autoHidingNavbar');
58
- }
59
-
60
- function show(autoHidingNavbar) {
61
- if (_visible) {
62
- return;
63
- }
64
-
65
- autoHidingNavbar.element.removeClass('navbar-hidden').animate({
66
- top: 0
67
- }, {
68
- queue: false,
69
- duration: autoHidingNavbar.settings.animationDuration
70
- });
71
- _visible = true;
72
-
73
- autoHidingNavbar.element.trigger('show.autoHidingNavbar');
74
- }
75
-
76
- function detectState(autoHidingNavbar) {
77
- var scrollTop = $window.scrollTop(),
78
- scrollDelta = scrollTop - _previousScrollTop;
79
-
80
- _previousScrollTop = scrollTop;
81
-
82
- if (scrollDelta < 0) {
83
- if (_visible) {
84
- return;
85
- }
86
-
87
- if (autoHidingNavbar.settings.showOnUpscroll || scrollTop <= _hideOffset) {
88
- show(autoHidingNavbar);
89
- }
90
- }
91
- else if (scrollDelta > 0) {
92
- if (!_visible) {
93
- if (autoHidingNavbar.settings.showOnBottom && scrollTop + _windowHeight === $document.height()) {
94
- show(autoHidingNavbar);
95
- }
96
- return;
97
- }
98
-
99
- if (scrollTop >= _hideOffset) {
100
- hide(autoHidingNavbar);
101
- }
102
- }
103
-
104
- }
105
-
106
- function scrollHandler(autoHidingNavbar) {
107
- if (autoHidingNavbar.settings.disableAutohide) {
108
- return;
109
- }
110
-
111
- _lastScrollHandlerRun = new Date().getTime();
112
-
113
- detectState(autoHidingNavbar);
114
- }
115
-
116
- function bindEvents(autoHidingNavbar) {
117
- $document.on('scroll.' + pluginName, function() {
118
- if (new Date().getTime() - _lastScrollHandlerRun > _throttleDelay) {
119
- scrollHandler(autoHidingNavbar);
120
- }
121
- else {
122
- clearTimeout(_scrollThrottleTimer);
123
- _scrollThrottleTimer = setTimeout(function() {
124
- scrollHandler(autoHidingNavbar);
125
- }, _throttleDelay);
126
- }
127
- });
128
-
129
- $window.on('resize.' + pluginName, function() {
130
- clearTimeout(_resizeThrottleTimer);
131
- _resizeThrottleTimer = setTimeout(function() {
132
- _windowHeight = $window.height();
133
- }, _throttleDelay);
134
- });
135
- }
136
-
137
- function unbindEvents() {
138
- $document.off('.' + pluginName);
139
-
140
- $window.off('.' + pluginName);
141
- }
142
-
143
- AutoHidingNavbar.prototype = {
144
- init: function() {
145
- this.elements = {
146
- navbar: this.element
147
- };
148
-
149
- this.setDisableAutohide(this.settings.disableAutohide);
150
- this.setShowOnUpscroll(this.settings.showOnUpscroll);
151
- this.setShowOnBottom(this.settings.showOnBottom);
152
- this.setHideOffset(this.settings.hideOffset);
153
- this.setAnimationDuration(this.settings.animationDuration);
154
-
155
- _hideOffset = this.settings.hideOffset === 'auto' ? parseInt(this.element.css('height'), 10) : this.settings.hideOffset;
156
- bindEvents(this);
157
-
158
- return this.element;
159
- },
160
- setDisableAutohide: function(value) {
161
- this.settings.disableAutohide = value;
162
- return this.element;
163
- },
164
- setShowOnUpscroll: function(value) {
165
- this.settings.showOnUpscroll = value;
166
- return this.element;
167
- },
168
- setShowOnBottom: function(value) {
169
- this.settings.showOnBottom = value;
170
- return this.element;
171
- },
172
- setHideOffset: function(value) {
173
- this.settings.hideOffset = value;
174
- return this.element;
175
- },
176
- setAnimationDuration: function(value) {
177
- this.settings.animationDuration = value;
178
- return this.element;
179
- },
180
- show: function() {
181
- show(this);
182
- return this.element;
183
- },
184
- hide: function() {
185
- hide(this);
186
- return this.element;
187
- },
188
- destroy: function() {
189
- unbindEvents(this);
190
- show(this);
191
- $.data(this, 'plugin_' + pluginName, null);
192
- return this.element;
193
- }
194
- };
195
-
196
- $.fn[pluginName] = function(options) {
197
- var args = arguments;
198
-
199
- if (options === undefined || typeof options === 'object') {
200
- return this.each(function() {
201
- if (!$.data(this, 'plugin_' + pluginName)) {
202
- $.data(this, 'plugin_' + pluginName, new AutoHidingNavbar(this, options));
203
- }
204
- });
205
- } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
206
- var returns;
207
-
208
- this.each(function() {
209
- var instance = $.data(this, 'plugin_' + pluginName);
210
-
211
- if (instance instanceof AutoHidingNavbar && typeof instance[options] === 'function') {
212
- returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
213
- }
214
- });
215
-
216
- return returns !== undefined ? returns : this;
217
- }
218
-
219
- };
220
-
1
+ /*
2
+ * Bootstrap Auto-Hiding Navbar - v4.0.0
3
+ * An extension for Bootstrap's fixed navbar which hides the navbar while the page is scrolling downwards and shows it the other way. The plugin is able to show/hide the navbar programmatically as well.
4
+ * http://www.virtuosoft.eu/code/bootstrap-autohidingnavbar/
5
+ *
6
+ * Made by István Ujj-Mészáros
7
+ * Under Apache License v2.0 License
8
+ */
9
+ ;(function($, window, document, undefined) {
10
+ var pluginName = 'autoHidingNavbar',
11
+ $window = $(window),
12
+ $document = $(document),
13
+ _scrollThrottleTimer = null,
14
+ _resizeThrottleTimer = null,
15
+ _throttleDelay = 70,
16
+ _lastScrollHandlerRun = 0,
17
+ _previousScrollTop = null,
18
+ _windowHeight = $window.height(),
19
+ _visible = true,
20
+ _hideOffset,
21
+ defaults = {
22
+ disableAutohide: false,
23
+ showOnUpscroll: true,
24
+ showOnBottom: true,
25
+ hideOffset: 'auto', // "auto" means the navbar height
26
+ animationDuration: 200,
27
+ navbarOffset: 0
28
+ };
29
+
30
+ function AutoHidingNavbar(element, options) {
31
+ this.element = $(element);
32
+ this.settings = $.extend({}, defaults, options);
33
+ this._defaults = defaults;
34
+ this._name = pluginName;
35
+ this.init();
36
+ }
37
+
38
+ function hide(autoHidingNavbar) {
39
+ if (!_visible) {
40
+ return;
41
+ }
42
+
43
+ autoHidingNavbar.element.addClass('navbar-hidden').animate({
44
+ top: -1 * parseInt(autoHidingNavbar.element.css('height'), 10) + autoHidingNavbar.settings.navbarOffset
45
+ }, {
46
+ queue: false,
47
+ duration: autoHidingNavbar.settings.animationDuration
48
+ });
49
+
50
+ try {
51
+ $('.dropdown.open .dropdown-toggle, .dropdown.show .dropdown-toggle', autoHidingNavbar.element).dropdown('toggle');
52
+ }
53
+ catch(e) {}
54
+
55
+ _visible = false;
56
+
57
+ autoHidingNavbar.element.trigger('hide.autoHidingNavbar');
58
+ }
59
+
60
+ function show(autoHidingNavbar) {
61
+ if (_visible) {
62
+ return;
63
+ }
64
+
65
+ autoHidingNavbar.element.removeClass('navbar-hidden').animate({
66
+ top: 0
67
+ }, {
68
+ queue: false,
69
+ duration: autoHidingNavbar.settings.animationDuration
70
+ });
71
+ _visible = true;
72
+
73
+ autoHidingNavbar.element.trigger('show.autoHidingNavbar');
74
+ }
75
+
76
+ function detectState(autoHidingNavbar) {
77
+ var scrollTop = $window.scrollTop(),
78
+ scrollDelta = scrollTop - _previousScrollTop;
79
+
80
+ _previousScrollTop = scrollTop;
81
+
82
+ if (scrollDelta < 0) {
83
+ if (_visible) {
84
+ return;
85
+ }
86
+
87
+ if (autoHidingNavbar.settings.showOnUpscroll || scrollTop <= _hideOffset) {
88
+ show(autoHidingNavbar);
89
+ }
90
+ }
91
+ else if (scrollDelta > 0) {
92
+ if (!_visible) {
93
+ if (autoHidingNavbar.settings.showOnBottom && scrollTop + _windowHeight === $document.height()) {
94
+ show(autoHidingNavbar);
95
+ }
96
+ return;
97
+ }
98
+
99
+ if (scrollTop >= _hideOffset) {
100
+ hide(autoHidingNavbar);
101
+ }
102
+ }
103
+
104
+ }
105
+
106
+ function scrollHandler(autoHidingNavbar) {
107
+ if (autoHidingNavbar.settings.disableAutohide) {
108
+ return;
109
+ }
110
+
111
+ _lastScrollHandlerRun = new Date().getTime();
112
+
113
+ detectState(autoHidingNavbar);
114
+ }
115
+
116
+ function bindEvents(autoHidingNavbar) {
117
+ $document.on('scroll.' + pluginName, function() {
118
+ if (new Date().getTime() - _lastScrollHandlerRun > _throttleDelay) {
119
+ scrollHandler(autoHidingNavbar);
120
+ }
121
+ else {
122
+ clearTimeout(_scrollThrottleTimer);
123
+ _scrollThrottleTimer = setTimeout(function() {
124
+ scrollHandler(autoHidingNavbar);
125
+ }, _throttleDelay);
126
+ }
127
+ });
128
+
129
+ $window.on('resize.' + pluginName, function() {
130
+ clearTimeout(_resizeThrottleTimer);
131
+ _resizeThrottleTimer = setTimeout(function() {
132
+ _windowHeight = $window.height();
133
+ }, _throttleDelay);
134
+ });
135
+ }
136
+
137
+ function unbindEvents() {
138
+ $document.off('.' + pluginName);
139
+
140
+ $window.off('.' + pluginName);
141
+ }
142
+
143
+ AutoHidingNavbar.prototype = {
144
+ init: function() {
145
+ this.elements = {
146
+ navbar: this.element
147
+ };
148
+
149
+ this.setDisableAutohide(this.settings.disableAutohide);
150
+ this.setShowOnUpscroll(this.settings.showOnUpscroll);
151
+ this.setShowOnBottom(this.settings.showOnBottom);
152
+ this.setHideOffset(this.settings.hideOffset);
153
+ this.setAnimationDuration(this.settings.animationDuration);
154
+
155
+ _hideOffset = this.settings.hideOffset === 'auto' ? parseInt(this.element.css('height'), 10) : this.settings.hideOffset;
156
+ bindEvents(this);
157
+
158
+ return this.element;
159
+ },
160
+ setDisableAutohide: function(value) {
161
+ this.settings.disableAutohide = value;
162
+ return this.element;
163
+ },
164
+ setShowOnUpscroll: function(value) {
165
+ this.settings.showOnUpscroll = value;
166
+ return this.element;
167
+ },
168
+ setShowOnBottom: function(value) {
169
+ this.settings.showOnBottom = value;
170
+ return this.element;
171
+ },
172
+ setHideOffset: function(value) {
173
+ this.settings.hideOffset = value;
174
+ return this.element;
175
+ },
176
+ setAnimationDuration: function(value) {
177
+ this.settings.animationDuration = value;
178
+ return this.element;
179
+ },
180
+ show: function() {
181
+ show(this);
182
+ return this.element;
183
+ },
184
+ hide: function() {
185
+ hide(this);
186
+ return this.element;
187
+ },
188
+ destroy: function() {
189
+ unbindEvents(this);
190
+ show(this);
191
+ $.data(this, 'plugin_' + pluginName, null);
192
+ return this.element;
193
+ }
194
+ };
195
+
196
+ $.fn[pluginName] = function(options) {
197
+ var args = arguments;
198
+
199
+ if (options === undefined || typeof options === 'object') {
200
+ return this.each(function() {
201
+ if (!$.data(this, 'plugin_' + pluginName)) {
202
+ $.data(this, 'plugin_' + pluginName, new AutoHidingNavbar(this, options));
203
+ }
204
+ });
205
+ } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
206
+ var returns;
207
+
208
+ this.each(function() {
209
+ var instance = $.data(this, 'plugin_' + pluginName);
210
+
211
+ if (instance instanceof AutoHidingNavbar && typeof instance[options] === 'function') {
212
+ returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
213
+ }
214
+ });
215
+
216
+ return returns !== undefined ? returns : this;
217
+ }
218
+
219
+ };
220
+
221
221
  })(jQuery, window, document);
package/public/persona.js CHANGED
@@ -57,6 +57,16 @@ $(document).ready(function () {
57
57
  navbarEl.autoHidingNavbar('destroy').removeData('plugin_autoHidingNavbar');
58
58
  navbarEl.css('top', '');
59
59
 
60
+ hooks
61
+ .on('filter:navigator.scroll', (data) => {
62
+ navbarEl.autoHidingNavbar('setDisableAutohide', true);
63
+ return data;
64
+ })
65
+ .on('action:navigator.scrolled', () => {
66
+ console.warn('reenabling', navbarEl);
67
+ navbarEl.autoHidingNavbar('setDisableAutohide', false);
68
+ });
69
+
60
70
  hooks.fire('filter:persona.configureNavbarHiding', {
61
71
  resizeEnvs: preference,
62
72
  }).then(({ resizeEnvs }) => {
@@ -1,31 +1,31 @@
1
- <!-- IMPORT partials/breadcrumbs.tpl -->
2
- <div data-widget-area="header">
3
- {{{each widgets.header}}}
4
- {{widgets.header.html}}
5
- {{{end}}}
6
- </div>
7
- <div class="row">
8
- <div class="<!-- IF widgets.sidebar.length -->col-lg-9 col-sm-12<!-- ELSE -->col-lg-12<!-- ENDIF widgets.sidebar.length -->">
9
- {{{ if pagination.pages.length }}}
10
- <div><!-- IMPORT partials/category-selector.tpl --></div>
11
- {{{ else }}}
12
- <h1 class="categories-title">[[pages:categories]]</h1>
13
- {{{ end }}}
14
- <ul class="categories" itemscope itemtype="http://www.schema.org/ItemList">
15
- {{{each categories}}}
16
- <!-- IMPORT partials/categories/item.tpl -->
17
- {{{end}}}
18
- </ul>
19
- <!-- IMPORT partials/paginator.tpl -->
20
- </div>
21
- <div data-widget-area="sidebar" class="col-lg-3 col-sm-12 <!-- IF !widgets.sidebar.length -->hidden<!-- ENDIF !widgets.sidebar.length -->">
22
- {{{each widgets.sidebar}}}
23
- {{widgets.sidebar.html}}
24
- {{{end}}}
25
- </div>
26
- </div>
27
- <div data-widget-area="footer">
28
- {{{each widgets.footer}}}
29
- {{widgets.footer.html}}
30
- {{{end}}}
31
- </div>
1
+ <!-- IMPORT partials/breadcrumbs.tpl -->
2
+ <div data-widget-area="header">
3
+ {{{each widgets.header}}}
4
+ {{widgets.header.html}}
5
+ {{{end}}}
6
+ </div>
7
+ <div class="row">
8
+ <div class="<!-- IF widgets.sidebar.length -->col-lg-9 col-sm-12<!-- ELSE -->col-lg-12<!-- ENDIF widgets.sidebar.length -->">
9
+ {{{ if pagination.pages.length }}}
10
+ <div><!-- IMPORT partials/category-selector.tpl --></div>
11
+ {{{ else }}}
12
+ <h1 class="categories-title">[[pages:categories]]</h1>
13
+ {{{ end }}}
14
+ <ul class="categories" itemscope itemtype="http://www.schema.org/ItemList">
15
+ {{{each categories}}}
16
+ <!-- IMPORT partials/categories/item.tpl -->
17
+ {{{end}}}
18
+ </ul>
19
+ <!-- IMPORT partials/paginator.tpl -->
20
+ </div>
21
+ <div data-widget-area="sidebar" class="col-lg-3 col-sm-12 <!-- IF !widgets.sidebar.length -->hidden<!-- ENDIF !widgets.sidebar.length -->">
22
+ {{{each widgets.sidebar}}}
23
+ {{widgets.sidebar.html}}
24
+ {{{end}}}
25
+ </div>
26
+ </div>
27
+ <div data-widget-area="footer">
28
+ {{{each widgets.footer}}}
29
+ {{widgets.footer.html}}
30
+ {{{end}}}
31
+ </div>
@@ -1,9 +1,9 @@
1
- <!-- IMPORT partials/breadcrumbs.tpl -->
2
- <div class="users">
3
-
4
- <ul id="users-container" class="users-container">
5
- <!-- IMPORT partials/users_list.tpl -->
6
- </ul>
7
-
8
- <!-- IMPORT partials/paginator.tpl -->
1
+ <!-- IMPORT partials/breadcrumbs.tpl -->
2
+ <div class="users">
3
+
4
+ <ul id="users-container" class="users-container">
5
+ <!-- IMPORT partials/users_list.tpl -->
6
+ </ul>
7
+
8
+ <!-- IMPORT partials/paginator.tpl -->
9
9
  </div>
@@ -1,9 +1,9 @@
1
- <div class="form-group">
2
- <label for="agree-terms">[[register:terms_of_use]]</label>
3
- <div class="tos">{termsOfUse}</div>
4
- <div class="checkbox">
5
- <label>
6
- <input type="checkbox" name="agree-terms" id="agree-terms"> [[register:agree_to_terms_of_use]]
7
- </label>
8
- </div>
1
+ <div class="form-group">
2
+ <label for="agree-terms">[[register:terms_of_use]]</label>
3
+ <div class="tos">{termsOfUse}</div>
4
+ <div class="checkbox">
5
+ <label>
6
+ <input type="checkbox" name="agree-terms" id="agree-terms"> [[register:agree_to_terms_of_use]]
7
+ </label>
8
+ </div>
9
9
  </div>
@@ -1,11 +1,11 @@
1
- <!-- IF ../isSection -->
2
- {../name}
3
- <!-- ELSE -->
4
- <!-- IF ../link -->
5
- <a href="{../link}" itemprop="url">
6
- <!-- ELSE -->
7
- <a href="{config.relative_path}/category/{../slug}" itemprop="url">
8
- <!-- ENDIF ../link -->
9
- {../name}
10
- </a>
1
+ <!-- IF ../isSection -->
2
+ {../name}
3
+ <!-- ELSE -->
4
+ <!-- IF ../link -->
5
+ <a href="{../link}" itemprop="url">
6
+ <!-- ELSE -->
7
+ <a href="{config.relative_path}/category/{../slug}" itemprop="url">
8
+ <!-- ENDIF ../link -->
9
+ {../name}
10
+ </a>
11
11
  <!-- ENDIF ../isSection -->
@@ -1,3 +1,3 @@
1
- <div component="category/dropdown" class="btn-group category-dropdown-container bottom-sheet">
2
- <!-- IMPORT partials/category-filter-content.tpl -->
1
+ <div component="category/dropdown" class="btn-group category-dropdown-container bottom-sheet">
2
+ <!-- IMPORT partials/category-filter-content.tpl -->
3
3
  </div>
@@ -1,3 +1,3 @@
1
- <div component="category-selector" class="btn-group bottom-sheet">
2
- <!-- IMPORT partials/category-selector-content.tpl -->
1
+ <div component="category-selector" class="btn-group bottom-sheet">
2
+ <!-- IMPORT partials/category-selector-content.tpl -->
3
3
  </div>
@@ -1,7 +1,7 @@
1
- {{{each messages}}}
2
- {{{ if !./system }}}
3
- <!-- IMPORT partials/chats/message.tpl -->
4
- {{{ else }}}
5
- <!-- IMPORT partials/chats/system-message.tpl -->
6
- {{{ end }}}
1
+ {{{each messages}}}
2
+ {{{ if !./system }}}
3
+ <!-- IMPORT partials/chats/message.tpl -->
4
+ {{{ else }}}
5
+ <!-- IMPORT partials/chats/system-message.tpl -->
6
+ {{{ end }}}
7
7
  {{{end}}}
@@ -1,8 +1,8 @@
1
- <ul component="posts" class="posts-list" data-nextstart="{nextStart}">
2
- {{{each posts}}}
3
- <!-- IMPORT partials/posts_list_item.tpl -->
4
- {{{end}}}
5
- </ul>
6
- <div component="posts/loading" class="loading-indicator text-center hidden">
7
- <i class="fa fa-refresh fa-spin"></i>
1
+ <ul component="posts" class="posts-list" data-nextstart="{nextStart}">
2
+ {{{each posts}}}
3
+ <!-- IMPORT partials/posts_list_item.tpl -->
4
+ {{{end}}}
5
+ </ul>
6
+ <div component="posts/loading" class="loading-indicator text-center hidden">
7
+ <i class="fa fa-refresh fa-spin"></i>
8
8
  </div>
@@ -1,3 +1,3 @@
1
- <li component="topic/necro-post" class="necro-post timeline-event">
2
- <span class="timeline-text">{text}</span>
1
+ <li component="topic/necro-post" class="necro-post timeline-event">
2
+ <span class="timeline-text">{text}</span>
3
3
  </li>
@@ -1,3 +1,3 @@
1
- <div component="selection/tooltip" class="selection-tooltip-container">
2
- <button component="selection/tooltip/quote" class="btn btn-sm btn-primary quote-tooltip-btn">[[topic:quote]]</button>
1
+ <div component="selection/tooltip" class="selection-tooltip-container">
2
+ <button component="selection/tooltip/quote" class="btn btn-sm btn-primary quote-tooltip-btn">[[topic:quote]]</button>
3
3
  </div>
@@ -1,12 +1,12 @@
1
- <div class="stats text-muted">
2
- <i class="fa fa-fw fa-user" title="[[global:posters]]"></i>
3
- <span title="{postercount}" class="human-readable-number">{postercount}</span>
4
- </div>
5
- <div class="stats text-muted">
6
- <i class="fa fa-fw fa-pencil" title="[[global:posts]]"></i>
7
- <span component="topic/post-count" title="{postcount}" class="human-readable-number">{postcount}</span>
8
- </div>
9
- <div class="stats text-muted">
10
- <i class="fa fa-fw fa-eye" title="[[global:views]]"></i>
11
- <span class="human-readable-number" title="{viewcount}">{viewcount}</span>
1
+ <div class="stats text-muted">
2
+ <i class="fa fa-fw fa-user" title="[[global:posters]]"></i>
3
+ <span title="{postercount}" class="human-readable-number">{postercount}</span>
4
+ </div>
5
+ <div class="stats text-muted">
6
+ <i class="fa fa-fw fa-pencil" title="[[global:posts]]"></i>
7
+ <span component="topic/post-count" title="{postcount}" class="human-readable-number">{postcount}</span>
8
+ </div>
9
+ <div class="stats text-muted">
10
+ <i class="fa fa-fw fa-eye" title="[[global:views]]"></i>
11
+ <span class="human-readable-number" title="{viewcount}">{viewcount}</span>
12
12
  </div>
package/templates/tos.tpl CHANGED
@@ -1,4 +1,4 @@
1
- <h3>[[register:terms_of_use]]</h3>
2
- <hr/>
3
-
4
- {termsOfUse}
1
+ <h3>[[register:terms_of_use]]</h3>
2
+ <hr/>
3
+
4
+ {termsOfUse}
package/theme.json CHANGED
@@ -1,7 +1,7 @@
1
- {
2
- "id": "nodebb-theme-persona",
3
- "name": "Persona",
4
- "description": "The default theme for NodeBB. Uses a standard approach to forum design.",
5
- "url": "https://github.com/psychobunny/nodebb-theme-persona",
6
- "screenshot": "screenshot.png"
1
+ {
2
+ "id": "nodebb-theme-persona",
3
+ "name": "Persona",
4
+ "description": "The default theme for NodeBB. Uses a standard approach to forum design.",
5
+ "url": "https://github.com/psychobunny/nodebb-theme-persona",
6
+ "screenshot": "screenshot.png"
7
7
  }