main
erb 40 lines 1.86 KB
Raw
1 <% content_for :title, "Changelog" %>
2 <% content_for :description, "What's new in siGit — Git hosting, model repositories, and the MCP server for AI coding agents, release by release." %>
3
4 <div class="max-w-3xl mx-auto px-4 sm:px-6 py-16 sm:py-20">
5 <header class="mb-12">
6 <h1 class="text-3xl font-semibold tracking-tight text-gray-100 sm:text-4xl">Changelog</h1>
7 <p class="mt-3 text-base leading-7 text-gray-400">
8 Every siGit release, newest first.
9 </p>
10 </header>
11
12 <% if @entries.empty? %>
13 <p class="text-sm text-gray-500">No releases yet.</p>
14 <% else %>
15 <ol class="relative border-l border-surface-600">
16 <% @entries.each do |entry| %>
17 <li class="mb-12 ml-6">
18 <span class="absolute -left-1.5 mt-1.5 h-3 w-3 rounded-full border border-surface-500 bg-brand-500"></span>
19 <div class="flex flex-wrap items-baseline gap-x-3 gap-y-1">
20 <%= link_to entry.tag, changelog_version_path(version: entry.tag),
21 class: "text-xl font-semibold text-brand-500 hover:text-brand-400 transition-colors" %>
22 <% if entry.date %>
23 <time datetime="<%= entry.date.iso8601 %>" class="text-xs uppercase tracking-[0.18em] text-gray-500">
24 <%= entry.date.strftime("%B %-d, %Y") %>
25 </time>
26 <% end %>
27 </div>
28 <% if entry.title.present? %>
29 <h2 class="mt-2 text-lg font-medium text-gray-100"><%= entry.title %></h2>
30 <% end %>
31 <% if entry.headline.present? %>
32 <p class="mt-1 text-sm leading-6 text-gray-400"><%= entry.headline %></p>
33 <% end %>
34 <%= link_to "Read the release notes →", changelog_version_path(version: entry.tag),
35 class: "mt-3 inline-block text-sm text-gray-400 hover:text-gray-200 transition-colors" %>
36 </li>
37 <% end %>
38 </ol>
39 <% end %>
40 </div>