summary history branches tags files
commit:d4100e85ae2c8d7760b55773133fe9d095fa1b1a
author:Trevor Bentley
committer:Trevor Bentley
date:Sun Jan 15 01:17:26 2023 +0100
parents:276b8a01e78f59c6fec9e28584c678ddc335736e
add ability to sort repo list by date
diff --git a/src/git.rs b/src/git.rs
line changes: +6/-0
index 58b4b4b..95def9f
--- a/src/git.rs
+++ b/src/git.rs
@@ -15,6 +15,8 @@ fn first_line(msg: &[u8]) -> String {
 #[derive(Serialize, Default)]
 pub struct GitRepo {
     pub name: String,
+    pub last_ts_utc: i64,
+    pub last_ts_offset: i64,
     pub metadata: GitsyMetadata,
     pub history: Vec<GitObject>,
     pub branches: Vec<GitObject>,
@@ -42,6 +44,8 @@ impl GitRepo {
         let all_files: Vec<GitFile> = self.all_files.iter().cloned().take(max_entries).collect();
         GitRepo {
             name: self.name.clone(),
+            last_ts_utc: self.last_ts_utc,
+            last_ts_offset: self.last_ts_offset,
             metadata: self.metadata.clone(),
             history: new_history,
             branches: self.branches.iter().cloned().take(max_entries).collect(),
@@ -452,6 +456,8 @@ pub fn parse_repo(
     let commit_ids = commits.keys().cloned().collect();
     Ok(GitRepo {
         name: name.to_string(),
+        last_ts_utc: history.first().map(|x| x.ts_utc).unwrap_or(0),
+        last_ts_offset: history.first().map(|x| x.ts_offset).unwrap_or(0),
         metadata,
         history,
         branches,

diff --git a/templates/repos.html b/templates/repos.html
line changes: +1/-1
index 84e7769..e70105b
--- a/templates/repos.html
+++ b/templates/repos.html
@@ -14,7 +14,7 @@
     <th>Website</th>
     <th>Last Updated</th>
   </tr>
-  {% for repo in repos | sort(attribute="name") -%}
+  {% for repo in repos | sort(attribute="last_ts_utc") | reverse  -%}
   <tr>
     <td class="repo"><a href="{{repo.name}}/summary.html">{{ repo.name }}</a></td>
     <td class="description nosmall">{{repo.metadata.description}}</td>

diff --git a/templates/style.css b/templates/style.css
line changes: +1/-1
index 8d7ece1..5032221
--- a/templates/style.css
+++ b/templates/style.css
@@ -128,7 +128,7 @@ table.summary-table tr:nth-child(even), table.repo-list tr:nth-child(even) {
     background-color: var(--offerwhite);
 }
 table.repo-list td {
-    padding: 0.5em 0.3em 0.5em 0.3em;
+    padding: 0.3em 0.3em 0.3em 0.3em;
 }
 table.summary-table td, table.repo-list td {
     word-break: break-all;