nodebb-theme-harmony 1.2.13 → 1.2.15
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/library.js +5 -0
- package/package.json +1 -1
- package/plugin.json +2 -1
- package/scss/common.scss +7 -0
- package/templates/partials/categories/lastpost.tpl +1 -3
- package/templates/partials/header/brand.tpl +2 -2
- package/templates/partials/paginator.tpl +2 -2
- package/templates/partials/post_bar.tpl +2 -2
- package/templates/partials/sidebar/search-mobile.tpl +3 -3
- package/templates/partials/sidebar/search.tpl +3 -3
- package/templates/partials/topic/navigator.tpl +1 -1
- package/templates/partials/topic-list-bar.tpl +3 -3
- package/templates/partials/topics_list.tpl +2 -3
package/library.js
CHANGED
|
@@ -186,3 +186,8 @@ library.filterMiddlewareRenderHeader = async function (hookData) {
|
|
|
186
186
|
return hookData;
|
|
187
187
|
};
|
|
188
188
|
|
|
189
|
+
library.filterTeasersConfigureStripTags = function (hookData) {
|
|
190
|
+
// teasers have a stretched-link to go to last post, the anchors in them are not clickable
|
|
191
|
+
hookData.tags.push('a');
|
|
192
|
+
return hookData;
|
|
193
|
+
};
|
package/package.json
CHANGED
package/plugin.json
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
{ "hook": "filter:settings.get", "method": "getAdminSettings"},
|
|
9
9
|
{ "hook": "filter:user.saveSettings", "method": "saveUserSettings" },
|
|
10
10
|
{ "hook": "filter:user.profileMenu", "method": "addProfileItem" },
|
|
11
|
-
{ "hook": "filter:middleware.renderHeader", "method": "filterMiddlewareRenderHeader" }
|
|
11
|
+
{ "hook": "filter:middleware.renderHeader", "method": "filterMiddlewareRenderHeader" },
|
|
12
|
+
{ "hook": "filter:teasers.configureStripTags", "method": "filterTeasersConfigureStripTags"}
|
|
12
13
|
],
|
|
13
14
|
"scripts": [
|
|
14
15
|
"public/harmony.js"
|
package/scss/common.scss
CHANGED
|
@@ -119,4 +119,11 @@ body:not(.page-user) {
|
|
|
119
119
|
max-height: 500px;
|
|
120
120
|
width: auto;
|
|
121
121
|
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
[component="chat/message/body"],
|
|
125
|
+
[component="post/content"],
|
|
126
|
+
[component="topic/teaser"] .post-content,
|
|
127
|
+
[component="category/posts"] .post-content {
|
|
128
|
+
a { text-decoration: underline;}
|
|
122
129
|
}
|
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
<div component="category/posts" class="ps-2 text-xs d-flex flex-column h-100 gap-1">
|
|
5
5
|
<div class="text-nowrap text-truncate">
|
|
6
6
|
<a class="text-decoration-none" href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(posts.user, "18px", true, "avatar-tooltip")}</a>
|
|
7
|
-
<a class="permalink text-muted" href="{config.relative_path}/topic/{./topic.slug}{{{ if ./index }}}/{./index}{{{ end }}}">
|
|
8
|
-
<span class="timeago text-xs" title="{../timestampISO}"></span>
|
|
9
|
-
</a>
|
|
7
|
+
<a class="permalink text-muted timeago text-xs" href="{config.relative_path}/topic/{./topic.slug}{{{ if ./index }}}/{./index}{{{ end }}}" title="{./timestampISO}" aria-label="[[global:lastpost]]"></a>
|
|
10
8
|
</div>
|
|
11
9
|
<div class="post-content text-xs text-break line-clamp-sm-2 lh-sm position-relative flex-fill">
|
|
12
10
|
<a class="stretched-link" href="{config.relative_path}/topic/{./topic.slug}{{{ if ./index }}}/{./index}{{{ end }}}" aria-label="[[global:lastpost]]"></a>
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<div class="col-12 d-flex border-bottom pb-3 {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
|
|
4
4
|
<div component="brand/wrapper" class="d-flex align-items-center gap-3 p-2 rounded-1 align-content-stretch ">
|
|
5
5
|
{{{ if brand:logo }}}
|
|
6
|
-
<a component="brand/anchor" href="{{{ if brand:logo:url }}}{brand:logo:url}{{{ else }}}{relative_path}/{{{ end }}}">
|
|
7
|
-
<img component="brand/logo" alt="{brand:logo:alt}" class="{brand:logo:display}" src="{brand:logo}?{config.cache-buster}" />
|
|
6
|
+
<a component="brand/anchor" href="{{{ if brand:logo:url }}}{brand:logo:url}{{{ else }}}{relative_path}/{{{ end }}}" title="[[global:header.brand-logo]]">
|
|
7
|
+
<img component="brand/logo" alt="{{{ if brand:logo:alt }}}{brand:logo:alt}{{{ else }}}[[global:header.brand-logo]]{{{ end }}}" class="{brand:logo:display}" src="{brand:logo}?{config.cache-buster}" />
|
|
8
8
|
</a>
|
|
9
9
|
{{{ end }}}
|
|
10
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div component="pagination" class="pagination-container mt-3{{{ if !pagination.pages.length }}} hidden{{{ end }}}">
|
|
2
2
|
<ul class="pagination pagination-sm gap-1 hidden-xs hidden-sm justify-content-center">
|
|
3
|
-
<li class="page-item previous
|
|
3
|
+
<li class="page-item previous {{{ if !pagination.prev.active }}} disabled{{{ end }}}">
|
|
4
4
|
<a class="page-link rounded fw-secondary px-3" href="?{pagination.prev.qs}" data-page="{pagination.prev.page}"><i class="fa fa-chevron-left"></i> </a>
|
|
5
5
|
</li>
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
{{{ end }}}
|
|
17
17
|
{{{end}}}
|
|
18
18
|
|
|
19
|
-
<li class="page-item next
|
|
19
|
+
<li class="page-item next {{{ if !pagination.next.active }}} disabled{{{ end }}}">
|
|
20
20
|
<a class="page-link rounded fw-secondary px-3" href="?{pagination.next.qs}" data-page="{pagination.next.page}"> <i class="fa fa-chevron-right"></i></a>
|
|
21
21
|
</li>
|
|
22
22
|
</ul>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}}">
|
|
2
2
|
<nav class="d-flex flex-nowrap my-2 p-0 border-0 rounded topic-main-buttons">
|
|
3
3
|
<div class="d-flex flex-row p-2 text-bg-light border rounded w-100 align-items-center">
|
|
4
|
-
<
|
|
4
|
+
<div class="d-flex list-unstyled me-auto mb-0 gap-2 align-items-center flex-wrap">
|
|
5
5
|
{{{ if loggedIn }}}
|
|
6
6
|
<button component="topic/mark-unread" class="btn-ghost-sm ff-secondary d-flex gap-2 align-items-center">
|
|
7
7
|
<i class="fa fa-fw fa-inbox text-primary"></i>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<!-- IMPORT partials/topic/browsing-users.tpl -->
|
|
23
23
|
</div>
|
|
24
24
|
{{{ end }}}
|
|
25
|
-
</
|
|
25
|
+
</div>
|
|
26
26
|
<!-- IMPORT partials/topic/reply-button.tpl -->
|
|
27
27
|
</div>
|
|
28
28
|
</nav>
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
<div class="d-flex gap-1 input-container">
|
|
19
|
-
<input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="">
|
|
19
|
+
<input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="" aria-label="[[search:type-to-search]]">
|
|
20
20
|
|
|
21
|
-
<
|
|
21
|
+
<a class="nav-link d-flex justify-content-center align-items-center advanced-search-link" href="{config.relative_path}/search" title="[[search:advanced-search]]">
|
|
22
22
|
<i class="fa fa-gears fa-fw text-muted"></i>
|
|
23
|
-
</
|
|
23
|
+
</a>
|
|
24
24
|
</div>
|
|
25
25
|
|
|
26
26
|
<button type="submit" class="btn btn-outline-secondary hide">[[global:search]]</button>
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
<form component="search/form" id="search-form" class="d-flex justify-content-end align-items-center" role="search" method="GET">
|
|
9
9
|
<div component="search/fields" class="w-100" id="search-fields">
|
|
10
10
|
<div class="d-flex gap-1">
|
|
11
|
-
<input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="">
|
|
11
|
+
<input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="" aria-label="[[search:type-to-search]]">
|
|
12
12
|
|
|
13
|
-
<
|
|
13
|
+
<a class="btn-ghost advanced-search-link" href="{config.relative_path}/search" title="[[search:advanced-search]]">
|
|
14
14
|
<i class="fa fa-gears fa-fw text-muted"></i>
|
|
15
|
-
</
|
|
15
|
+
</a>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
<div id="quick-search-container" class="quick-search-container d-block mt-2 hidden">
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
<div class="unread d-inline-block position-absolute bottom-0">
|
|
16
16
|
<div class="meta small position-absolute top-50 translate-middle-y text-nowrap fw-semibold ms-2">
|
|
17
|
-
<a class="text-decoration-none" href="{url}"></a>
|
|
17
|
+
<a class="text-decoration-none" href="{url}" tabindex="-1" aria-disabled="true" aria-label="[[topic:unread-posts-link]]"></a>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}} mb-3">
|
|
2
2
|
<nav class="topic-list-header d-flex flex-nowrap my-2 p-0 border-0 rounded">
|
|
3
3
|
<div class="d-flex flex-row p-2 text-bg-light gap-1 border rounded w-100 align-items-center">
|
|
4
|
-
<
|
|
4
|
+
<div component="category/controls" class="d-flex me-auto mb-0 gap-2 align-items-start flex-wrap">
|
|
5
5
|
{{{ if template.category }}}
|
|
6
6
|
<!-- IMPORT partials/category/watch.tpl -->
|
|
7
7
|
<!-- IMPORT partials/tags/filter-dropdown-left.tpl -->
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
<!-- IMPORT partials/category/tools.tpl -->
|
|
28
28
|
|
|
29
29
|
{{{ if (!feeds:disableRSS && rssFeedUrl) }}}
|
|
30
|
-
<a class="btn-ghost-sm d-none d-lg-flex align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item"><i class="fa fa-rss text-primary"></i></a>
|
|
30
|
+
<a class="btn-ghost-sm d-none d-lg-flex align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
|
|
31
31
|
{{{ end }}}
|
|
32
32
|
|
|
33
33
|
<a href="{config.relative_path}{{{ if template.category }}}{url}{{{ else }}}/{selectedFilter.url}{querystring}{{{ end }}}" class="btn btn-secondary fw-semibold position-absolute top-100 translate-middle-x start-50 mt-1 hide" style="--bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem;" id="new-topics-alert">
|
|
34
34
|
<i class="fa fa-fw fa-arrow-up"></i> [[recent:load-new-posts]]
|
|
35
35
|
</a>
|
|
36
|
-
</
|
|
36
|
+
</div>
|
|
37
37
|
|
|
38
38
|
<div class="d-flex gap-1 align-items-center">
|
|
39
39
|
{{{ if template.category }}}
|
|
@@ -111,11 +111,10 @@
|
|
|
111
111
|
{{{ if ./teaser.pid }}}
|
|
112
112
|
<div class="ps-2">
|
|
113
113
|
<a href="{config.relative_path}/user/{./teaser.user.userslug}" class="text-decoration-none">{buildAvatar(./teaser.user, "18px", true, "avatar-tooltip not-responsive")}</a>
|
|
114
|
-
<a class="permalink text-muted timeago text-xs" href="{config.relative_path}/topic/{./slug}/{./teaser.index}" title="{./teaser.timestampISO}">
|
|
115
|
-
</a>
|
|
114
|
+
<a class="permalink text-muted timeago text-xs" href="{config.relative_path}/topic/{./slug}/{./teaser.index}" title="{./teaser.timestampISO}" aria-label="[[global:lastpost]]"></a>
|
|
116
115
|
</div>
|
|
117
116
|
<div class="post-content text-xs ps-2 line-clamp-sm-2 lh-sm text-break position-relative flex-fill">
|
|
118
|
-
<a class="stretched-link" href="{config.relative_path}/topic/{./slug}/{./teaser.index}"></a>
|
|
117
|
+
<a class="stretched-link" href="{config.relative_path}/topic/{./slug}/{./teaser.index}" aria-label="[[global:lastpost]]"></a>
|
|
119
118
|
{./teaser.content}
|
|
120
119
|
</div>
|
|
121
120
|
{{{ end }}}
|