nodebb-theme-persona 15.0.0 → 15.0.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-theme-persona",
3
- "version": "15.0.0",
3
+ "version": "15.0.2",
4
4
  "nbbpm": {
5
5
  "compatibility": "^4.14.0"
6
6
  },
@@ -158,11 +158,11 @@
158
158
  <div class="row">
159
159
  {{{ if (bestPosts.length || latestPosts.length) }}}
160
160
  <div class="col-12">
161
- <ul class="nav nav-tabs mb-3" role="tablist">
161
+ <ul class="nav nav-tabs mb-3 justify-content-center" role="tablist">
162
162
  {{{ if bestPosts.length }}}
163
163
  <li class="nav-item" role="presentation">
164
164
  <button
165
- class="nav-link active"
165
+ class="nav-link active fw-semibold"
166
166
  id="best-posts-tab"
167
167
  data-bs-toggle="tab"
168
168
  data-bs-target="#best-posts-pane"
@@ -178,7 +178,7 @@
178
178
  {{{ if latestPosts.length }}}
179
179
  <li class="nav-item" role="presentation">
180
180
  <button
181
- class="nav-link {{{ if !bestPosts.length }}}active{{{ end }}}"
181
+ class="nav-link fw-semibold {{{ if !bestPosts.length }}}active{{{ end }}}"
182
182
  id="latest-posts-tab"
183
183
  data-bs-toggle="tab"
184
184
  data-bs-target="#latest-posts-pane"
@@ -227,7 +227,7 @@
227
227
 
228
228
  <h4>[[user:notifications]]</h4>
229
229
  <div class="card card-body mb-3">
230
- <div class="row align-items-center">
230
+ <div class="row align-items-center mb-2">
231
231
  <div class="col-7">
232
232
  <label class="text-sm" for="upvote-notif-freq">[[user:upvote-notif-freq]]</label>
233
233
  </div>
@@ -241,6 +241,10 @@
241
241
  </select>
242
242
  </div>
243
243
  </div>
244
+ <div class="form-check mb-3">
245
+ <input class="form-check-input" type="checkbox" role="switch" id="hideReadNotifications" data-property="hideReadNotifications" {{{ if settings.hideReadNotifications }}}checked{{{ end }}} />
246
+ <label class="form-check-label text-sm" for="hideReadNotifications">[[user:hide-read-notifications]]</label>
247
+ </div>
244
248
  <hr />
245
249
  <table component="notification/table" class="table">
246
250
  <thead>
@@ -5,7 +5,7 @@
5
5
  <div class="d-flex gap-2 justify-content-end" role="toolbar">
6
6
  <div class="dropdown me-2">
7
7
  <button class="btn btn-ghost btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
8
- {{{ if selectedFilter }}}{selectedFilter.name}{{{ end}}} <span class="caret"></span>
8
+ {{{ if selectedFilter }}}{tx(selectedFilter.name)}{{{ end}}} <span class="caret"></span>
9
9
  </button>
10
10
  <ul class="dropdown-menu dropdown-menu-end p-1" role="menu">
11
11
  {{{ each filters }}}
@@ -36,31 +36,7 @@
36
36
  </div>
37
37
 
38
38
  <ul component="notifications/list" class="notifications-list list-unstyled" data-nextstart="{nextStart}">
39
- {{{each notifications}}}
40
- <li data-nid="{notifications.nid}" class="{notifications.readClass} {{{ if !./read}}}unread{{{ end }}} d-flex pointer border p-3 mb-2 d-flex gap-2" component="notifications/item">
41
- <div>
42
- {{{ if notifications.from }}}
43
- {{buildAvatar(notifications.user, "24px", true)}}
44
- {{{ else }}}
45
- {{{ if notifications.image }}}
46
- <img width="24" height="24" src="{notifications.image}" />
47
- {{{ end }}}
48
- {{{ end }}}
49
- </div>
50
- <div class="d-flex flex-column gap-1 flex-grow-1">
51
- <a class="text-reset" component="notifications/item/link" href="{notifications.path}">{notifications.bodyShort}</a>
52
- <span class="timeago text-sm text-secondary" title="{notifications.datetimeISO}"></span>
53
- </div>
54
- <div>
55
- {{{ if ./nid }}}
56
- <button class="mark-read btn btn-ghost btn-sm d-flex align-items-center justify-content-center flex-grow-0 flex-shrink-0 p-1" style="width: 1.5rem; height: 1.5rem;">
57
- <i class="unread fa fa-2xs fa-circle text-primary {{{ if ./read }}}hidden{{{ end }}}" aria-label="[[unread:mark-as-read]]"></i>
58
- <i class="read fa fa-2xs fa-circle-o text-secondary {{{ if !./read }}}hidden{{{ end }}}" aria-label="[[unread:mark-as-unread]]"></i>
59
- </button>
60
- {{{ end }}}
61
- </div>
62
- </li>
63
- {{{end}}}
39
+ <!-- IMPORT partials/notifications_list.tpl -->
64
40
  </ul>
