summaryrefslogtreecommitdiffstats
path: root/hyperkitty/templates/threads
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-05-14 13:44:42 +0200
committerAurélien Bompard <aurelien@bompard.org>2013-05-14 13:44:42 +0200
commitfb6423fd8d2e0068c9c5b5bb8a643ea991e59739 (patch)
tree5b8e07532ca7763052017e3027eb8db8affa06e6 /hyperkitty/templates/threads
parent4b1df7bbdb0f0fa35cf738235aff8170a37b7d04 (diff)
downloadhyperkitty-fb6423fd8d2e0068c9c5b5bb8a643ea991e59739.tar.gz
hyperkitty-fb6423fd8d2e0068c9c5b5bb8a643ea991e59739.tar.xz
hyperkitty-fb6423fd8d2e0068c9c5b5bb8a643ea991e59739.zip
Speed up page loading on long threads
Speed up page loading on threads with many replies by loading the replies asynchronously. Preserve search engine indexation by detecting bots and serving the usual page in one go.
Diffstat (limited to 'hyperkitty/templates/threads')
-rw-r--r--hyperkitty/templates/threads/participants.html14
-rw-r--r--hyperkitty/templates/threads/replies.html11
-rw-r--r--hyperkitty/templates/threads/right_col.html15
3 files changed, 31 insertions, 9 deletions
diff --git a/hyperkitty/templates/threads/participants.html b/hyperkitty/templates/threads/participants.html
new file mode 100644
index 0000000..b40445b
--- /dev/null
+++ b/hyperkitty/templates/threads/participants.html
@@ -0,0 +1,14 @@
+{% load url from future %}
+{% load gravatar %}
+{% load hk_generic %}
+
+ <span id="participants_title">participants</span> ({{participants|length}})
+ <ul>
+ {% for name, email in participants.items|sort %}
+ <li>
+ {% gravatar email 20 %}
+ {{ name|escapeemail }}
+ </li>
+ {% endfor %}
+ </ul>
+
diff --git a/hyperkitty/templates/threads/replies.html b/hyperkitty/templates/threads/replies.html
new file mode 100644
index 0000000..19ee0e2
--- /dev/null
+++ b/hyperkitty/templates/threads/replies.html
@@ -0,0 +1,11 @@
+{% load url from future %}
+{% load hk_generic %}
+
+ {% for email in replies %}
+ <div class="{% cycle 'even' 'odd' %}"
+ {% if email.level %}style="margin-left:{{ email.level|multiply:"2" }}em;"{% endif %}>
+ <!-- Start email -->
+ {% include 'messages/message.html' %}
+ <!-- End of email -->
+ </div>
+ {% endfor %}
diff --git a/hyperkitty/templates/threads/right_col.html b/hyperkitty/templates/threads/right_col.html
index cbc7772..8744f66 100644
--- a/hyperkitty/templates/threads/right_col.html
+++ b/hyperkitty/templates/threads/right_col.html
@@ -44,15 +44,12 @@
</form>
</div>
<div id="participants">
- <span id="participants_title">participants</span> ({{participants|length}})
- <ul>
- {% for name, email in participants.items|sort %}
- <li>
- {% gravatar email 20 %}
- {{ name|escapeemail }}
- </li>
- {% endfor %}
- </ul>
+ {% if is_bot %}
+ {% include 'threads/participants.html' %}
+ {% else %}
+ <span id="participants_title">participants</span>
+ <img alt="Loading..." class="ajaxloader" src="{{ STATIC_URL }}img/ajax-loader.gif" />
+ {% endif %}
</div>
</section>