diff --git a/_includes/signatures.html b/_includes/signatures.html
index 1ebed35c..2e516bde 100644
--- a/_includes/signatures.html
+++ b/_includes/signatures.html
@@ -1,16 +1,29 @@
Signed:
-{% capture signs %}
- {% for sign_hash in site.data.signed %}
- {% assign signature = sign_hash[1] %}
- |{{signature.name | escape }}#{{signature.link | escape }}
- {% endfor %}
-{% endcapture %}
-{% assign sorted_signs = signs | split: '|' | sort %}
-{% for signature in sorted_signs %}
- {% assign sign_items = signature | split: '#' %}
- {% if sign_items[0] and sign_items[1] %}
- - {{ sign_items[0] | strip }}
- {% endif %}
-{% endfor %}
-
\ No newline at end of file
+{%- capture signs -%}
+ {%- for sign_hash in site.data.signed -%}
+ {%- assign signature = sign_hash[1] -%}
+ {%- assign name = signature.name | strip -%}
+ {%- assign name_order = name | downcase -%}
+ {%- assign first_char = name_order | slice: 0 -%}
+ {%- assign first_number = first_char | plus: 0 | append: '' -%}
+ {%- if first_char == first_number -%}
+ {%- assign name_order = name_order | prepend: '~' -%}
+ {%- endif -%}
+ {{ name_order | escape }}
+ {{ name | escape }}
+ {{ signature.link | strip | escape }}
+ {%- endfor -%}
+{%- endcapture -%}
+{%- assign sorted_signs = signs | split: '' | sort -%}
+{%- for signature in sorted_signs -%}
+ {%- assign sign_items = signature | split: '' -%}
+ {%- if sign_items[2] and sign_items[4] -%}
+ {%- assign name = sign_items[2] -%}
+ {%- assign link = sign_items[4] -%}
+ {% comment %}Add whitespace{% endcomment %}
+ {{ name }}
+ {%- endif -%}
+{%- endfor -%}
+{% comment %}Add whitespace{% endcomment %}
+