65
41
  <!-- IMPORT partials/paginator.tpl -->
66
42
  </div>
@@ -8,8 +8,14 @@
8
8
  </div>
9
9
 
10
10
  <div class="cover position-absolute start-0 top-0" component="account/cover" style="background-image: url({cover:url}); background-position: {cover:position};">
11
- <div class="avatar-wrapper bg-body rounded-circle position-absolute start-50 top-100 translate-middle" data-uid="{uid}" style="padding: 4px;">
11
+ <div class="avatar-wrapper bg-body rounded-circle position-absolute start-50 top-100 translate-middle hover-parent" data-uid="{uid}" style="padding: 4px;">
12
12
  {{buildAvatar(@value, "128px", true)}}
13
+ {{{ if (allowProfilePicture && isSelfOrAdminOrGlobalModerator)}}}
14
+ <a href="#" component="profile/change/picture" class="d-none d-md-block pointer p-2 rounded-1 text-bg-light position-absolute top-50 start-50 translate-middle hover-opacity-75">
15
+ <span><i class="fa fa-fw fa-upload"></i></span>
16
+ </a>
17
+ {{{ end }}}
18
+
13
19
  <span component="user/status" class="fs-3 position-absolute border border-white border-2 rounded-circle status {status}" style="top: 17px; right: 3px; padding: 10px;"><span class="visually-hidden">[[global:{status}]]</span></span>
14
20
 
15
21
  {{{ if !isSelf }}}
@@ -2,40 +2,40 @@
2
2
  <button type="button" class="persona-fab dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3
3
  <i class="fa fa-ellipsis-v"></i>
4
4
  </button>
5
- <ul class="dropdown-menu dropdown-menu-end account-sub-links" role="menu">
5
+ <ul class="dropdown-menu dropdown-menu-end account-sub-links p-1" role="menu">
6
6
  <!-- IF loggedIn -->
7
7
  <!-- IF !isSelf -->
8
8
  <!-- IF !banned -->
9
9
  <!-- IF canChat -->
10
10
  <li class="<!-- IF !hasPrivateChat -->hidden<!-- ENDIF !hasPrivateChat -->">
11
- <a class="dropdown-item" component="account/chat" href="#" role="menuitem">[[user:chat-with, {username}]]</a>
11
+ <a class="dropdown-item rounded-1" component="account/chat" href="#" role="menuitem">[[user:chat-with, {username}]]</a>
12
12
  </li>
13
13
  <li>
14
- <a class="dropdown-item" component="account/new-chat" href="#" role="menuitem">[[user:new-chat-with, {username}]]</a>
14
+ <a class="dropdown-item rounded-1" component="account/new-chat" href="#" role="menuitem">[[user:new-chat-with, {username}]]</a>
15
15
  </li>
16
16
  <!-- ENDIF canChat -->
17
17
  <li>
18
- <a {{{if flagId }}}hidden{{{end}}} class="dropdown-item" component="account/flag" href="#" role="menuitem">[[user:flag-profile]]</a>
18
+ <a {{{if flagId }}}hidden{{{end}}} class="dropdown-item rounded-1" component="account/flag" href="#" role="menuitem">[[user:flag-profile]]</a>
19
19
  </li>
20
20
  <li>
21
- <a {{{if !flagId }}}hidden{{{end}}} class="dropdown-item" component="account/already-flagged" href="#" role="menuitem" data-flag-id="{flagId}">[[user:profile-flagged]]</a>
21
+ <a {{{if !flagId }}}hidden{{{end}}} class="dropdown-item rounded-1" component="account/already-flagged" href="#" role="menuitem" data-flag-id="{flagId}">[[user:profile-flagged]]</a>
22
22
  </li>
23
23
  <li>
