You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by di...@apache.org on 2022/06/30 20:45:53 UTC

[allura] branch master updated (b4d5e1c15 -> 818a14c92)

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

dill0wn pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git


    from b4d5e1c15 Latest pip/setuptools so travis builds ok
     new 2e5f24b9d [#8442] added nofollow to links inside code repositories including the sidebar
     new 818a14c92 [#8442] added missing rel=nofollow attribute to links

The 2 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.


Summary of changes:
 Allura/allura/lib/repository.py                    | 26 ++++++++++++++--------
 Allura/allura/templates/jinja_master/lib.html      |  4 ++--
 Allura/allura/templates/repo/commit.html           | 14 ++++++------
 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/allura/templates/widgets/repo/log.html      | 10 ++++-----
 Allura/allura/templates/widgets/repo/revision.html | 14 ++++++------
 .../allura/templates/widgets/repo/tree_widget.html | 10 ++++-----
 16 files changed, 72 insertions(+), 64 deletions(-)


[allura] 02/02: [#8442] added missing rel=nofollow attribute to links

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

dill0wn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 818a14c924f79815c287a3c981fbec6d212b6546
Author: Guillermo Cruz <gu...@slashdotmedia.com>
AuthorDate: Thu Jun 30 09:49:08 2022 -0600

    [#8442] added missing rel=nofollow attribute to links
---
 Allura/allura/templates/repo/commit.html           |  2 +-
 Allura/allura/templates/widgets/repo/log.html      | 10 +++++-----
 Allura/allura/templates/widgets/repo/revision.html | 14 +++++++-------
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/Allura/allura/templates/repo/commit.html b/Allura/allura/templates/repo/commit.html
index b00b9a7b5..f92483821 100644
--- a/Allura/allura/templates/repo/commit.html
+++ b/Allura/allura/templates/repo/commit.html
@@ -125,7 +125,7 @@ Commit <a href="{{commit.url()}}" rel="nofollow">{{commit.shorthand_id()}}</a> {
         <td>{{ type }}
             {% if type in ('copied', 'renamed') and file.ratio != 1 %}(with changes){% endif %}
         </td>
-        <td><a href="#diff-{{loop.index}}">
+        <td><a href="#diff-{{loop.index}}" rel="nofollow">
             {% if type == 'copied' %}
               {{ '%s -> %s' % (h.really_unicode(file.old), h.really_unicode(file.new)) }}
             {% elif type == 'renamed' %}
diff --git a/Allura/allura/templates/widgets/repo/log.html b/Allura/allura/templates/widgets/repo/log.html
index 68c040d85..4ac51e3e3 100644
--- a/Allura/allura/templates/widgets/repo/log.html
+++ b/Allura/allura/templates/widgets/repo/log.html
@@ -39,11 +39,11 @@
                 {%if is_file %}
                     <div class="grid-1"><input type="checkbox" class="revision" revision="{{commit.id}}" url_commit="{{app.repo.url_for_commit(commit.id)}}"></div>
                 {% endif %}
-                <a class="rev" href="{{app.repo.url_for_commit(commit.id)}}">{{app.repo.shorthand_for_commit(commit.id)}}</a>
+                <a class="rev" href="{{app.repo.url_for_commit(commit.id)}}" rel="nofollow">{{app.repo.shorthand_for_commit(commit.id)}}</a>
                 {% if commit.refs -%}
                     (
                     {%- for ref in commit.refs -%}
-                        <a class="ref" href="{{app.repo.url_for_commit(ref)}}">{{ref}}</a>{% if not loop.last %},&nbsp;{% endif %}
+                        <a class="ref" href="{{app.repo.url_for_commit(ref)}}" rel="nofollow">{{ref}}</a>{% if not loop.last %},&nbsp;{% endif %}
                     {%- endfor -%}
                     )
                 {%- endif %}
@@ -58,7 +58,7 @@
                 {% if commit.rename_details %}
                     <div>
                       <b>renamed from</b>
-                      <a href={{commit.rename_details['commit_url']}}log/?path={{ commit.rename_details['path'] }}>
+                      <a href={{commit.rename_details['commit_url']}}log/?path={{ commit.rename_details['path'] }} rel="nofollow">
                         {{ commit.rename_details['path'] }}
                       </a>
                     </div>
@@ -69,7 +69,7 @@
             {% if commit.authored.date %}{{commit.authored.date|datetimeformat}}{% endif %}
           </td>
           <td style="text-align: left; vertical-align: text-top">
-              <a class="browse" href="{{app.repo.url_for_commit(commit.id)}}tree{{path}}">
+              <a class="browse" href="{{app.repo.url_for_commit(commit.id)}}tree{{path}}" rel="nofollow">
                   {{ 'View' if is_file else 'Tree' }}
               </a>
               {%if is_file%}
@@ -85,6 +85,6 @@
     </tbody>
   </table>
   {% if show_paging and next_commit %}
-      <a class="page_list" href="{{app.repo.url_for_commit(next_commit.id)}}log{{tg.url(params=request.params)}}">Older ></a>
+      <a class="page_list" href="{{app.repo.url_for_commit(next_commit.id)}}log{{tg.url(params=request.params)}}" rel="nofollow">Older ></a>
   {% endif %}
 </div>
diff --git a/Allura/allura/templates/widgets/repo/revision.html b/Allura/allura/templates/widgets/repo/revision.html
index 309b332a7..2114b79ae 100644
--- a/Allura/allura/templates/widgets/repo/revision.html
+++ b/Allura/allura/templates/widgets/repo/revision.html
@@ -28,8 +28,8 @@
             <p>
             <label>Authored by:</label>
             {% if value.author_url %}
-                <a href="{{value.author_url}}">{{email_gravatar(value.authored.email, title=h.really_unicode(value.authored.name), size=16)}}</a>
-                <a href="{{value.author_url}}">{{h.really_unicode(value.authored.name)}}</a>
+                <a href="{{value.author_url}}" rel="nofollow">{{email_gravatar(value.authored.email, title=h.really_unicode(value.authored.name), size=16)}}</a>
+                <a href="{{value.author_url}}" rel="nofollow">{{h.really_unicode(value.authored.name)}}</a>
             {% else %}
                 {{email_gravatar(value.authored.email, title=h.really_unicode(value.authored.name), size=16)}} {{h.really_unicode(value.authored.name)}}
             {% endif %}
@@ -41,8 +41,8 @@
                 <p>
                 <label>Committed by:</label>
                 {% if value.committer_url %}
-                    <a href="{{value.committer_url}}">{{email_gravatar(value.committed.email, title=h.really_unicode(value.committed.name), size=16)}}</a>
-                    <a href="{{value.committer_url}}">{{h.really_unicode(value.committed.name)}}</a>
+                    <a href="{{value.committer_url}}" rel="nofollow">{{email_gravatar(value.committed.email, title=h.really_unicode(value.committed.name), size=16)}}</a>
+                    <a href="{{value.committer_url}}" rel="nofollow">{{h.really_unicode(value.committed.name)}}</a>
                 {% else %}
                     {{email_gravatar(value.committed.email, title=h.really_unicode(value.committed.name), size=16)}} {{h.really_unicode(value.committed.name)}}
                 {% endif %}
@@ -52,18 +52,18 @@
         </div>
 
         <div class="commit-links">
-            <a class="commit-tree-link" href="{{value.url()}}tree/">Browse code at this revision</a>
+            <a class="commit-tree-link" href="{{value.url()}}tree/" rel="nofollow">Browse code at this revision</a>
             <div class="commit-ancestry">
                 {% if prev %}
                 <p class="commit-parents">
                   Parent{% if prev|length > 1 %}s{% endif %}:
-                  {% for ci in prev %}<a href="{{ci.url()}}">{{ci.shorthand_id()}}</a>{% endfor %}
+                  {% for ci in prev %}<a href="{{ci.url()}}" rel="nofollow">{{ci.shorthand_id()}}</a>{% endfor %}
                 </p>
                 {% endif %}
                 {% if next %}
                 <p class="commit-children">
                   Child{% if next|length > 1 %}ren{% endif %}:
-                  {% for ci in next %}<a href="{{ci.url()}}">{{ci.shorthand_id()}}</a>{% endfor %}
+                  {% for ci in next %}<a href="{{ci.url()}}" rel="nofollow">{{ci.shorthand_id()}}</a>{% endfor %}
                 </p>
                 {% endif %}
             </div>


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

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

dill0wn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 2e5f24b9de697ef4fb8c2b76edc2e1700ca69d9d
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>