Browse Source

#692: added rel canonical/next/prev to threads/thread/users pages, tiny struct changes on threads lists, include category title in thread page title

Rafał Pitoń 8 years ago
parent
commit
3a372b8b1f

+ 3 - 0
misago/templates/misago/base.html

@@ -7,6 +7,9 @@
     <meta name="viewport" content="width=device-width,initial-scale=1">
     <meta name="viewport" content="width=device-width,initial-scale=1">
     <title>{% spaceless %}{% block title %}{{ misago_settings.forum_name }}{% endblock %}{% endspaceless %}</title>
     <title>{% spaceless %}{% block title %}{{ misago_settings.forum_name }}{% endblock %}{% endspaceless %}</title>
     <meta name="description" content="{% spaceless %}{% block meta-description %}{% endblock %}{% endspaceless %}">
     <meta name="description" content="{% spaceless %}{% block meta-description %}{% endblock %}{% endspaceless %}">
+    {% spaceless %}
+      {% block meta-extra %}{% endblock meta-extra %}
+    {% endspaceless %}
     <link href="{% static 'misago/css/misago.css' %}" rel="stylesheet">
     <link href="{% static 'misago/css/misago.css' %}" rel="stylesheet">
     <link rel="apple-touch-icon" href="{% static 'apple-touch-icon.png' %}">
     <link rel="apple-touch-icon" href="{% static 'apple-touch-icon.png' %}">
     <link rel="apple-touch-icon" sizes="57x57" href="{% static 'apple-touch-icon-57.png' %}">
     <link rel="apple-touch-icon" sizes="57x57" href="{% static 'apple-touch-icon-57.png' %}">

+ 19 - 2
misago/templates/misago/thread/thread.html

@@ -4,13 +4,30 @@
 
 
 {% block title %}
 {% block title %}
 {% if paginator.page > 1 %}
 {% if paginator.page > 1 %}
-  {{ thread.title }} ({% blocktrans with page=paginator.page %}page: {{ page }}{% endblocktrans %}) | {{ block.super }}
+  {{ thread.title }} ({% blocktrans with page=paginator.page %}page: {{ page }}{% endblocktrans %}) | {{ category.name }} | {{ block.super }}
 {% else %}
 {% else %}
-  {{ thread.title }} | {{ block.super }}
+  {{ thread.title }} | {{ category.name }} | {{ block.super }}
 {% endif %}
 {% endif %}
 {% endblock title %}
 {% endblock title %}
 
 
 
 
+{% block meta-extra %}
+{% if paginator.page > 1 %}
+<link rel="canonical" href="{% url url_name slug=thread.slug pk=thread.pk page=paginator.page %}" />
+{% else %}
+<link rel="canonical" href="{% url url_name slug=thread.slug pk=thread.pk %}" />
+{% endif %}
+{% if paginator.previous > 1 %}
+<link rel="prev" href="{% url url_name slug=thread.slug pk=thread.pk page=paginator.previous %}" />
+{% elif paginator.first %}
+<link rel="prev" href="{% url url_name slug=thread.slug pk=thread.pk %}" />
+{% endif %}
+{% if paginator.next %}
+<link rel="next" href="{% url url_name slug=thread.slug pk=thread.pk page=paginator.next %}" />
+{% endif %}
+{% endblock meta-extra %}
+
+
 {% block content %}
 {% block content %}
 <div class="page page-thread {% if category.css_class %}page-thread-{{ category.css_class }}{% endif %}">
 <div class="page page-thread {% if category.css_class %}page-thread-{{ category.css_class }}{% endif %}">
   <div class="page-header with-stats with-breadcrumbs">
   <div class="page-header with-stats with-breadcrumbs">

+ 80 - 65
misago/templates/misago/threadslist/base.html

@@ -2,6 +2,19 @@
 {% load i18n %}
 {% load i18n %}
 
 
 
 
