You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by gc...@apache.org on 2022/06/22 18:57:05 UTC

[allura] branch gc/8442 created (now 6daabb06c)

This is an automated email from the ASF dual-hosted git repository.

gcruz pushed a change to branch gc/8442
in repository https://gitbox.apache.org/repos/asf/allura.git


      at 6daabb06c [#8442] added nofollow to links inside code repositories including the sidebar

This branch includes the following new commits:

     new 6daabb06c [#8442] added nofollow to links inside code repositories including the sidebar

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[allura] 01/01: [#8442] added nofollow to links inside code repositories including the sidebar

Posted by gc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gcruz pushed a commit to branch gc/8442
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 6daabb06c16c9b046f4994aa42742c02b25a0d40
Author: Guillermo Cruz <gu...@slashdotmedia.com>
AuthorDate: Wed Jun 22 12:56:50 2022 -0600

    [#8442] added nofollow to links inside code repositories including the sidebar
---
 Allura/allura/lib/repository.py                    | 26 ++++++++++++++--------
 Allura/allura/templates/jinja_master/lib.html      |  4 ++--
 Allura/allura/templates/repo/commit.html           | 12 +++++-----
 Allura/allura/templates/repo/commit_basic.html     | 18 +++++++--------
 Allura/allura/templates/repo/diff.html             |  6 ++---
 Allura/allura/templates/repo/file.html             |  4 ++--
 Allura/allura/templates/repo/forks.html            |  2 +-
 Allura/allura/templates/repo/merge_request.html    |  8 +++----
 Allura/allura/templates/repo/merge_requests.html   | 10 ++++-----
 Allura/allura/templates/repo/repo_master.html      |  2 +-
 Allura/allura/templates/repo/tags.html             |  2 +-
 Allura/allura/templates/repo/tarball.html          |  2 +-
 Allura/allura/templates/repo/tree.html             |  4 ++--
 .../allura/templates/widgets/repo/tree_widget.html | 10 ++++-----
 14 files changed, 59 insertions(+), 51 deletions(-)

diff --git a/Allura/allura/lib/repository.py b/Allura/allura/lib/repository.py
index 36eb3d7bc..24789f971 100644
--- a/Allura/allura/lib/repository.py
+++ b/Allura/allura/lib/repository.py
@@ -129,21 +129,25 @@ class RepositoryApp(Application):
         links = []
         if not self.repo.is_empty():
             links.append(SitemapEntry('Browse Commits', c.app.url + 'commit_browser',
-                                      ui_icon=g.icons['browse_commits']))
+                                      ui_icon=g.icons['browse_commits'],
+                                      extra_html_attrs=dict(rel='nofollow')))
         if self.forkable and self.repo.status == 'ready' and not self.repo.is_empty():
             links.append(
-                SitemapEntry('Fork', c.app.url + 'fork', ui_icon=g.icons['fork']))
+                SitemapEntry('Fork', c.app.url + 'fork', ui_icon=g.icons['fork'],
+                             extra_html_attrs=dict(rel='nofollow')))
         merge_request_count = self.repo.merge_requests_by_statuses(
             'open').count()
         if self.forkable:
             links += [
                 SitemapEntry(
                     'Merge Requests', c.app.url + 'merge-requests/',
-                    small=merge_request_count)]
+                    small=merge_request_count,
+                    extra_html_attrs=dict(rel='nofollow'))]
         if self.repo.forks:
             links += [
                 SitemapEntry('Forks', c.app.url + 'forks/',
-                             small=len(self.repo.forks))
+                             small=len(self.repo.forks),
+                             extra_html_attrs=dict(rel='nofollow'))
             ]
 
         has_upstream_repo = False
@@ -170,14 +174,14 @@ class RepositoryApp(Application):
                 if getattr(c, 'revision', None):
                     merge_url = merge_url + '?branch=' + h.urlquote(c.revision)
                 links.append(SitemapEntry('Request Merge', merge_url,
-                             ui_icon=g.icons['merge'],
+                             ui_icon=g.icons['merge'], extra_html_attrs=dict(rel='nofollow')
                                           ))
             pending_upstream_merges = self.repo.pending_upstream_merges()
             if pending_upstream_merges:
                 links.append(SitemapEntry(
                     'Pending Merges',
                     self.repo.upstream_repo.name + 'merge-requests/',
-                    small=pending_upstream_merges))
+                    small=pending_upstream_merges, extra_html_attrs=dict(rel='nofollow')))
         ref_url = self.repo.url_for_commit(
             self.default_branch_name, url_type='ref')
         branches = self.repo.get_branches()
