nodebb-theme-harmony 0.0.1

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.
Files changed (135) hide show
  1. package/.eslintrc +3 -0
  2. package/README.md +8 -0
  3. package/lib/controllers.js +7 -0
  4. package/library.js +51 -0
  5. package/package.json +45 -0
  6. package/plugin.json +11 -0
  7. package/public/.eslintrc +3 -0
  8. package/public/admin.js +15 -0
  9. package/renovate.json +6 -0
  10. package/scss/harmony.scss +3 -0
  11. package/scss/overrides.scss +1 -0
  12. package/templates/account/best.tpl +3 -0
  13. package/templates/account/blocks.tpl +35 -0
  14. package/templates/account/bookmarks.tpl +3 -0
  15. package/templates/account/categories.tpl +30 -0
  16. package/templates/account/consent.tpl +71 -0
  17. package/templates/account/controversial.tpl +3 -0
  18. package/templates/account/downvoted.tpl +3 -0
  19. package/templates/account/edit/password.tpl +32 -0
  20. package/templates/account/edit/username.tpl +28 -0
  21. package/templates/account/edit.tpl +137 -0
  22. package/templates/account/followers.tpl +19 -0
  23. package/templates/account/following.tpl +19 -0
  24. package/templates/account/groups.tpl +19 -0
  25. package/templates/account/ignored.tpl +3 -0
  26. package/templates/account/info.tpl +228 -0
  27. package/templates/account/posts.tpl +21 -0
  28. package/templates/account/profile.tpl +168 -0
  29. package/templates/account/sessions.tpl +34 -0
  30. package/templates/account/settings.tpl +231 -0
  31. package/templates/account/theme.tpl +29 -0
  32. package/templates/account/topics.tpl +32 -0
  33. package/templates/account/uploads.tpl +45 -0
  34. package/templates/account/upvoted.tpl +3 -0
  35. package/templates/account/watched.tpl +3 -0
  36. package/templates/admin/plugins/persona.tpl +29 -0
  37. package/templates/categories.tpl +33 -0
  38. package/templates/category.tpl +65 -0
  39. package/templates/chat.tpl +41 -0
  40. package/templates/chats.tpl +21 -0
  41. package/templates/flags/detail.tpl +211 -0
  42. package/templates/flags/list.tpl +73 -0
  43. package/templates/footer.tpl +16 -0
  44. package/templates/groups/details.tpl +79 -0
  45. package/templates/groups/list.tpl +50 -0
  46. package/templates/groups/members.tpl +8 -0
  47. package/templates/header.tpl +49 -0
  48. package/templates/login.tpl +98 -0
  49. package/templates/modules/taskbar.tpl +5 -0
  50. package/templates/modules/usercard.tpl +39 -0
  51. package/templates/notifications.tpl +68 -0
  52. package/templates/partials/acceptTos.tpl +11 -0
  53. package/templates/partials/account/category-item.tpl +25 -0
  54. package/templates/partials/account/header.tpl +48 -0
  55. package/templates/partials/account/menu.tpl +103 -0
  56. package/templates/partials/breadcrumbs.tpl +20 -0
  57. package/templates/partials/buttons/newTopic.tpl +24 -0
  58. package/templates/partials/categories/item.tpl +62 -0
  59. package/templates/partials/categories/lastpost.tpl +28 -0
  60. package/templates/partials/categories/link.tpl +13 -0
  61. package/templates/partials/category/sort.tpl +17 -0
  62. package/templates/partials/category/subcategory.tpl +20 -0
  63. package/templates/partials/category/tags.tpl +5 -0
  64. package/templates/partials/category/tools.tpl +83 -0
  65. package/templates/partials/category/watch.tpl +23 -0
  66. package/templates/partials/category-filter-content.tpl +31 -0
  67. package/templates/partials/category-filter-right.tpl +5 -0
  68. package/templates/partials/category-filter.tpl +5 -0
  69. package/templates/partials/category-selector-content.tpl +35 -0
  70. package/templates/partials/category-selector-right.tpl +5 -0
  71. package/templates/partials/category-selector.tpl +5 -0
  72. package/templates/partials/chats/dropdown.tpl +40 -0
  73. package/templates/partials/chats/message-window.tpl +36 -0
  74. package/templates/partials/chats/message.tpl +36 -0
  75. package/templates/partials/chats/messages.tpl +9 -0
  76. package/templates/partials/chats/options.tpl +26 -0
  77. package/templates/partials/chats/recent_room.tpl +33 -0
  78. package/templates/partials/chats/system-message.tpl +5 -0
  79. package/templates/partials/chats/user.tpl +3 -0
  80. package/templates/partials/chats-menu.tpl +43 -0
  81. package/templates/partials/cookie-consent.tpl +6 -0
  82. package/templates/partials/flags/filters.tpl +99 -0
  83. package/templates/partials/groups/admin.tpl +197 -0
  84. package/templates/partials/groups/badge.tpl +3 -0
  85. package/templates/partials/groups/list.tpl +23 -0
  86. package/templates/partials/groups/memberlist.tpl +43 -0
  87. package/templates/partials/header/user-menu.tpl +87 -0
  88. package/templates/partials/menu.tpl +188 -0
  89. package/templates/partials/notifications_list.tpl +32 -0
  90. package/templates/partials/paginator.tpl +47 -0
  91. package/templates/partials/post_bar.tpl +22 -0
  92. package/templates/partials/posts_list.tpl +10 -0
  93. package/templates/partials/posts_list_item.tpl +34 -0
  94. package/templates/partials/quick-search-results.tpl +36 -0
  95. package/templates/partials/search-results.tpl +57 -0
  96. package/templates/partials/slideout-menu.tpl +6 -0
  97. package/templates/partials/tags_list.tpl +7 -0
  98. package/templates/partials/thread_tools.tpl +10 -0
  99. package/templates/partials/toast.tpl +16 -0
  100. package/templates/partials/topic/browsing-users.tpl +3 -0
  101. package/templates/partials/topic/event.tpl +28 -0
  102. package/templates/partials/topic/navigation-post.tpl +14 -0
  103. package/templates/partials/topic/navigator.tpl +41 -0
  104. package/templates/partials/topic/necro-post.tpl +5 -0
  105. package/templates/partials/topic/post-editor.tpl +3 -0
  106. package/templates/partials/topic/post-menu-list.tpl +134 -0
  107. package/templates/partials/topic/post-menu.tpl +6 -0
  108. package/templates/partials/topic/post.tpl +116 -0
  109. package/templates/partials/topic/quickreply.tpl +30 -0
  110. package/templates/partials/topic/reactions.tpl +3 -0
  111. package/templates/partials/topic/reply-button.tpl +29 -0
  112. package/templates/partials/topic/selection-tooltip.tpl +5 -0
  113. package/templates/partials/topic/sort.tpl +11 -0
  114. package/templates/partials/topic/stats.tpl +14 -0
  115. package/templates/partials/topic/tag.tpl +3 -0
  116. package/templates/partials/topic/tags.tpl +5 -0
  117. package/templates/partials/topic/topic-menu-list.tpl +34 -0
  118. package/templates/partials/topic/watch.tpl +24 -0
  119. package/templates/partials/topic-filters.tpl +14 -0
  120. package/templates/partials/topic-terms.tpl +14 -0
  121. package/templates/partials/topics_list.tpl +118 -0
  122. package/templates/partials/users_list.tpl +60 -0
  123. package/templates/partials/users_list_menu.tpl +23 -0
  124. package/templates/popular.tpl +37 -0
  125. package/templates/recent.tpl +39 -0
  126. package/templates/register.tpl +89 -0
  127. package/templates/search.tpl +185 -0
  128. package/templates/tag.tpl +35 -0
  129. package/templates/tags.tpl +34 -0
  130. package/templates/top.tpl +37 -0
  131. package/templates/topic.tpl +108 -0
  132. package/templates/unread.tpl +39 -0
  133. package/templates/users.tpl +36 -0
  134. package/theme.json +7 -0
  135. package/theme.scss +1 -0