+{% block meta-extra %}
+<link rel="canonical" href="{{ REQUEST_PATH }}" />
+{% if paginator.previous > 1 %}
+<link rel="prev" href="{{ REQUEST_PATH }}?page={{ paginator.previous }}" />
+{% elif paginator.first %}
+<link rel="prev" href="{{ REQUEST_PATH }}" />
+{% endif %}
+{% if paginator.next %}
+<link rel="next" href="{{ REQUEST_PATH }}?page={{ paginator.next }}" />
+{% endif %}
+{% endblock meta-extra %}
+
+
 {% block content %}
 {% block content %}
 <div class="page page-threads page-threads-{{ list_type|default:'all' }} {% spaceless %}
 <div class="page page-threads page-threads-{{ list_type|default:'all' }} {% spaceless %}
   {% block extra-css %}{% endblock extra-css %}
   {% block extra-css %}{% endblock extra-css %}
@@ -14,7 +27,7 @@
 
 
     {% block list-container %}
     {% block list-container %}
       {% if subcategories %}
       {% if subcategories %}
-        <div class="toolbar">
+        <section class="toolbar">
           <ul class="list-inline subcategories-list">
           <ul class="list-inline subcategories-list">
             {% for subcategory in subcategories %}
             {% for subcategory in subcategories %}
               <li>
               <li>
@@ -24,74 +37,76 @@
               </li>
               </li>
             {% endfor %}
             {% endfor %}
           </ul>
           </ul>
-        </div>
+        </section>
       {% endif %}
       {% endif %}
 
 
-      <div class="threads-list ui-ready">
-        {% block threads-list %}
-          <ul class="list-group">
-            {% for thread in threads %}
-              {% block thread %}
-                {% include "misago/threadslist/thread.html" %}
-              {% endblock thread %}
-            {% empty %}
-              <li class="list-group-item empty-message">
-                {% block list-empty-message %}
-                  {% if list_type == 'all' %}
-                    <p class="lead">
-                      {% if category.depth %}
-                        {% trans "There are no threads in this category." %}
-                      {% else %}
-                        {% trans "There are no threads on this forum... yet!" %}
-                      {% endif %}
-                    </p>
-                    <p>
-                      {% trans "Why not start one yourself?" %}
-                    </p>
-                  {% else %}
-                    {% trans "No threads matching specified criteria were found." %}
-                  {% endif %}
-                {% endblock list-empty-message %}
-              </li>
-            {% endfor %}
-          </ul>
-        {% endblock threads-list %}
-      </div>
-
-      <noscript>
-        {% if paginator.pages > 1 %}
-          <nav>
-            <ul class="pager">
-              {% if paginator.previous %}
-                <li class="previous">
-                  <a href="{{ REQUEST_PATH }}?page={{ paginator.previous }}">
-                    <span aria-hidden="true" class="material-icon">
-                      arrow_back
-                    </span>
-                  </a>
-                </li>
-              {% elif paginator.first %}
-                <li class="previous">
-                  <a href="{{ REQUEST_PATH }}">
-                    <span aria-hidden="true" class="material-icon">
-                      arrow_back
-                    </span>
-                  </a>
-                </li>
-              {% endif %}
-              {% if paginator.next %}
-                <li class="next">
-                  <a href="{{ REQUEST_PATH }}?page={{ paginator.next }}">
-                    <span aria-hidden="true" class="material-icon">
-                      arrow_forward
-                    </span>
-                  </a>
+      <section>
+        <div class="threads-list ui-ready">
+          {% block threads-list %}
+            <ul class="list-group">
+              {% for thread in threads %}
+                {% block thread %}
+                  {% include "misago/threadslist/thread.html" %}
+                {% endblock thread %}
+              {% empty %}
+                <li class="list-group-item empty-message">
+                  {% block list-empty-message %}
+                    {% if list_type == 'all' %}
+                      <p class="lead">
+                        {% if category.depth %}
+                          {% trans "There are no threads in this category." %}
+                        {% else %}
+                          {% trans "There are no threads on this forum... yet!" %}
+                        {% endif %}
+                      </p>
+                      <p>
+                        {% trans "Why not start one yourself?" %}
+                      </p>
+                    {% else %}
+                      {% trans "No threads matching specified criteria were found." %}
+                    {% endif %}
+                  {% endblock list-empty-message %}
                 </li>
                 </li>
-              {% endif %}
+              {% endfor %}
             </ul>
             </ul>