@@ -192,17 +196,19 @@ class RepositoryApp(Application):
             for branch in branches[:max_branches]:
                 links.append(SitemapEntry(
                     branch.name,
-                    h.urlquote(self.repo.url_for_commit(branch.name) + 'tree/')))
+                    h.urlquote(self.repo.url_for_commit(branch.name) + 'tree/'),
+                    extra_html_attrs=dict(rel='nofollow')))
             if len(branches) > max_branches:
                 links.append(
                     SitemapEntry(
                         'More Branches',
                         ref_url + 'branches/',
+                        extra_html_attrs=dict(rel='nofollow')
                     ))
         elif not self.repo.is_empty():
             # SVN repos, for example, should have a sidebar link to get to the main view
             links.append(
-                SitemapEntry('Browse Files', c.app.url)
+                SitemapEntry('Browse Files', c.app.url, extra_html_attrs=dict(rel='nofollow'))
             )
 
         tags = self.repo.get_tags()
@@ -212,12 +218,14 @@ class RepositoryApp(Application):
             for b in tags[:max_tags]:
                 links.append(SitemapEntry(
                     b.name,
-                    h.urlquote(self.repo.url_for_commit(b.name) + 'tree/')))
+                    h.urlquote(self.repo.url_for_commit(b.name) + 'tree/'), 
+                    extra_html_attrs=dict(rel='nofollow')))
             if len(tags) > max_tags:
                 links.append(
                     SitemapEntry(
                         'More Tags',
                         ref_url + 'tags/',
+                        extra_html_attrs=dict(rel='nofollow')
                     ))
         return links
 
diff --git a/Allura/allura/templates/jinja_master/lib.html b/Allura/allura/templates/jinja_master/lib.html
index 250682e49..41689b43f 100644
--- a/Allura/allura/templates/jinja_master/lib.html
+++ b/Allura/allura/templates/jinja_master/lib.html
@@ -174,10 +174,10 @@
 
 {% macro path_links(parts) %}
   {% if parts != [''] %}
-      <a href="{{'./' + '../' * parts|length }}"><b class="fa fa-folder-open-o" title="Root directory"></b></a> /
+      <a href="{{'./' + '../' * parts|length }}" rel="nofollow"><b class="fa fa-folder-open-o" title="Root directory"></b></a> /
   {% endif %}
   {% for part in parts %}
-    <a href="{{'./' + '../' * loop.revindex0 }}">{{part}}</a> /
+    <a href="{{'./' + '../' * loop.revindex0 }}" rel="nofollow">{{part}}</a> /
   {% endfor %}
 {% endmacro %}
 
diff --git a/Allura/allura/templates/repo/commit.html b/Allura/allura/templates/repo/commit.html
index 781164182..b00b9a7b5 100644
--- a/Allura/allura/templates/repo/commit.html
+++ b/Allura/allura/templates/repo/commit.html
@@ -27,12 +27,12 @@
 {% endblock %}
 
 {% block header -%}
-Commit <a href="{{commit.url()}}">{{commit.shorthand_id()}}</a> {{commit_labels(commit)}}
+Commit <a href="{{commit.url()}}" rel="nofollow">{{commit.shorthand_id()}}</a> {{commit_labels(commit)}}
 {%- endblock %}
 
 {% block actions %}
 {{ lib.maximize_content_button() }}
-{{ g.icons['history'].render(href='{}log/'.format(commit.url()), show_title=True) }}
+{{ g.icons['history'].render(href='{}log/'.format(commit.url()), show_title=True, rel='nofollow') }}
 {% endblock %}
 
 {% block body_top_js %}