24
- <a class="dropdown-item {{{ if ./isBlocked }}}hidden{{{ end }}}" component="account/block" href="#" role="menuitem">[[user:block-user]]</a>
24
+ <a class="dropdown-item rounded-1 {{{ if ./isBlocked }}}hidden{{{ end }}}" component="account/block" href="#" role="menuitem">[[user:block-user]]</a>
25
25
  </li>
26
26
  <li>
27
- <a class="dropdown-item {{{ if !./isBlocked }}}hidden{{{ end }}}" component="account/unblock" href="#" role="menuitem">[[user:unblock-user]]</a>
27
+ <a class="dropdown-item rounded-1 {{{ if !./isBlocked }}}hidden{{{ end }}}" component="account/unblock" href="#" role="menuitem">[[user:unblock-user]]</a>
28
28
  </li>
29
29
  <li role="separator" class="dropdown-divider"></li>
30
30
  <!-- ENDIF !banned -->
31
31
  <!-- ENDIF !isSelf -->
32
32
  <!-- ENDIF loggedIn -->
33
33
  <li>
34
- <a class="dropdown-item" href="{config.relative_path}/user/{userslug}" class="d-inline-block" id="profile" role="menuitem">[[user:profile]]</a>
34
+ <a class="dropdown-item rounded-1" href="{config.relative_path}/user/{userslug}" class="d-inline-block" id="profile" role="menuitem">[[user:profile]]</a>
35
35
  </li>
36
36
  <!-- IF canEdit -->
37
- <li><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/edit" role="menuitem">[[user:edit]]</a></li>
38
- <li><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/settings" role="menuitem">[[user:settings]]</a></li>
37
+ <li><a class="dropdown-item rounded-1" href="{config.relative_path}/user/{userslug}/edit" role="menuitem">[[user:edit]]</a></li>
38
+ <li><a class="dropdown-item rounded-1" href="{config.relative_path}/user/{userslug}/settings" role="menuitem">[[user:settings]]</a></li>
39
39
  <!-- ENDIF canEdit -->
40
40
 
41
41
  <!-- IF !isSelf -->
@@ -45,56 +45,56 @@
45
45
  {{{ end }}}
46
46
  {{{ if canBan }}}
47
47
  <li class="<!-- IF banned -->hide<!-- ENDIF banned -->">
48
- <a class="dropdown-item" component="account/ban" href="#" role="menuitem">[[user:ban-account]]</a>
48
+ <a class="dropdown-item rounded-1" component="account/ban" href="#" role="menuitem">[[user:ban-account]]</a>
49
49
  </li>
50
50
  <li class="<!-- IF !banned -->hide<!-- ENDIF !banned -->">
51
- <a class="dropdown-item" component="account/unban" href="#" role="menuitem">[[user:unban-account]]</a>
51
+ <a class="dropdown-item rounded-1" component="account/unban" href="#" role="menuitem">[[user:unban-account]]</a>
52
52
  </li>
53
53
  {{{ end }}}
54
54
  {{{ if canMute }}}
55
55
  <li class="<!-- IF muted -->hide<!-- ENDIF muted -->">
56
- <a class="dropdown-item" component="account/mute" href="#" role="menuitem">[[user:mute-account]]</a>
56
+ <a class="dropdown-item rounded-1" component="account/mute" href="#" role="menuitem">[[user:mute-account]]</a>
57
57
  </li>
58
58
  <li class="<!-- IF !muted -->hide<!-- ENDIF !muted -->">
59
- <a class="dropdown-item" component="account/unmute" href="#" role="menuitem">[[user:unmute-account]]</a>
59
+ <a class="dropdown-item rounded-1" component="account/unmute" href="#" role="menuitem">[[user:unmute-account]]</a>
60
60
  </li>
61
61
  {{{ end }}}
62
62
  <!-- IF isAdmin -->
63
63
  <li>
64
- <a component="account/delete-account" href="#" class="dropdown-item" role="menuitem">[[user:delete-account-as-admin]]</a>
65
- <a component="account/delete-content" href="#" class="dropdown-item" role="menuitem">[[user:delete-content]]</a>
66
- <a component="account/delete-all" href="#" class="dropdown-item" role="menuitem">[[user:delete-all]]</a>
64
+ <a component="account/delete-account" href="#" class="dropdown-item rounded-1" role="menuitem">[[user:delete-account-as-admin]]</a>
65
+ <a component="account/delete-content" href="#" class="dropdown-item rounded-1" role="menuitem">[[user:delete-content]]</a>
66
+ <a component="account/delete-all" href="#" class="dropdown-item rounded-1" role="menuitem">[[user:delete-all]]</a>
67
67
  </li>