-          </nav>
-        {% endif %}
-      </noscript>
+          {% endblock threads-list %}
+        </div>
+
+        <noscript>
+          {% if paginator.pages > 1 %}
+            <nav>
+              <ul class="pager">
+                {% if paginator.previous %}
+                  <li class="previous">
+                    <a href="{{ REQUEST_PATH }}?page={{ paginator.previous }}">
+                      <span aria-hidden="true" class="material-icon">
+                        arrow_back
+                      </span>
+                    </a>
+                  </li>
+                {% elif paginator.first %}
+                  <li class="previous">
+                    <a href="{{ REQUEST_PATH }}">
+                      <span aria-hidden="true" class="material-icon">
+                        arrow_back
+                      </span>
+                    </a>
+                  </li>
+                {% endif %}
+                {% if paginator.next %}
+                  <li class="next">
+                    <a href="{{ REQUEST_PATH }}?page={{ paginator.next }}">
+                      <span aria-hidden="true" class="material-icon">
+                        arrow_forward
+                      </span>
+                    </a>
+                  </li>
+                {% endif %}
+              </ul>
+            </nav>
+          {% endif %}
+        </noscript>
+      </section>
     {% endblock list-container %}
     {% endblock list-container %}
   </div>
   </div>
 </div>
 </div>

+ 4 - 12
misago/templates/misago/threadslist/threads.html

@@ -3,21 +3,13 @@
 
 
 
 
 {% block title %}
 {% block title %}
-{% if THREADS_ON_INDEX %}
+{% if THREADS_ON_INDEX and paginator.page == 1 %}
   {% if list_name %}
   {% if list_name %}
     {{ list_name }} | {{ block.super }}
     {{ list_name }} | {{ block.super }}
-  {% elif paginator.page > 1 %}
-    {% if misago_settings.forum_index_title %}
-      {{ misago_settings.forum_index_title }} ({% blocktrans with page=paginator.page %}page: {{ page }}{% endblocktrans %})
-    {% else %}
-      {{ misago_settings.forum_name }} ({% blocktrans with page=paginator.page %}page: {{ page }}{% endblocktrans %})
-    {% endif %}
+  {% elif misago_settings.forum_index_title %}
+    {{ misago_settings.forum_index_title }}
   {% else %}
   {% else %}
-    {% if misago_settings.forum_index_title %}
-      {{ misago_settings.forum_index_title }}
-    {% else %}
-      {{ misago_settings.forum_name }}
-    {% endif %}
+    {{ misago_settings.forum_name }}
   {% endif %}
   {% endif %}
 {% else %}
 {% else %}
   {% if list_name %}
   {% if list_name %}

+ 138 - 126
misago/templates/misago/userslists/rank.html

@@ -4,15 +4,27 @@
 
 
 {% block title %}{% pagetitle rank.name page=paginator.page %} | {{ block.super }}{% endblock %}
 {% block title %}{% pagetitle rank.name page=paginator.page %} | {{ block.super }}{% endblock %}
 {% block meta-description %}
 {% block meta-description %}
-{% blocktrans trimmed with rank=rank.name users=users.paginator.count count counter=users.paginator.count %}
-There is {{ users }} user with {{ rank }} rank.
-{% plural %}
-There are {{ users }} users with {{ rank }} rank.
-{% endblocktrans %}
 {{ rank.description|default:"" }}
 {{ rank.description|default:"" }}
 {% endblock %}
 {% endblock %}
 
 
 
 
+{% block meta-extra %}
+{% if paginator.page > 1 %}
+<link rel="canonical" href="{% url 'misago:users-rank' slug=rank.slug page=paginator.page %}" />
+{% else %}
+<link rel="canonical" href="{% url 'misago:users-rank' slug=rank.slug %}" />
+{% endif %}
+{% if paginator.previous > 1 %}
+<link rel="prev" href="{% url 'misago:users-rank' slug=rank.slug page=paginator.previous %}" />
+{% elif paginator.previous %}
+<link rel="prev" href="{% url 'misago:users-rank' slug=rank.slug %}" />
+{% endif %}
+{% if paginator.next %}
+<link rel="next" href="{% url 'misago:users-rank' slug=rank.slug page=paginator.next %}" />
+{% endif %}
+{% endblock meta-extra %}
+
+
 {% block content %}
 {% block content %}
 {{ block.super }}
 {{ block.super }}
 
 
@@ -20,141 +32,141 @@ There are {{ users }} users with {{ rank }} rank.
   <div class="container">
   <div class="container">
 
 
     {% if rank.description %}
     {% if rank.description %}
