Bubble [main]
Add subheadings to subspace index, if the list is long
[1mdiff --git a/subspace.py b/subspace.py[m
[1mindex 5ac1c41..3389cd1 100644[m
[1m--- a/subspace.py[m
[1m+++ b/subspace.py[m
[36m@@ -97,12 +97,27 @@[m [mdef make_subspaces_page(session):[m
return f"{title} by {latest.poster_avatar} {latest.poster_name} ยท {age}\n"[m
return ''[m
[m
[32m+[m[32m def sub_heading(sub):[m
[32m+[m[32m i = sub.id[0].upper()[m
[32m+[m[32m if i in string.digits or i in string.punctuation:[m
[32m+[m[32m return '0-9'[m
[32m+[m[32m if i in string.ascii_uppercase:[m
[32m+[m[32m return i[m
[32m+[m[32m return 'Other'[m
[32m+[m
if len(subs) == 0:[m
page += 'No subspaces.\n'[m
[m
elif view_mode == 'name':[m
[32m+[m[32m use_headings = len(subs) >= 50[m
[32m+[m[32m last_heading = None[m
page += f'## {LABELS[view_mode]}\n\n'[m
for sub in subs:[m
[32m+[m[32m if use_headings:[m
[32m+[m[32m heading = sub_heading(sub)[m
[32m+[m[32m if heading != last_heading:[m
[32m+[m[32m last_heading = heading[m
[32m+[m[32m page += f'\n### {heading}\n'[m
page += sub_link(sub)[m
[m
elif view_mode == 'alpha' or view_mode == 'chrono':[m