@@ -144,7 +144,7 @@ Commit <a href="{{commit.url()}}">{{commit.shorthand_id()}}</a> {{commit_labels(
             <h6>
             {% if type in ('added', 'changed') %}
                 {% set file_url = commit.url() + 'tree/' + h.urlquote(h.really_unicode(file)) %}
-                <a href="{{ file_url }}">{{h.really_unicode(file)}}</a>
+                <a href="{{ file_url }}" rel="nofollow">{{h.really_unicode(file)}}</a>
                 {% if obj_type != 'tree' and is_text %}
                     {% set diff_url = file_url + '?barediff=' + (prev[0]._id if prev else '') %}
                     <a class="commit-diff-link" rel="nofollow" href="{{ diff_url.replace('?barediff=', '?diff=') }}">Diff</a>
@@ -152,12 +152,12 @@ Commit <a href="{{commit.url()}}">{{commit.shorthand_id()}}</a> {{commit_labels(
                 {% endif %}
             {% elif type == 'removed' %}
                 {% set file_url = prev[0].url() + 'tree/' + h.urlquote(h.really_unicode(file)) %}
-                <a href="{{ file_url }}">{{h.really_unicode(file)}}</a>
+                <a href="{{ file_url }}" rel="nofollow">{{h.really_unicode(file)}}</a>
             {% elif type in ('copied', 'renamed') %}
-                <a href="{{prev[0].url()}}tree/{{h.urlquote(h.really_unicode(file.old))}}">{{h.really_unicode(file.old)}}</a>
+                <a href="{{prev[0].url()}}tree/{{h.urlquote(h.really_unicode(file.old))}}" rel="nofollow">{{h.really_unicode(file.old)}}</a>
                 to
                 {% set new_file_url = commit.url() + 'tree/' + h.urlquote(h.really_unicode(file.new)) %}
-                <a href="{{ new_file_url }}">{{h.really_unicode(file.new)}}</a>
+                <a href="{{ new_file_url }}" rel="nofollow">{{h.really_unicode(file.new)}}</a>
                 {% if file.ratio != 1 %}
                     {% set diff_url = new_file_url + '?barediff=' + (prev[0]._id if prev else '') + '&prev_file=' + h.urlquote(h.really_unicode(file['old'])) %}
                     <a class="commit-diff-link" rel="nofollow" href="{{ diff_url.replace('?barediff=', '?diff=') }}">Diff</a>
diff --git a/Allura/allura/templates/repo/commit_basic.html b/Allura/allura/templates/repo/commit_basic.html
index c023822b0..d7db8157e 100644
--- a/Allura/allura/templates/repo/commit_basic.html
+++ b/Allura/allura/templates/repo/commit_basic.html
@@ -22,28 +22,28 @@
     {% for diff in commit.diffs.added %}
     <tr>
       <td>add</td>
-      <td><a href="{{commit.url()}}tree/{{h.really_unicode(diff)}}">{{h.really_unicode(diff)}}</a></td>
+      <td><a href="{{commit.url()}}tree/{{h.really_unicode(diff)}}" rel="nofollow">{{h.really_unicode(diff)}}</a></td>
     </tr>
     {% endfor %}{% for diff in commit.diffs.removed %}
     <tr>
       <td>remove</td>
-      <td><a href="{{prev[0].url()}}tree/{{h.really_unicode(diff)}}">{{h.really_unicode(diff)}}</a></td>
+      <td><a href="{{prev[0].url()}}tree/{{h.really_unicode(diff)}}" rel="nofollow">{{h.really_unicode(diff)}}</a></td>
     </tr>
     {% endfor %}{% for diff in commit.diffs.changed %}
     <tr>
       <td>change</td>
       <td>
-        <a href="{{commit.url()}}tree/{{h.really_unicode(diff)}}">{{h.really_unicode(diff)}}</a>
-        <a href="{{commit.url()}}tree/{{h.really_unicode(diff)}}?diff={{prev[0]._id}}">(diff)</a>
+        <a href="{{commit.url()}}tree/{{h.really_unicode(diff)}}" rel="nofollow">{{h.really_unicode(diff)}}</a>
+        <a href="{{commit.url()}}tree/{{h.really_unicode(diff)}}?diff={{prev[0]._id}}" rel="nofollow">(diff)</a>
       </td>
     </tr>
     {% endfor %}{% for diff in commit.diffs.copied %}
     <tr>
       <td>copy</td>
       <td>
-        <a href="{{prev[0].url()}}tree/{{h.really_unicode(diff.old)}}">{{h.really_unicode(diff.old)}}</a>
+        <a href="{{prev[0].url()}}tree/{{h.really_unicode(diff.old)}}" rel="nofollow">{{h.really_unicode(diff.old)}}</a>
         <br/>to<br/>
-        <a href="{{commit.url()}}tree/{{h.really_unicode(diff.new)}}">{{h.really_unicode(diff.new)}}</a>
+        <a href="{{commit.url()}}tree/{{h.really_unicode(diff.new)}}" rel="nofollow">{{h.really_unicode(diff.new)}}</a>
       </td>
     </tr>
     {% endfor %}{% for diff in commit.diffs.renamed %}
@@ -54,13 +54,13 @@
         <td>rename</td>
       {% endif %}
       <td>
-        <a href="{{prev[0].url()}}tree/{{h.really_unicode(diff.old)}}">{{h.really_unicode(diff.old)}}</a>
+        <a href="{{prev[0].url()}}tree/{{h.really_unicode(diff.old)}}" rel="nofollow">{{h.really_unicode(diff.old)}}</a>
         <br/>to<br/>
-        <a href="{{commit.url()}}tree/{{h.really_unicode(diff.new)}}">{{h.really_unicode(diff.new)}}</a>
+        <a href="{{commit.url()}}tree/{{h.really_unicode(diff.new)}}" rel="nofollow">{{h.really_unicode(diff.new)}}</a>
       </td>
       <td>
         {% if diff.ratio < 1  %}
-          <a href="{{commit.url()}}tree/{{h.really_unicode(diff.new)}}?diff={{prev[0]._id}}?prev-file={{h.really_unicode(diff.old)}}">(diff)</a>
+          <a href="{{commit.url()}}tree/{{h.really_unicode(diff.new)}}?diff={{prev[0]._id}}?prev-file={{h.really_unicode(diff.old)}}" rel="nofollow">(diff)</a>
         {% endif %}
       </td>  
     </tr>
diff --git a/Allura/allura/templates/repo/diff.html b/Allura/allura/templates/repo/diff.html
index 87ad53b6e..df74c6c66 100644
--- a/Allura/allura/templates/repo/diff.html
+++ b/Allura/allura/templates/repo/diff.html
@@ -26,14 +26,14 @@
 {% endblock %}
 
 {% block header %}Diff of
-<a href="{{b.url()}}">{{b.path()}}</a>
+<a href="{{b.url()}}" rel="nofollow">{{b.path()}}</a>
 {% if a %}
-<a href="{{a.url()}}">{{a.commit.shorthand_id()}}</a>
+<a href="{{a.url()}}" rel="nofollow">{{a.commit.shorthand_id()}}</a>
 {% else %}
 [000000]
 {% endif %}
 ..
-<a href="{{b.url()}}">{{b.commit.shorthand_id()}}</a>
+<a href="{{b.url()}}" rel="nofollow">{{b.commit.shorthand_id()}}</a>
 {% endblock %}
 
 {% block actions %}
diff --git a/Allura/allura/templates/repo/file.html b/Allura/allura/templates/repo/file.html
index 8acb678b1..42f8bb20a 100644
--- a/Allura/allura/templates/repo/file.html
+++ b/Allura/allura/templates/repo/file.html
@@ -27,13 +27,13 @@
 {% endblock %}
 
 {% block header %}
-<a href="{{blob.commit.url()}}">{{blob.commit.shorthand_id()}}</a>:
+<a href="{{blob.commit.url()}}" rel="nofollow">{{blob.commit.shorthand_id()}}</a>:
 {{lib.path_links(blob.path().split('/')[1:-1])}} {{h.really_unicode(blob.name)}}
 {% endblock %}
 
 {% block actions %}
 {{ lib.maximize_content_button() }}
-{{ g.icons['history'].render(href='%slog/?path=%s' % (blob.commit.url(), blob.path()), show_title=True) }}
+{{ g.icons['history'].render(href='%slog/?path=%s' % (blob.commit.url(), blob.path()), show_title=True, rel='nofollow') }}
 {% endblock %}
 
 {% block extra_js %}
diff --git a/Allura/allura/templates/repo/forks.html b/Allura/allura/templates/repo/forks.html
index 089abb9c0..a55af9c93 100644
--- a/Allura/allura/templates/repo/forks.html
+++ b/Allura/allura/templates/repo/forks.html
@@ -25,7 +25,7 @@
 {% block content %}
 <ul>
 {% for link in links %}
-<li><a href="{{link.repo_url}}">{{link.repo}}</a></li>
+<li><a href="{{link.repo_url}}" rel="nofollow">{{link.repo}}</a></li>
 {% endfor %}
 </ul>
 {% endblock %}
diff --git a/Allura/allura/templates/repo/merge_request.html b/Allura/allura/templates/repo/merge_request.html
index a4027d317..61a4de8e3 100644
--- a/Allura/allura/templates/repo/merge_request.html
+++ b/Allura/allura/templates/repo/merge_request.html
@@ -58,9 +58,9 @@ Merge Request #{{req.request_number}}: {{req.summary}} ({{req.status}})
 
   {% if req.downstream_repo %}
     <p>
-      <a href="{{req.creator_url}}">{{req.creator_name}}</a>
+      <a href="{{req.creator_url}}" rel="nofollow">{{req.creator_name}}</a>
       wants to merge {{h.text.plural(commits|count, 'commit', 'commits')}}
-      from <a href="{{req.downstream_url}}">{{req.downstream_url}}</a>
+      from <a href="{{req.downstream_url}}" rel="nofollow">{{req.downstream_url}}</a>
       to {{ req.target_branch }},
       {{lib.abbr_date(req.mod_date)}}
     </p>
@@ -70,7 +70,7 @@ Merge Request #{{req.request_number}}: {{req.summary}} ({{req.status}})
     {% if error %}
       <div class='grid-19 error'>
         Can't find commits to merge. Please checkout
-        <a href="{{req.downstream_url}}">{{req.downstream_url}}</a>
+        <a href="{{req.downstream_url}}" rel="nofollow">{{req.downstream_url}}</a>
         and follow the instructions to merge manually.
       </div>
     {% endif %}
@@ -145,7 +145,7 @@ Merge Request #{{req.request_number}}: {{req.summary}} ({{req.status}})
   {% else %}
     <p>
       Original repository by
-      <a href="{{req.creator_url}}">{{req.creator_name}}</a>
+      <a href="{{req.creator_url}}" rel="nofollow">{{req.creator_name}}</a>
       is deleted
     </p>
     <div>{{g.markdown.convert(req.description)}}</div>
diff --git a/Allura/allura/templates/repo/merge_requests.html b/Allura/allura/templates/repo/merge_requests.html
index 2d6b8ae81..8ca297ca7 100644
--- a/Allura/allura/templates/repo/merge_requests.html
+++ b/Allura/allura/templates/repo/merge_requests.html
@@ -53,15 +53,15 @@
     <tbody>
       {% for req in requests %}
       <tr>
-        <td><a href="{{req.request_number}}/">{{req.request_number}}</a></td>
-        <td><a href="{{req.request_number}}/">{{req.status}}</a></td>
-        <td><a href="{{req.request_number}}/">{{req.summary}}</a></td>
+        <td><a href="{{req.request_number}}/" rel="nofollow">{{req.request_number}}</a></td>
+        <td><a href="{{req.request_number}}/" rel="nofollow">{{req.status}}</a></td>
+        <td><a href="{{req.request_number}}/" rel="nofollow">{{req.summary}}</a></td>
         <td>{% if req.downstream_repo %}
-          <a href="{{req.downstream_url}}">{{req.downstream_url}}</a>
+          <a href="{{req.downstream_url}}" rel="nofollow">{{req.downstream_url}}</a>
         {% else %}
           <i>(deleted)</i>
         {% endif %}</td>
-        <td><a href="{{req.creator_url}}">{{req.creator_name}}</a></td>
+        <td><a href="{{req.creator_url}}" rel="nofollow">{{req.creator_name}}</a></td>
         <td>{{lib.abbr_date(req.created)}}</td>
         <td>{{lib.abbr_date(req.mod_date)}}</td>
       </tr>
diff --git a/Allura/allura/templates/repo/repo_master.html b/Allura/allura/templates/repo/repo_master.html
index 53e729691..e6f5b3a9f 100644
--- a/Allura/allura/templates/repo/repo_master.html
+++ b/Allura/allura/templates/repo/repo_master.html
@@ -69,7 +69,7 @@
         $.get('{{repo.url()}}status', function(data) {
             if (data.status === 'ready') {
                 $('.spinner').hide()
-                $('#repo_status h2').html('Repo status: ready. <a href=".">Click here to refresh this page.</a>');
+                $('#repo_status h2').html('Repo status: ready. <a href="." rel="nofollow">Click here to refresh this page.</a>');
             }
             else {
                 $('#repo_status h2 span').html(data.status);
diff --git a/Allura/allura/templates/repo/tags.html b/Allura/allura/templates/repo/tags.html
index 579b294b3..5ee0578b2 100644
--- a/Allura/allura/templates/repo/tags.html
+++ b/Allura/allura/templates/repo/tags.html
@@ -31,7 +31,7 @@
 {% block content %}
   <div class="grid-19">
   {% for b in tags %}
-    <a href="{{c.app.repo.url_for_commit(b.name)}}tree/">{{b.name}}</a><br>
+    <a href="{{c.app.repo.url_for_commit(b.name)}}tree/" rel="nofollow">{{b.name}}</a><br>
   {% endfor %}
   </div>
 {% endblock %}
diff --git a/Allura/allura/templates/repo/tarball.html b/Allura/allura/templates/repo/tarball.html
index 55bb3aedb..e026b2a01 100644
--- a/Allura/allura/templates/repo/tarball.html
+++ b/Allura/allura/templates/repo/tarball.html
@@ -22,7 +22,7 @@
 {% endblock %}
 
 {% block header -%}
-Commit <a href="{{commit.url()}}">{{commit.shorthand_id()}}</a> {{commit_labels(commit)}}
+Commit <a href="{{commit.url()}}" rel="nofollow">{{commit.shorthand_id()}}</a> {{commit_labels(commit)}}
 {%- endblock %}
 
 {% block extra_js %}
diff --git a/Allura/allura/templates/repo/tree.html b/Allura/allura/templates/repo/tree.html
index 391314cc7..d4cc8d81d 100644
--- a/Allura/allura/templates/repo/tree.html
+++ b/Allura/allura/templates/repo/tree.html
@@ -25,7 +25,7 @@
 {% endblock %}
 
 {% block header %}
-Tree <a href="{{commit.url()}}">{{commit.shorthand_id()}}</a> {{commit_labels(commit)}}
+Tree <a href="{{commit.url()}}" rel="nofollow">{{commit.shorthand_id()}}</a> {{commit_labels(commit)}}
 {{lib.path_links(path.strip('/').split('/'))}}
 {% endblock %}
 
@@ -64,7 +64,7 @@ form.tarball button:hover {
 </form>
 {% endif %}
 
-{{ g.icons['history'].render(href='%slog/?path=%s' % (commit.url(), path), show_title=True) }}
+{{ g.icons['history'].render(href='%slog/?path=%s' % (commit.url(), path), show_title=True, rel='nofollow') }}
 {% if c.user and c.user != c.user.anonymous() %}
   {{c.subscribe_form.display(value=tool_subscribed, action='subscribe', style='icon')}}
 {% endif %}
diff --git a/Allura/allura/templates/widgets/repo/tree_widget.html b/Allura/allura/templates/widgets/repo/tree_widget.html
index 5e75fcba4..6645aff85 100644
--- a/Allura/allura/templates/widgets/repo/tree_widget.html
+++ b/Allura/allura/templates/widgets/repo/tree_widget.html
@@ -31,7 +31,7 @@
     {% if tree._parent %}
     <tr>
       <td></td>
-      <td><a href="..">[Up one dir]</a></td>
+      <td><a href=".." rel="nofollow">[Up one dir]</a></td>
       <td></td>
       <td></td>
       <td></td>
@@ -53,19 +53,19 @@
         {{ g.icons[icon_name].render(
             href=h.urlquote(dirent.href),
             title=h.really_unicode(dirent.name),
-            show_title=True) }}
+            show_title=True, rel='nofollow') }}
       </td>
       <td class="nowrap">{{lib.abbr_date(dirent.last_commit.date)}}</td>
       <td class="nowrap">
         {% if dirent.last_commit.author_url %}
-          <a href="{{dirent.last_commit.author_url}}">{{lib.email_gravatar(dirent.last_commit.author_email, title=h.really_unicode(dirent.last_commit.author), size=16)}}</a>
-          <a href="{{dirent.last_commit.author_url}}">{{h.really_unicode(dirent.last_commit.author)}}</a>
+          <a href="{{dirent.last_commit.author_url}}" rel="nofollow">{{lib.email_gravatar(dirent.last_commit.author_email, title=h.really_unicode(dirent.last_commit.author), size=16)}}</a>
+          <a href="{{dirent.last_commit.author_url}}" rel="nofollow">{{h.really_unicode(dirent.last_commit.author)}}</a>
         {% else %}
           {{lib.email_gravatar(dirent.last_commit.author_email, title=h.really_unicode(dirent.last_commit.author), size=16)}} {{h.really_unicode(dirent.last_commit.author)}}
         {% endif %}
       </td>
       <td>
-        <a href="{{dirent.last_commit.href}}">
+        <a href="{{dirent.last_commit.href}}" rel="nofollow">
           {{dirent.last_commit.shortlink}}
           {{ h.hide_private_info(dirent.last_commit.summary) }}
         </a>