@@ -0,0 +1,108 @@
1
+ <!-- THIS FILE IS STILL PERSONA -->
2
+
3
+ <div data-widget-area="header">
4
+ {{{each widgets.header}}}
5
+ {{widgets.header.html}}
6
+ {{{end}}}
7
+ </div>
8
+ <div class="row">
9
+ <div class="topic {{{ if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
10
+ <div class="topic-header sticky-top">
11
+ <h1 component="post/header" class="" itemprop="name">
12
+ <span class="topic-title">
13
+ <span component="topic/labels">
14
+ <i component="topic/scheduled" class="fa fa-clock-o {{{ if !scheduled }}}hidden{{{ end }}}" title="[[topic:scheduled]]"></i>
15
+ <i component="topic/pinned" class="fa fa-thumb-tack {{{ if (scheduled || !pinned) }}}hidden{{{ end }}}" title="{{{ if !pinExpiry }}}[[topic:pinned]]{{{ else }}}[[topic:pinned-with-expiry, {pinExpiryISO}]]{{{ end }}}"></i>
16
+ <i component="topic/locked" class="fa fa-lock {{{ if !locked }}}hidden{{{ end }}}" title="[[topic:locked]]"></i>
17
+ <i class="fa fa-arrow-circle-right {{{ if !oldCid }}}hidden{{{ end }}}" title="{{{ if privileges.isAdminOrMod }}}[[topic:moved-from, {oldCategory.name}]]{{{ else }}}[[topic:moved]]{{{ end }}}"></i>
18
+ {{{each icons}}}<span class="align-middle">{@value}</span>{{{end}}}
19
+ </span>
20
+ <span component="topic/title">{title}</span>
21
+ </span>
22
+ </h1>
23
+
24
+ <div class="topic-info clearfix">
25
+ <div class="category-item d-inline-block">
26
+ {buildCategoryIcon(category, "24px", "rounded-circle")}
27
+ <a href="{config.relative_path}/category/{category.slug}">{category.name}</a>
28
+ </div>
29
+
30
+ <div class="tags tag-list d-inline-block hidden-xs">
31
+ <!-- IMPORT partials/topic/tags.tpl -->
32
+ </div>
33
+ <div class="d-inline-block hidden-xs">
34
+ <!-- IMPORT partials/topic/stats.tpl -->
35
+ </div>
36
+ {{{ if !feeds:disableRSS }}}
37
+ {{{ if rssFeedUrl }}}<a class="hidden-xs" target="_blank" href="{rssFeedUrl}"><i class="fa fa-rss-square"></i></a>{{{ end }}}
38
+ {{{ end }}}
39
+ {{{ if browsingUsers }}}
40
+ <div class="d-inline-block hidden-xs">
41
+ <!-- IMPORT partials/topic/browsing-users.tpl -->
42
+ </div>
43
+ {{{ end }}}
44
+
45
+ <!-- IMPORT partials/post_bar.tpl -->
46
+ </div>
47
+ </div>
48
+ {{{ if merger }}}
49
+ <!-- IMPORT partials/topic/merged-message.tpl -->
50
+ {{{ end }}}
51
+
52
+ {{{ if !scheduled }}}
53
+ <!-- IMPORT partials/topic/deleted-message.tpl -->
54
+ {{{ end }}}
55
+
56
+ <ul component="topic" class="posts timeline" data-tid="{tid}" data-cid="{cid}">
57
+ {{{each posts}}}
58
+ <li component="post" class="{{{ if posts.deleted }}}deleted{{{ end }}} {{{ if posts.selfPost }}}self-post{{{ end }}} {{{ if posts.topicOwnerPost }}}topic-owner-post{{{ end }}}" <!-- IMPORT partials/data/topic.tpl -->>
59
+ <a component="post/anchor" data-index="{posts.index}" id="{posts.index}"></a>
60
+
61
+ <meta itemprop="datePublished" content="{posts.timestampISO}">
62
+ <meta itemprop="dateModified" content="{posts.editedISO}">
63
+
64
+ <!-- IMPORT partials/topic/post.tpl -->
65
+ </li>
66
+ {{{ if (config.topicPostSort != "most_votes") }}}
67
+ {{{ each ./events}}}
68
+ <!-- IMPORT partials/topic/event.tpl -->
69
+ {{{ end }}}
70
+ {{{ end }}}
71
+ {{{end}}}
72
+ </ul>
73
+
74
+ {{{ if browsingUsers }}}
75
+ <div class="visible-xs">
76
+ <!-- IMPORT partials/topic/browsing-users.tpl -->
77
+ <hr/>
78
+ </div>
79
+ {{{ end }}}
80
+
81
+ {{{ if config.enableQuickReply }}}
82
+ <!-- IMPORT partials/topic/quickreply.tpl -->
83
+ {{{ end }}}
84
+
85
+ {{{ if config.usePagination }}}
86
+ <!-- IMPORT partials/paginator.tpl -->
87
+ {{{ end }}}
88
+
89
+ <!-- IMPORT partials/topic/navigator.tpl -->
90
+ </div>
91
+ <div data-widget-area="sidebar" class="col-lg-3 col-sm-12 {{{ if !widgets.sidebar.length }}}hidden{{{ end }}}">
92
+ {{{each widgets.sidebar}}}
93
+ {{widgets.sidebar.html}}
94
+ {{{end}}}
95
+ </div>
96
+ </div>
97
+
98
+ <div data-widget-area="footer">
99
+ {{{each widgets.footer}}}
100
+ {{widgets.footer.html}}
101
+ {{{end}}}
102
+ </div>
103
+
104
+ {{{ if !config.usePagination }}}
105
+ <noscript>
106
+ <!-- IMPORT partials/paginator.tpl -->
107
+ </noscript>
108
+ {{{ end }}}
@@ -0,0 +1,39 @@
1
+ <!-- THIS FILE IS STILL PERSONA -->
2
+
3
+ <!-- IMPORT partials/breadcrumbs.tpl -->
4
+ <div data-widget-area="header">
5
+ {{{each widgets.header}}}
6
+ {{widgets.header.html}}
7
+ {{{end}}}
8
+ </div>
9
+ <div class="unread">
10
+ <div class="topic-list-header sticky-top btn-toolbar justify-content-between py-2 mb-2 gap-1">
11
+ <div class="d-flex gap-1 align-items-stretch">
12
+ <!-- IMPORT partials/buttons/newTopic.tpl -->
13
+ <a href="{config.relative_path}/{selectedFilter.url}{querystring}" class="d-inline-block">
14
+ <div class="alert alert-warning h-100 m-0 px-2 py-1 d-flex align-items-center hide" id="new-topics-alert"></div>
15
+ </a>
16
+ </div>
17
+
18
+ <div class="d-flex gap-1 align-items-stretch">
19
+ <!-- IMPORT partials/topic-filters.tpl -->
20
+ <!-- IMPORT partials/category-filter-right.tpl -->
21
+
22
+ <div class="markread btn-group {{{ if !topics.length }}}hidden{{{ end }}}">
23
+ <!-- IMPORT partials/category-selector-right.tpl -->
24
+ </div>
25
+
26
+ <!-- IMPORT partials/category/tools.tpl -->
27
+ </div>
28
+ </div>
29
+
30
+ <div class="category">
31
+ <div id="category-no-topics" class="alert alert-warning {{{ if topics.length }}}hidden{{{ end }}}">[[unread:no_unread_topics]]</div>
32
+
33
+ <!-- IMPORT partials/topics_list.tpl -->
34
+ <button id="load-more-btn" class="btn btn-primary hide">[[unread:load_more]]</button>
35
+ {{{ if config.usePagination }}}
36
+ <!-- IMPORT partials/paginator.tpl -->
37
+ {{{ end }}}
38
+ </div>
39
+ </div>
@@ -0,0 +1,36 @@
1
+ <!-- THIS FILE IS STILL PERSONA -->
2
+
3
+ <!-- IMPORT partials/breadcrumbs.tpl -->
4
+ <div data-widget-area="header">
5
+ {{{each widgets.header}}}
6
+ {{widgets.header.html}}
7
+ {{{end}}}
8
+ </div>
9
+ <div class="users">
10
+ <div class="row mb-3">
11
+ <div class="col-lg-6">
12
+ <!-- IMPORT partials/users_list_menu.tpl -->
13
+ </div>
14
+ <div class="col-3 text-end">
15
+ <!-- IF showInviteButton -->
16
+ <button component="user/invite" class="btn btn-success"><i class="fa fa-users"></i> [[users:invite]]</button>
17
+ <!-- ENDIF showInviteButton -->
18
+ </div>
19
+ <!-- IF displayUserSearch -->
20
+ <div class="col-lg-3 col-9">
21
+ <div class="search">
22
+ <div class="input-group">
23
+ <input class="form-control" id="search-user" type="text" placeholder="[[global:search]]"/>
24
+ <button class="btn btn-primary" type="button">
25
+ <i component="user/search/icon" class="fa fa-search"></i>
26
+ </button>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ <!-- ENDIF displayUserSearch -->
31
+ </div>
32
+
33
+ <!-- IMPORT partials/users_list.tpl -->
34
+
35
+ <!-- IMPORT partials/paginator.tpl -->
36
+ </div>
package/theme.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "id": "nodebb-theme-harmony",
3
+ "name": "Harmony",
4
+ "description": "The default theme for NodeBB. Uses a standard approach to forum design.",
5
+ "url": "https://github.com/nodebb/nodebb-theme-harmony",
6
+ "screenshot": "screenshot.png"
7
+ }
package/theme.scss ADDED
@@ -0,0 +1 @@
1
+ @import "./scss/harmony";