diff --git a/main/tables.py b/main/tables.py
index 9f6d2826..931300af 100644
--- a/main/tables.py
+++ b/main/tables.py
@@ -13,10 +13,14 @@
if TYPE_CHECKING: # pragma: no cover
from django.db.models.fields.related_descriptors import ManyRelatedManager
+
external_link_html = (
- '{}'
+ ''
+ '{}'
)
-badge_html = '{}'
+badge_html = '{}'
def _render_skills(qs: QuerySet[Skill]) -> SafeString:
@@ -78,12 +82,7 @@ def render_url(self, value: str | None) -> SafeString:
if not value:
return mark_safe("")
- return format_html(
- external_link_html,
- value,
- "",
- "Visit website",
- )
+ return format_html(external_link_html, value, "Visit website")
class LearningResourceTable(tables.Table):
@@ -100,7 +99,7 @@ class Meta:
def render_name(self, value: str, record: LearningResource) -> SafeString:
"""Include the URL in the name."""
- return format_html(external_link_html, record.url, "fs-lg", value)
+ return format_html(external_link_html, record.url, value)
def render_description(self, value: str) -> SafeString:
"""Render the description field."""
@@ -137,7 +136,7 @@ class Meta:
def render_name(self, value: str, record: ToolLanguageMethodology) -> SafeString:
"""Include the URL in the name."""
- return format_html(external_link_html, record.url, "fs-lg", value)
+ return format_html(external_link_html, record.url, value)
def render_kind(self, value: str) -> SafeString:
"""Render the kind field as a badge."""
diff --git a/main/templates/main/pages/learning-provider-detail.html b/main/templates/main/pages/learning-provider-detail.html
index e3197105..bd38f3fc 100644
--- a/main/templates/main/pages/learning-provider-detail.html
+++ b/main/templates/main/pages/learning-provider-detail.html
@@ -22,6 +22,8 @@
{{ provider.name }}
Visit provider website
+
{% endif %}
diff --git a/main/templates/main/pages/skill.html b/main/templates/main/pages/skill.html
index 6f72f1c8..7dd7ab52 100644
--- a/main/templates/main/pages/skill.html
+++ b/main/templates/main/pages/skill.html
@@ -38,11 +38,20 @@ Learning resources
{% if resource.url %}
{{ resource.name }}
+ rel="noopener noreferrer">
+ {{ resource.name }}
+
+
{% else %}
{{ resource.name }}
{% endif %}
- {% if resource.provider %}- {{ resource.provider.name }}{% endif %}
+ {% if resource.provider %}
+ - Provider:
+
+ {{ resource.provider.name }}
+
+ {% endif %}
{% endfor %}
@@ -55,7 +64,11 @@ Tools
{% if item.url %}
{{ item.name }}
+ rel="noopener noreferrer">
+ {{ item.name }}
+
+
{% else %}
{{ item.name }}
{% endif %}
@@ -71,7 +84,11 @@ Languages
{% if item.url %}
{{ item.name }}
+ rel="noopener noreferrer">
+ {{ item.name }}
+
+
{% else %}
{{ item.name }}
{% endif %}
@@ -87,7 +104,11 @@ Methodologies
{% if item.url %}
{{ item.name }}
+ rel="noopener noreferrer">
+ {{ item.name }}
+
+
{% else %}
{{ item.name }}
{% endif %}
diff --git a/tests/main/test_tables.py b/tests/main/test_tables.py
index 4a8e0c1e..40c282d4 100644
--- a/tests/main/test_tables.py
+++ b/tests/main/test_tables.py
@@ -16,7 +16,10 @@ def test_learning_resources_table_render_name(learning_resource: LearningResourc
assert str(rendered) == (
f'Learning Resource'
+ 'rel="noopener noreferrer" '
+ 'class="text-decoration-none fs-xs fw-semibold">Learning Resource'
+ ''
)
@@ -78,7 +81,10 @@ def test_tool_language_methodology_table_render_name(
assert str(rendered) == (
f'Tool'
+ 'rel="noopener noreferrer" '
+ 'class="text-decoration-none fs-xs fw-semibold">Tool'
+ ''
)
@@ -91,7 +97,7 @@ def test_tool_language_methodology_table_render_kind(
rendered = table.render_kind(tool.kind)
- assert str(rendered) == 'tool'
+ assert str(rendered) == 'tool'
@pytest.mark.django_db