68
68
  <!-- ENDIF isAdmin -->
69
69
  <!-- ENDIF !isSelf -->
70
70
 
71
71
  <li role="separator" class="dropdown-divider"></li>
72
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/following" role="menuitem">[[user:following]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.following}">{formattedNumber(counts.following)}</span></a></li>
73
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/followers" role="menuitem">[[user:followers]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.followers}">{formattedNumber(counts.followers)}</span></a></li>
72
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/following" role="menuitem">[[user:following]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.following}">{formattedNumber(counts.following)}</span></a></li>
73
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/followers" role="menuitem">[[user:followers]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.followers}">{formattedNumber(counts.followers)}</span></a></li>
74
74
  <!-- IF canEdit -->
75
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/blocks" role="menuitem">[[user:blocks]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.blocks}">{formattedNumber(counts.blocks)}</span></a></li>
75
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/blocks" role="menuitem">[[user:blocks]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.blocks}">{formattedNumber(counts.blocks)}</span></a></li>
76
76
  <!-- ENDIF canEdit -->
77
77
  <li role="separator" class="dropdown-divider"></li>
78
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/topics" role="menuitem">[[global:topics]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.topics}">{formattedNumber(counts.topics)}</span></a></li>
79
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/posts" role="menuitem">[[global:posts]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.posts}">{formattedNumber(counts.posts)}</span></a></li>
78
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/topics" role="menuitem">[[global:topics]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.topics}">{formattedNumber(counts.topics)}</span></a></li>
79
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/posts" role="menuitem">[[global:posts]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.posts}">{formattedNumber(counts.posts)}</span></a></li>
80
80
 
81
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/groups" role="menuitem">[[global:header.groups]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.groups}">{formattedNumber(counts.groups)}</span></a></li>
81
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/groups" role="menuitem">[[global:header.groups]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.groups}">{formattedNumber(counts.groups)}</span></a></li>
82
82
 
83
83
  <!-- IF canEdit -->
84
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/categories" role="menuitem">[[user:watched-categories]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.categoriesWatched}">{formattedNumber(counts.categoriesWatched)}</span></a></li>
84
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/categories" role="menuitem">[[user:watched-categories]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.categoriesWatched}">{formattedNumber(counts.categoriesWatched)}</span></a></li>
85
85
  {{{ if isSelf }}}
86
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/tags" role="menuitem">
86
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/tags" role="menuitem">
87
87
  [[user:watched-tags]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.tagsWatched}">{formattedNumber(counts.tagsWatched)}</span></a></li>
88
88
  {{{ end }}}
89
89
 
90
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/uploads" role="menuitem">[[global:uploads]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.uploaded}">{formattedNumber(counts.uploaded)}</span></a></li>
90
+ <li><a class="dropdown-item rounded-1 d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/uploads" role="menuitem">[[global:uploads]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.uploaded}">{formattedNumber(counts.uploaded)}</span></a></li>
91
91
  <!-- ENDIF canEdit -->
92
92
 
93
93
  {{{ each profile_links }}}
94
94
  <!-- IF @first -->
95
95
  <li role="separator" class="dropdown-divider"></li>
96
96
  <!-- ENDIF @first -->
97
- <li id="{./id}" class="plugin-link {{{ if ./public }}}public{{{ else }}}private{{{ end }}}"><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/{profile_links.route}">{{{ if icon }}}<i class="fa fa-fw {./icon}"></i> {{{ end }}}{tx(./name)}</a></li>
97
+ <li id="{./id}" class="plugin-link {{{ if ./public }}}public{{{ else }}}private{{{ end }}}"><a class="dropdown-item rounded-1" href="{config.relative_path}/user/{userslug}/{profile_links.route}">{{{ if icon }}}<i class="fa fa-fw {./icon}"></i> {{{ end }}}{tx(./name)}</a></li>
98
98
  {{{ end }}}
99
99
  </ul>
100
100
  </div>
@@ -8,7 +8,7 @@
8
8
  </div>
9
9
  <div class="post-content text-xs text-break line-clamp-sm-2 lh-sm position-relative flex-fill">
10
10
  <a class="stretched-link" tabindex="-1" href="{config.relative_path}/topic/{./topic.slug}{{{ if ./index }}}/{./index}{{{ end }}}" aria-label="[[global:lastpost]]"></a>