-    <div class="rank-description">
-      <div class="page-lead {{ rank.description|escape|linebreaks|isdescriptionshort|iftrue:"lead" }}">
-        {{ rank.description|escape|urlize|linebreaks|safe }}
+      <div class="rank-description">
+        <div class="page-lead {{ rank.description|escape|linebreaks|isdescriptionshort|iftrue:"lead" }}">
+          {{ rank.description|escape|urlize|linebreaks|safe }}
+        </div>
       </div>
       </div>
-    </div>
     {% endif %}
     {% endif %}
 
 
     {% if paginator.count %}
     {% if paginator.count %}
-    <div>
-      <div class="users-cards-list ui-ready">
-        {% for row in users|batch:3 %}
-          <div class="row">
-            {% for user in row %}
-              <div class="col-md-4">
-
-                <div class="user-card {% if rank.css_class %} user-card-{{ rank.css_class }}{% endif %}">
-                  <div class="user-card-bg-image">
-                    <img src="{{ user|avatar:400 }}" alt="" class="bg-image">
-
-                    <div class="user-card-bg">
-                      <div class="user-details">
-
-                        <div class="user-avatar">
-                          <a href="{{ user.get_absolute_url }}">
-                            <img src="{{ user|avatar:400 }}" alt="">
-                          </a>
-                        </div>
+      <div>
+        <div class="users-cards-list ui-ready">
+          {% for row in users|batch:3 %}
+            <div class="row">
+              {% for user in row %}
+                <div class="col-md-4">
+
+                  <div class="user-card {% if rank.css_class %} user-card-{{ rank.css_class }}{% endif %}">
+                    <div class="user-card-bg-image">
+                      <img src="{{ user|avatar:400 }}" alt="" class="bg-image">
+
+                      <div class="user-card-bg">
+                        <div class="user-details">
+
+                          <div class="user-avatar">
+                            <a href="{{ user.get_absolute_url }}">
+                              <img src="{{ user|avatar:400 }}" alt="">
+                            </a>
+                          </div>
+
+                          <h4 class="user-name">
+                            <a href="{{ user.get_absolute_url }}" class="item-title">
+                              {{ user.username }}
+                            </a>
+                          </h4>
+
+                          <p class="user-subscript">
+                            {% if user.title %}
+                              <span class="user-title">{{ user.title }}</span>
+                            {% endif %}
+                            <span class="user-joined-on">
+                              {% blocktrans trimmed with joined_on=user.joined_on|date %}
+                                Joined on {{ joined_on }}
+                              {% endblocktrans %}
+                            </span>
+                          </p>
 
 
-                        <h4 class="user-name">
-                          <a href="{{ user.get_absolute_url }}" class="item-title">
-                            {{ user.username }}
-                          </a>
-                        </h4>
-
-                        <p class="user-subscript">
-                          {% if user.title %}
-                            <span class="user-title">{{ user.title }}</span>
-                          {% endif %}
-                          <span class="user-joined-on">
-                            {% blocktrans trimmed with joined_on=user.joined_on|date %}
-                              Joined on {{ joined_on }}
+                        </div>
+                      </div>
+                      <div class="user-card-stats">
+
+                        <ul class="list-unstyled">
+                          <li class="user-posts-count">
+                            {% blocktrans trimmed count posts=user.posts %}
+                              {{ posts }} post
+                            {% plural %}
+                              {{ posts }} posts
+                            {% endblocktrans %}
+                          </li>
+                          <li class="user-threads-count">
+                            {% blocktrans trimmed count threads=user.threads %}
+                              {{ threads }} thread
+                            {% plural %}
+                              {{ threads }} threads
                             {% endblocktrans %}
                             {% endblocktrans %}
-                          </span>
-                        </p>
+                          </li>
+                          <li class="user-followers-count">
+                            {% blocktrans trimmed count followers=user.followers %}
+                              {{ followers }} follower
+                            {% plural %}
+                              {{ followers }} followers
+                            {% endblocktrans %}
+                          </li>
+                        </ul>
 
 
                       </div>
                       </div>
                     </div>
                     </div>
