index.html 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. {% extends theme("layout.html") %}
  2. {% block css %}
  3. {{ super() }}
  4. <style>
  5. /* news posts */
  6. .portal-info {
  7. font-size:15px;
  8. color:#999999;
  9. padding: 0;
  10. margin-top:5px;
  11. margin-bottom:10px;
  12. margin-right: 0px;
  13. margin-left: 0px;
  14. }
  15. .portal-info ul {
  16. list-style-type:none;
  17. }
  18. .portal-info li {
  19. display:inline;
  20. padding-right:10px;
  21. }
  22. .portal-info a {
  23. color:#999999;
  24. }
  25. .portal-content h1,
  26. .portal-content h2,
  27. .portal-content h3,
  28. .portal-content h4,
  29. .portal-content h5 {
  30. font-weight:500;
  31. }
  32. /* recent topics */
  33. .portal-topic:not(:first-child) {
  34. padding-top: 5px;
  35. clear: both;
  36. border-top: 1px solid #ddd;
  37. }
  38. .portal-topic-name {
  39. float: left;
  40. }
  41. .portal-topic-updated-by {
  42. float: right;
  43. }
  44. .portal-topic-updated {
  45. color:#999999;
  46. clear: both;
  47. float: right;
  48. }
  49. /* stats */
  50. .portal-stats {
  51. color:#999999;
  52. }
  53. .portal-stats:not(:first-child) {
  54. padding-top: 5px;
  55. clear: both;
  56. }
  57. .portal-stats-left {
  58. float: left;
  59. }
  60. .portal-stats-right {
  61. float: right;
  62. }
  63. </style>
  64. {% endblock %}
  65. {% block content %}
  66. <div class="container main-content">
  67. <div class="row">
  68. <!-- Left -->
  69. <div class="col-md-8">
  70. <div class="panel panel-default">
  71. <div class="panel-heading">
  72. <h3 class="panel-title">News</h3>
  73. </div>
  74. <div class="panel-body">
  75. {% for topic in news %}
  76. <h1><a href="{{ topic.url }}">{{ topic.title }}</a></h1>
  77. <ul class="portal-info">
  78. <li><i class="fa fa-calendar"></i> {{ topic.date_created|format_date('%b %d %Y') }}</li>
  79. <li><i class="fa fa-user"></i> <a href="{{ url_for('user.profile', username=topic.user.username) }}">{{ topic.user.username }}</a></li>
  80. <li><i class="fa fa-comment"></i> <a href="{{ topic.url }}">Comments ({{ topic.post_count }})</a></li>
  81. </ul>
  82. <div class="portal-content">
  83. {{ topic.first_post.content | markup | safe }}<br />
  84. </div>
  85. {% if not loop.last %}<hr>{% endif %}
  86. {% endfor %}
  87. </div> <!-- /.panel-body -->
  88. </div>
  89. </div>
  90. <!-- Right -->
  91. <div class="col-md-4">
  92. <div class="panel panel-default">
  93. <div class="panel-heading">
  94. <h3 class="panel-title">Recent Topics</h3>
  95. </div>
  96. <div class="panel-body">
  97. {% for topic in recent_topics %}
  98. <div class="portal-topic">
  99. <div class="portal-topic-name">
  100. <a href="{{ topic.url }}">{{ topic.title }}</a>
  101. </div>
  102. <div class="portal-topic-updated-by">
  103. <a href="{{ url_for('user.profile', username=topic.user.username) }}">{{ topic.user.username }}</a>
  104. </div>
  105. <div class="portal-topic-updated">
  106. {{ topic.date_created | time_since }}
  107. </div>
  108. </div> <!-- /.topic -->
  109. {% endfor %}
  110. </div>
  111. </div>
  112. <div class="panel panel-default">
  113. <div class="panel-heading">
  114. <h3 class="panel-title">Statistics</h3>
  115. </div>
  116. <div class="panel-body">
  117. <div class="portal-stats">
  118. <div class="portal-stats-left">
  119. Topics
  120. </div>
  121. <div class="portal-stats-right">
  122. {{ topic_count }}
  123. </div>
  124. </div>
  125. <div class="portal-stats">
  126. <div class="portal-stats-left">
  127. Posts
  128. </div>
  129. <div class="portal-stats-right">
  130. {{ post_count }}
  131. </div>
  132. </div>
  133. <div class="portal-stats">
  134. <div class="portal-stats-left">
  135. Registered Users
  136. </div>
  137. <div class="portal-stats-right">
  138. {{ user_count }}
  139. </div>
  140. </div>
  141. {% if newest_user %}
  142. <div class="portal-stats">
  143. <div class="portal-stats-left">
  144. Newest User
  145. </div>
  146. <div class="portal-stats-right">
  147. <a href="{{ newest_user.url }}">{{ newest_user.username }}</a>
  148. </div>
  149. </div>
  150. {% endif %}
  151. <div class="portal-stats">
  152. <div class="portal-stats-left">
  153. Online Users
  154. </div>
  155. <div class="portal-stats-right">
  156. {{ online_users }}
  157. </div>
  158. </div>
  159. {% if config["REDIS_ENABLED"] %}
  160. <div class="portal-stats">
  161. <div class="portal-stats-left">
  162. Guests online
  163. </div>
  164. <div class="portal-stats-right">
  165. {{ online_guests }}
  166. </div>
  167. </div>
  168. {% endif %}
  169. </td>
  170. </tr>
  171. </div>
  172. </div>
  173. </div>
  174. </div>
  175. </div>
  176. {% endblock %}