11
- {{txEscape(./content)}}
11
+ {{renderContent(./content, ./deleted)}}
12
12
  </div>
13
13
  </div>
14
14
  {{{ end }}}
@@ -37,9 +37,9 @@
37
37
  </div>
38
38
  <div>
39
39
  {{{ if ./nid }}}
40
- <button class="mark-read btn btn-ghost btn-sm flex-grow-0 flex-shrink-0 p-1" style="width: 1.5rem; height: 1.5rem;">
41
- <i class="unread fa fa-2xs fa-circle text-primary {{{ if ./read }}}hidden{{{ end }}}" aria-label="[[unread:mark-as-read]]"></i>
42
- <i class="read fa fa-2xs fa-circle-o text-secondary {{{ if !./read }}}hidden{{{ end }}}" aria-label="[[unread:mark-as-unread]]"></i>
40
+ <button class="mark-read btn btn-ghost btn-sm d-flex align-items-center justify-content-center flex-grow-0 flex-shrink-0 p-1" style="width: 1.5rem; height: 1.5rem;">
41
+ <i class="lh-1 unread fa fa-2xs fa-circle text-primary {{{ if ./read }}}hidden{{{ end }}}" aria-label="[[unread:mark-as-read]]"></i>
42
+ <i class="lh-1 read fa fa-2xs fa-circle-o text-secondary {{{ if !./read }}}hidden{{{ end }}}" aria-label="[[unread:mark-as-unread]]"></i>
43
43
  </button>
44
44
  {{{ end }}}
45
45
  </div>
@@ -4,8 +4,8 @@
4
4
  {{{ if !./isMainPost }}}RE: {{{ end }}}{./topic.title}
5
5
  </a>
6
6
 
7
- <div component="post/content" class="content mb-3">
8
- {{txEscape(../content)}}
7
+ <div component="post/content" class="content mb-3 text-break">
8
+ {{renderContent(./content, ./deleted)}}
9
9
  </div>
10
10
 
11
11
  <div class="mb-3">
@@ -9,4 +9,4 @@
9
9
  </small>
10
10
  </div>
11
11
 
12
- <div>{{post.content}}</div>
12
+ <div>{{renderContent(post.content, post.deleted)}}</div>
@@ -72,7 +72,7 @@
72
72
  <br />
73
73
 
74
74
  <div class="content" component="post/content" itemprop="text">
75
- {{posts.content}}
75
+ {{renderContent(posts.content, posts.deleted)}}
76
76
  </div>
77
77
 
78
78
  <div class="post-footer">
@@ -21,7 +21,9 @@
21
21
  </div>
22
22
  <div class="flex-grow-1 d-flex flex-wrap gap-1 position-relative">
23
23
  <h3 component="topic/header" class="title text-break fs-5 fw-semibold m-0 tracking-tight w-100 {{{ if showSelect }}}me-4 me-lg-0{{{ end }}}">
24
- <a class="text-reset" href="{{{ if topics.noAnchor }}}#{{{ else }}}{config.relative_path}/topic/{./slug}{{{ if ./bookmark }}}/{./bookmark}{{{ end }}}{{{ end }}}">{./title}</a>
24
+ <a class="text-reset" href="{{{ if topics.noAnchor }}}#{{{ else }}}{config.relative_path}/topic/{./slug}{{{ if ./bookmark }}}/{./bookmark}{{{ end }}}{{{ end }}}">
25
+ {renderContent(./title, ./deleted)}
26
+ </a>
25
27
  </h3>
26
28
  <div component="topic/labels" class="d-flex flex-wrap gap-1 w-100 align-items-center">
27
29
  <span component="topic/watched" class="badge border border-gray-300 text-body {{{ if !./followed }}}hidden{{{ end }}}">
@@ -119,7 +121,7 @@
119
121
  </div>
120
122
  <div class="post-content text-xs ps-2 line-clamp-sm-2 lh-sm text-break position-relative flex-fill">
121
123
  <a class="stretched-link" tabindex="-1" href="{config.relative_path}/topic/{./slug}/{./teaser.index}" aria-label="[[global:lastpost]]"></a>
122
- {{txEscape(./teaser.content)}}
124
+ {{renderContent(./teaser.content)}}
123
125
  </div>
124
126
  {{{ end }}}
125
127
  {{{ end }}}