FossilRepo
Wiki: Home page first, then alphabetical. Home highlighted in sidebar nav.
Commit
725b14a32365c3532d01b0577c9d5d0f178535d9484d3bf8c01e79fed2c5cfd1
Parent
c542a43be0b7d9f…
2 files changed
+3
+8
-1
+3
| --- fossil/views.py | ||
| +++ fossil/views.py | ||
| @@ -761,10 +761,13 @@ | ||
| 761 | 761 | |
| 762 | 762 | with reader: |
| 763 | 763 | pages = reader.get_wiki_pages() |
| 764 | 764 | home_page = reader.get_wiki_page("Home") |
| 765 | 765 | |
| 766 | + # Sort: Home first, then alphabetical | |
| 767 | + pages = sorted(pages, key=lambda p: ("" if p.name == "Home" else "~" + p.name.lower())) | |
| 768 | + | |
| 766 | 769 | search = request.GET.get("search", "").strip() |
| 767 | 770 | if search: |
| 768 | 771 | pages = [p for p in pages if search.lower() in p.name.lower()] |
| 769 | 772 | |
| 770 | 773 | per_page = get_per_page(request) |
| 771 | 774 |
| --- fossil/views.py | |
| +++ fossil/views.py | |
| @@ -761,10 +761,13 @@ | |
| 761 | |
| 762 | with reader: |
| 763 | pages = reader.get_wiki_pages() |
| 764 | home_page = reader.get_wiki_page("Home") |
| 765 | |
| 766 | search = request.GET.get("search", "").strip() |
| 767 | if search: |
| 768 | pages = [p for p in pages if search.lower() in p.name.lower()] |
| 769 | |
| 770 | per_page = get_per_page(request) |
| 771 |
| --- fossil/views.py | |
| +++ fossil/views.py | |
| @@ -761,10 +761,13 @@ | |
| 761 | |
| 762 | with reader: |
| 763 | pages = reader.get_wiki_pages() |
| 764 | home_page = reader.get_wiki_page("Home") |
| 765 | |
| 766 | # Sort: Home first, then alphabetical |
| 767 | pages = sorted(pages, key=lambda p: ("" if p.name == "Home" else "~" + p.name.lower())) |
| 768 | |
| 769 | search = request.GET.get("search", "").strip() |
| 770 | if search: |
| 771 | pages = [p for p in pages if search.lower() in p.name.lower()] |
| 772 | |
| 773 | per_page = get_per_page(request) |
| 774 |
+8
-1
| --- templates/fossil/wiki_list.html | ||
| +++ templates/fossil/wiki_list.html | ||
| @@ -50,12 +50,19 @@ | ||
| 50 | 50 | <div class="sticky top-6"> |
| 51 | 51 | <h3 class="text-xs font-semibold uppercase tracking-wider text-gray-500 mb-3">Wiki Pages</h3> |
| 52 | 52 | <nav class="space-y-0.5"> |
| 53 | 53 | {% for p in pages %} |
| 54 | 54 | <a href="{% url 'fossil:wiki_page' slug=project.slug page_name=p.name %}" |
| 55 | - class="block rounded-md px-3 py-1.5 text-sm text-gray-400 hover:text-gray-200 hover:bg-gray-800/50"> | |
| 55 | + class="block rounded-md px-3 py-1.5 text-sm {% if p.name == 'Home' %}text-brand-light font-medium{% else %}text-gray-400{% endif %} hover:text-gray-200 hover:bg-gray-800/50"> | |
| 56 | + {% if p.name == "Home" %} | |
| 57 | + <span class="flex items-center gap-1.5"> | |
| 58 | + <svg class="h-3 w-3" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.25 12l8.954-8.955a1.126 1.126 0 011.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25" /></svg> | |
| 59 | + {{ p.name }} | |
| 60 | + </span> | |
| 61 | + {% else %} | |
| 56 | 62 | {{ p.name }} |
| 63 | + {% endif %} | |
| 57 | 64 | </a> |
| 58 | 65 | {% endfor %} |
| 59 | 66 | </nav> |
| 60 | 67 | {% if not pages %} |
| 61 | 68 | <p class="text-xs text-gray-600 px-3">No pages.</p> |
| 62 | 69 |
| --- templates/fossil/wiki_list.html | |
| +++ templates/fossil/wiki_list.html | |
| @@ -50,12 +50,19 @@ | |
| 50 | <div class="sticky top-6"> |
| 51 | <h3 class="text-xs font-semibold uppercase tracking-wider text-gray-500 mb-3">Wiki Pages</h3> |
| 52 | <nav class="space-y-0.5"> |
| 53 | {% for p in pages %} |
| 54 | <a href="{% url 'fossil:wiki_page' slug=project.slug page_name=p.name %}" |
| 55 | class="block rounded-md px-3 py-1.5 text-sm text-gray-400 hover:text-gray-200 hover:bg-gray-800/50"> |
| 56 | {{ p.name }} |
| 57 | </a> |
| 58 | {% endfor %} |
| 59 | </nav> |
| 60 | {% if not pages %} |
| 61 | <p class="text-xs text-gray-600 px-3">No pages.</p> |
| 62 |
| --- templates/fossil/wiki_list.html | |
| +++ templates/fossil/wiki_list.html | |
| @@ -50,12 +50,19 @@ | |
| 50 | <div class="sticky top-6"> |
| 51 | <h3 class="text-xs font-semibold uppercase tracking-wider text-gray-500 mb-3">Wiki Pages</h3> |
| 52 | <nav class="space-y-0.5"> |
| 53 | {% for p in pages %} |
| 54 | <a href="{% url 'fossil:wiki_page' slug=project.slug page_name=p.name %}" |
| 55 | class="block rounded-md px-3 py-1.5 text-sm {% if p.name == 'Home' %}text-brand-light font-medium{% else %}text-gray-400{% endif %} hover:text-gray-200 hover:bg-gray-800/50"> |
| 56 | {% if p.name == "Home" %} |
| 57 | <span class="flex items-center gap-1.5"> |
| 58 | <svg class="h-3 w-3" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.25 12l8.954-8.955a1.126 1.126 0 011.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25" /></svg> |
| 59 | {{ p.name }} |
| 60 | </span> |
| 61 | {% else %} |
| 62 | {{ p.name }} |
| 63 | {% endif %} |
| 64 | </a> |
| 65 | {% endfor %} |
| 66 | </nav> |
| 67 | {% if not pages %} |
| 68 | <p class="text-xs text-gray-600 px-3">No pages.</p> |
| 69 |