nodebb-theme-persona 14.1.25 → 14.2.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.
- package/README.md +3 -3
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scss/skins.scss +1 -1
- package/templates/account/profile.tpl +4 -4
- package/templates/partials/account/category-item.tpl +1 -1
- package/templates/partials/post_bar.tpl +1 -5
- package/templates/partials/topic/crosspost.tpl +5 -0
- package/templates/world.tpl +86 -73
package/README.md
CHANGED
|
@@ -13,8 +13,8 @@ Issues are now tracked in [the main project issue tracker](https://github.com/No
|
|
|
13
13
|
|
|
14
14
|
[Recent Cards](https://github.com/psychobunny/nodebb-plugin-recent-cards)
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Screenshot
|
|
17
|
+
|
|
18
|
+

|
|
17
19
|
|
|
18
|
-

|
|
19
20
|
|
|
20
|
-

|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nodebb-theme-persona",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.2.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "nodebb-theme-persona",
|
|
9
|
-
"version": "14.
|
|
9
|
+
"version": "14.2.0",
|
|
10
10
|
"license": "BSD-2-Clause",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"pulling": "^2.0.0"
|
package/package.json
CHANGED
package/scss/skins.scss
CHANGED
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
</div>
|
|
60
60
|
</div>
|
|
61
61
|
|
|
62
|
-
<div class="profile-meta text-xs text-uppercase d-flex gap-3 flex-wrap justify-content-center">
|
|
62
|
+
<div class="profile-meta text-xs text-uppercase d-flex gap-3 flex-wrap justify-content-center align-items-center">
|
|
63
63
|
<div class="w-100 d-flex gap-3 justify-content-center">
|
|
64
64
|
<div>
|
|
65
65
|
<span class="stat-label">[[user:joined]]</span>
|
|
@@ -81,19 +81,19 @@
|
|
|
81
81
|
|
|
82
82
|
{{{ if age }}}
|
|
83
83
|
<div class="">
|
|
84
|
-
<span class="stat-label
|
|
84
|
+
<span class="stat-label">[[user:age]]</span>
|
|
85
85
|
<span class="fw-bold">{age}</span>
|
|
86
86
|
</div>
|
|
87
87
|
{{{ end }}}
|
|
88
88
|
|
|
89
89
|
{{{ each customUserFields }}}
|
|
90
90
|
{{{ if ./value }}}
|
|
91
|
-
<div>
|
|
91
|
+
<div class="d-flex gap-1 flex-nowrap align-items-center">
|
|
92
92
|
<span class="stat-label">{./name}</span>
|
|
93
93
|
{{{ if (./type == "input-link") }}}
|
|
94
94
|
<a class="fw-bold" href="{./value}" rel="nofollow noreferrer">{./linkValue}</a>
|
|
95
95
|
{{{ else }}}
|
|
96
|
-
<span class="fw-bold">{./value}</span>
|
|
96
|
+
<span class="fw-bold d-flex flex-nowrap align-items-center">{./value}</span>
|
|
97
97
|
{{{ end }}}
|
|
98
98
|
</div>
|
|
99
99
|
{{{ end }}}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<!-- IMPORT partials/categories/link.tpl -->
|
|
11
11
|
</div>
|
|
12
12
|
{{{ if ./descriptionParsed }}}
|
|
13
|
-
<div class="description text-muted text-xs w-100">{./descriptionParsed}</div>
|
|
13
|
+
<div class="description text-muted text-xs w-100 line-clamp-5">{./descriptionParsed}</div>
|
|
14
14
|
{{{ end }}}
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
@@ -11,11 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
<!-- IMPORT partials/topic/watch.tpl -->
|
|
13
13
|
<!-- IMPORT partials/topic/sort.tpl -->
|
|
14
|
-
|
|
15
|
-
<button component="topic/crosspost" title="[[topic:crosspost-topic]]" class="btn btn-sm btn-ghost">
|
|
16
|
-
<i class="fa fa-fw fa-square-arrow-up-right text-secondary"></i>
|
|
17
|
-
</button>
|
|
18
|
-
{{{ end }}}
|
|
14
|
+
<!-- IMPORT partials/topic/crosspost.tpl -->
|
|
19
15
|
|
|
20
16
|
<div class="d-inline-block">
|
|
21
17
|
<!-- IMPORT partials/topic/tools.tpl -->
|
package/templates/world.tpl
CHANGED
|
@@ -1,82 +1,100 @@
|
|
|
1
|
+
<!-- IMPORT partials/breadcrumbs-json-ld.tpl -->
|
|
2
|
+
{{{ if config.theme.enableBreadcrumbs }}}
|
|
1
3
|
<!-- IMPORT partials/breadcrumbs.tpl -->
|
|
4
|
+
{{{ end }}}
|
|
5
|
+
|
|
6
|
+
{{{ if widgets.header.length }}}
|
|
2
7
|
<div data-widget-area="header">
|
|
3
|
-
{{{
|
|
8
|
+
{{{each widgets.header}}}
|
|
4
9
|
{{widgets.header.html}}
|
|
10
|
+
{{{end}}}
|
|
11
|
+
</div>
|
|
12
|
+
{{{ end }}}
|
|
13
|
+
|
|
14
|
+
<div class="category-header d-flex flex-column gap-2">
|
|
15
|
+
<div class="d-flex gap-2 align-items-center mb-1 {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
|
|
16
|
+
{buildCategoryIcon(@value, "40px", "rounded-1 flex-shrink-0")}
|
|
17
|
+
<h1 class="tracking-tight fs-2 fw-semibold mb-0 text-center">[[world:name]]</h1>
|
|
18
|
+
</div>
|
|
19
|
+
{{{ if ./descriptionParsed }}}
|
|
20
|
+
<p class="description text-secondary text-sm w-100 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}}">
|
|
21
|
+
{./descriptionParsed}
|
|
22
|
+
</p>
|
|
5
23
|
{{{ end }}}
|
|
6
24
|
</div>
|
|
7
|
-
<div class="row">
|
|
8
|
-
<div class="world {{{if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
|
|
9
|
-
<form class="mb-4" role="search" method="GET" action="{config.relative_path}/search">
|
|
10
|
-
<input type="hidden" name="in" value="categories" />
|
|
11
|
-
<div class="input-group" id="category-options">
|
|
12
|
-
<input class="form-control form-control-lg" component="category-search" name="term" type="text" autocomplete="off" placeholder="Find a category..." aria-label="Category Search" />
|
|
13
|
-
<button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false"><i class="fa fa-cog"></i></button>
|
|
14
|
-
<ul class="dropdown-menu dropdown-menu-end">
|
|
15
|
-
<li id="show-categories"><a class="dropdown-item" href="#">
|
|
16
|
-
<i class="fa fa-eye"></i>
|
|
17
|
-
[[world:show-categories]]
|
|
18
|
-
</a></li>
|
|
19
|
-
<li id="hide-categories"><a class="dropdown-item" href="#">
|
|
20
|
-
<i class="fa fa-eye-slash"></i>
|
|
21
|
-
[[world:hide-categories]]
|
|
22
|
-
</a></li>
|
|
23
|
-
</ul>
|
|
24
|
-
</div>
|
|
25
|
-
</form>
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
<div class="row flex-fill">
|
|
27
|
+
<div class="world {{{if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
|
|
28
|
+
<div class="category">
|
|
29
|
+
<div class="row flex-row-reverse">
|
|
30
|
+
<div class="col-lg-4 col-sm-12 mt-2 pt-1">
|
|
31
|
+
<form class="mb-3" role="search" method="GET" action="{config.relative_path}/search">
|
|
32
|
+
<input type="hidden" name="in" value="categories" />
|
|
33
|
+
<input class="form-control form-control-lg" component="category-search" name="term" type="text" autocomplete="off" placeholder="[[world:category-search]]" />
|
|
34
|
+
</form>
|
|
35
|
+
<div class="quick-search-container dropdown-menu d-block p-2 hidden">
|
|
36
|
+
<div class="text-center loading-indicator"><i class="fa fa-spinner fa-spin"></i></div>
|
|
37
|
+
<div class="quick-search-results-container"></div>
|
|
38
|
+
</div>
|
|
31
39
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
<ul class="categories-list ps-0 list-unstyled pt-3">
|
|
41
|
+
{{{ each categories }}}
|
|
42
|
+
<!-- IMPORT partials/account/category-item.tpl -->
|
|
43
|
+
{{{ end }}}
|
|
44
|
+
</ul>
|
|
45
|
+
</div>
|
|
37
46
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
{{{ if posts.length }}}
|
|
48
|
+
<div class="col-lg-8 col-sm-12">
|
|
49
|
+
{{{ if posts.length }}}
|
|
50
|
+
<div class="topic-list-header sticky-top btn-toolbar justify-content-end align-items-center px-1 py-2 mb-2 flex-nowrap">
|
|
51
|
+
<a class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center fw-semibold" href="{config.relative_path}/world">
|
|
52
|
+
<i class="fa fa-clock text-primary"></i>
|
|
53
|
+
[[world:latest]]
|
|
54
|
+
</a>
|
|
55
|
+
<button class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center dropdown-toggle" data-bs-toggle="dropdown">
|
|
56
|
+
<i class="fa fa-fw fa-fire text-primary"></i>
|
|
57
|
+
<span class="visible-md-inline visible-lg-inline fw-semibold">[[world:popular]]</span>
|
|
58
|
+
</button>
|
|
59
|
+
<ul class="dropdown-menu">
|
|
60
|
+
<li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=day">Day</a></li>
|
|
61
|
+
<li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=week">Week</a></li>
|
|
62
|
+
<li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=month">Month</a></li>
|
|
63
|
+
<li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=year">Year</a></li>
|
|
64
|
+
<li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=alltime">All time</a></li>
|
|
65
|
+
</ul>
|
|
66
|
+
<a class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center fw-semibold" id="world-help" href="#">
|
|
67
|
+
<i class="fa fa-question text-primary"></i>
|
|
68
|
+
[[world:help]]
|
|
69
|
+
</a>
|
|
70
|
+
<!-- IMPORT partials/category/tools-dropdown-left.tpl -->
|
|
71
|
+
</div>
|
|
46
72
|
{{{ end }}}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
</div>
|
|
53
|
-
<div component="category/controls" class="d-flex gap-1 align-items-stretch">
|
|
54
|
-
<!-- IMPORT partials/category/watch.tpl -->
|
|
55
|
-
<!-- IMPORT partials/category/sort.tpl -->
|
|
56
|
-
<!-- IMPORT partials/category/tools.tpl -->
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
{{{ end }}}
|
|
73
|
+
<ul class="list-unstyled" id="world-feed">
|
|
74
|
+
{{{ each posts }}}
|
|
75
|
+
<!-- IMPORT partials/feed/item.tpl -->
|
|
76
|
+
{{{ end }}}
|
|
77
|
+
</ul>
|
|
60
78
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
<div>
|
|
65
|
-
<h2 class="fs-4 mb-3">[[world:onboard.title]]</h2>
|
|
66
|
-
<p>[[world:onboard.what]]</p>
|
|
67
|
-
<p>[[world:onboard.why]]</p>
|
|
68
|
-
<p>[[world:onboard.how]]</p>
|
|
79
|
+
{{{ if config.usePagination }}}
|
|
80
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
81
|
+
{{{ end }}}
|
|
69
82
|
</div>
|
|
70
|
-
|
|
83
|
+
{{{ else }}}
|
|
84
|
+
<div class="col-lg-8 col-sm-12 d-flex gap-3 align-items-top">
|
|
85
|
+
<div>
|
|
86
|
+
<h2 class="fs-4 mb-3">
|
|
87
|
+
<i class="fa fa-comment-nodes"></i>
|
|
88
|
+
[[world:onboard.title]]
|
|
89
|
+
</h2>
|
|
90
|
+
<p>[[world:onboard.what]]</p>
|
|
91
|
+
<p>[[world:onboard.why]]</p>
|
|
92
|
+
<p>[[world:onboard.how]]</p>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
{{{ end }}}
|
|
71
96
|
</div>
|
|
72
97
|
</div>
|
|
73
|
-
{{{ end }}}
|
|
74
|
-
|
|
75
|
-
<!-- IMPORT partials/topics_list.tpl -->
|
|
76
|
-
|
|
77
|
-
{{{ if config.usePagination }}}
|
|
78
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
79
|
-
{{{ end }}}
|
|
80
98
|
</div>
|
|
81
99
|
<div data-widget-area="sidebar" class="col-lg-3 col-sm-12 {{{ if !widgets.sidebar.length }}}hidden{{{ end }}}">
|
|
82
100
|
{{{ each widgets.sidebar }}}
|
|
@@ -84,14 +102,9 @@
|
|
|
84
102
|
{{{ end }}}
|
|
85
103
|
</div>
|
|
86
104
|
</div>
|
|
105
|
+
|
|
87
106
|
<div data-widget-area="footer">
|
|
88
107
|
{{{each widgets.footer}}}
|
|
89
108
|
{{widgets.footer.html}}
|
|
90
109
|
{{{end}}}
|
|
91
|
-
</div>
|
|
92
|
-
|
|
93
|
-
<!-- IF !config.usePagination -->
|
|
94
|
-
<noscript>
|
|
95
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
96
|
-
</noscript>
|
|
97
|
-
<!-- ENDIF !config.usePagination -->
|
|
110
|
+
</div>
|