-                    <div class="user-card-stats">
-
-                      <ul class="list-unstyled">
-                        <li class="user-posts-count">
-                          {% blocktrans trimmed count posts=user.posts %}
-                            {{ posts }} post
-                          {% plural %}
-                            {{ posts }} posts
-                          {% endblocktrans %}
-                        </li>
-                        <li class="user-threads-count">
-                          {% blocktrans trimmed count threads=user.threads %}
-                            {{ threads }} thread
-                          {% plural %}
-                            {{ threads }} threads
-                          {% endblocktrans %}
-                        </li>
-                        <li class="user-followers-count">
-                          {% blocktrans trimmed count followers=user.followers %}
-                            {{ followers }} follower
-                          {% plural %}
-                            {{ followers }} followers
-                          {% endblocktrans %}
-                        </li>
-                      </ul>
-
-                    </div>
                   </div>
                   </div>
-                </div>
-
-              </div>
-            {% endfor %}
-          </div>
-        {% endfor %}
-      </div>
 
 
-      {% if paginator.pages > 1 %}
-      <div class="pager-undercontent">
-        <nav>
-          <ul class="pager">
-            {% if paginator.previous %}
-            <li class="previous">
-              <a href="{% url 'misago:users-rank' slug=rank.slug page=paginator.previous %}">
-                <span aria-hidden="true" class="material-icon">
-                  arrow_back
-                </span>
-              </a>
-            </li>
-            {% elif paginator.first %}
-            <li class="previous">
-              <a href="{% url 'misago:users-rank' slug=rank.slug %}">
-                <span aria-hidden="true" class="material-icon">
-                  arrow_back
-                </span>
-              </a>
-            </li>
-            {% endif %}
-            {% if paginator.next %}
-            <li class="next">
-              <a href="{% url 'misago:users-rank' slug=rank.slug page=paginator.next %}">
-                <span aria-hidden="true" class="material-icon">
-                  arrow_forward
-                </span>
-              </a>
-            </li>
-            {% endif %}
-          </ul>
-          <ul class="pager-progress-bar">
-            {% for page in paginator.page_range %}
-              <li{% if page == paginator.page %} class="active"{% endif %}>
-                {% if page > 1 %}
-                <a href="{% url 'misago:users-rank' slug=rank.slug page=page %}">
-                {% else %}
-                <a href="{% url 'misago:users-rank' slug=rank.slug %}">
+                </div>
+              {% endfor %}
+            </div>
+          {% endfor %}
+        </div>
+
+        {% if paginator.pages > 1 %}
+          <div class="pager-undercontent">
+            <nav>
+              <ul class="pager">
+                {% if paginator.previous %}
+                <li class="previous">
+                  <a href="{% url 'misago:users-rank' slug=rank.slug page=paginator.previous %}">
+                    <span aria-hidden="true" class="material-icon">
+                      arrow_back
+                    </span>
+                  </a>
+                </li>
+                {% elif paginator.first %}
+                <li class="previous">
+                  <a href="{% url 'misago:users-rank' slug=rank.slug %}">
+                    <span aria-hidden="true" class="material-icon">
+                      arrow_back
+                    </span>
+                  </a>
+                </li>
                 {% endif %}
                 {% endif %}
-                  {{ page }}
-                </a>
-              </li>
-            {% endfor %}
-          </ul>
-        </nav>
+                {% if paginator.next %}
+                <li class="next">
+                  <a href="{% url 'misago:users-rank' slug=rank.slug page=paginator.next %}">
+                    <span aria-hidden="true" class="material-icon">
+                      arrow_forward
+                    </span>
+                  </a>
+                </li>
+                {% endif %}
+              </ul>
+              <ul class="pager-progress-bar">
+                {% for page in paginator.page_range %}
+                  <li{% if page == paginator.page %} class="active"{% endif %}>
+                    {% if page > 1 %}
+                    <a href="{% url 'misago:users-rank' slug=rank.slug page=page %}">
+                    {% else %}
+                    <a href="{% url 'misago:users-rank' slug=rank.slug %}">
+                    {% endif %}
+                      {{ page }}
+                    </a>
+                  </li>
+                {% endfor %}
+              </ul>
+            </nav>
+          </div>
+        {% endif %}
       </div>
       </div>
-      {% endif %}
-    </div>
     {% else %}
     {% else %}
-    <p class="lead">
-      {% trans "There are no users with this rank at the moment." %}
-    </p>
+      <p class="lead">
+        {% trans "There are no users with this rank at the moment." %}
+      </p>
     {% endif %}
     {% endif %}
 
 
   </div>
   </div>