diff --git a/templates/macros/supporters.html b/templates/macros/supporters.html
new file mode 100644
index 000000000..a0fab76bd
--- /dev/null
+++ b/templates/macros/supporters.html
@@ -0,0 +1,25 @@
+{% macro case_insensitive_sort_supporters(supporters) %}
+ {# Step 1: Extract all supporter names in lower case #}
+ {% set lower_names = [] %}
+ {% for supporter in supporters %}
+ {% set_global lower_names = lower_names | concat(with=[supporter.name | lower]) %}
+ {% endfor %}
+
+ {# Step 2: Sort lower-case names #}
+ {% set sorted_lower_names = lower_names | sort %}
+
+ {# Step 3: Re-match sorted names with original supporter objects #}
+ {% for lower_name in sorted_lower_names %}
+ {% for supporter in supporters %}
+ {% if supporter.name | lower == lower_name %}
+ {% set_global current_supporter = supporter %}
+ {% break %}
+ {% endif %}
+ {% endfor %}
+
+
+
+ {{ current_supporter.name }}
+
+ {% endfor %}
+{% endmacro %}
diff --git a/templates/support.html b/templates/support.html
index 4ca69e4b9..f190c9300 100644
--- a/templates/support.html
+++ b/templates/support.html
@@ -1,5 +1,6 @@
{% extends "section.html" %}
{% import "macros/banner.html" as banner %}
+{% import "macros/supporters.html" as supporters_macros %}
{% block head_extra %}
{% endblock head_extra %}
@@ -37,56 +38,31 @@