feat: Add static changelog page

Adds a new static page accessible at /changelog to display site updates and changes manually.

- Creates a new Flask Blueprint in `routes/changelog.py` to handle the route logic.
- Registers the `changelog_bp` blueprint in `app.py`.
- Creates the corresponding template `templates/changelog/changelog.html` extending the base layout.
- Adds a link to the Changelog page in the main sidebar navigation in `templates/base.html`, using an archive icon for consistency.
- Applies basic card styling to the changelog page content for improved visual structure.
This commit is contained in:
Peter Stockings
2025-03-30 21:30:25 +11:00
parent 39e91f2655
commit 2465cad005
4 changed files with 66 additions and 2 deletions

View File

@@ -198,6 +198,20 @@
</svg>
<span class="ml-3">Settings</span>
</a>
<a hx-get="{{ url_for('changelog.show_changelog') }}" hx-push-url="true"
hx-target="#container"
class="text-base text-gray-900 font-normal rounded-lg hover:bg-gray-100 group transition duration-75 flex items-center p-2 cursor-pointer {{ is_selected_page(url_for('changelog.show_changelog')) }} page-link"
_="on click add .hidden to #sidebar then remove .ml-64 from #main
on htmx:afterRequest go to the top of the body">
<svg class="w-6 h-6 text-gray-500 group-hover:text-gray-900 transition duration-75"
fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<!-- Heroicon name: solid/archive-box -->
<path fill-rule="evenodd"
d="M5 3a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V5a2 2 0 00-2-2H5zm0 2h10v7h-2l-1 1H8l-1-1H5V5z"
clip-rule="evenodd"></path>
</svg>
<span class="ml-3">Changelog</span>
</a>
</div>
</div>
</div>

View File

@@ -0,0 +1,35 @@
{% extends "base.html" %}
{% block content %}
<div class="p-4 md:p-6"> {# Add some overall padding for the page content area #}
<div class="bg-white shadow-md rounded-lg p-6"> {# Card container #}
<h1 class="text-2xl font-semibold text-gray-900 mb-6 border-b pb-2">Changelog</h1> {# Added bottom border to
heading #}
{# Container for the actual changelog entries with prose styling #}
<div class="prose max-w-none">
<p>Updates and changes to the site will be documented here, with the most recent changes listed first.</p>
<!-- Example Entry Structure -->
<hr class="my-6"> {# Increased margin for HR #}
<h2 class="text-xl font-semibold mb-2">March 30, 2025</h2> {# Reduced margin-bottom for H2 #}
<ul class="list-disc pl-5 space-y-1"> {# Added space between list items #}
<li>Added the initial changelog page.</li>
<li>Fixed a minor styling issue on the dashboard.</li>
<li>Improved visual styling of the changelog page itself.</li> {# Added an entry for this change #}
</ul>
{# Add more entries below, following the pattern above #}
<!--
<hr class="my-6">
<h2 class="text-xl font-semibold mb-2">March 29, 2025</h2>
<ul class="list-disc pl-5 space-y-1">
<li>Implemented feature X.</li>
<li>Refactored component Y.</li>
</ul>
-->
</div>
</div>
</div>
{% endblock %}