From 9ba3a133f1702ec49c6112dfb07dca76bb0e6900 Mon Sep 17 00:00:00 2001 From: Aleksandra Nenadic Date: Mon, 12 Oct 2026 15:43:01 +0100 Subject: [PATCH 1/2] Render external links with arrow icon and use consistent font size in tables --- main/tables.py | 19 +++++++++---------- tests/main/test_tables.py | 12 +++++++++--- 2 files changed, 18 insertions(+), 13 deletions(-) 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/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 From 973fdf19d4ac59d0893fd1f61021b67fc46bf935 Mon Sep 17 00:00:00 2001 From: Adrian D'Alessandro Date: Wed, 14 Oct 2026 12:50:05 +0100 Subject: [PATCH 2/2] Add external link indicator to learning provider and skill pages --- .../main/pages/learning-provider-detail.html | 2 ++ main/templates/main/pages/skill.html | 31 ++++++++++++++++--- 2 files changed, 28 insertions(+), 5 deletions(-) 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 %}