Commit

Author:

Hash:

Timestamp:

+18 -7 +/-2 browse

Kevin Schoon [me@kevinschoon.com]

19832f32176d5eb62c7d0ba30e741b9ec6716c1b

Sat, 06 Apr 2024 13:33:43 +0000 (1.2 years ago)

clean up rss feeds a bit
1diff --git a/ayllu/src/web2/routes/rss.rs b/ayllu/src/web2/routes/rss.rs
2index ee16af4..cf80278 100644
3--- a/ayllu/src/web2/routes/rss.rs
4+++ b/ayllu/src/web2/routes/rss.rs
5 @@ -17,7 +17,7 @@ use crate::web2::error::Error;
6 use crate::web2::middleware::repository::Preamble;
7 use crate::web2::middleware::template::Template;
8 use crate::web2::util;
9- use ayllu_git::{Commit, Scanner, Tag, Wrapper};
10+ use ayllu_git::{Commit, Scanner, Stats, Tag, Wrapper};
11
12 fn stylesheet_hack(input: String) -> String {
13 const ORIGINAL: &str = r#"<?xml version="1.0" encoding="utf-8"?>"#;
14 @@ -25,14 +25,24 @@ fn stylesheet_hack(input: String) -> String {
15 input.replacen(ORIGINAL, REPLACEMENT, 1)
16 }
17
18- fn html_commit(summary: String, message: String) -> String {
19+ fn html_commit(summary: String, message: String, stats: Option<Stats>) -> String {
20+ let mut stats_str = String::new();
21+ if let Some(stats) = stats {
22+ stats_str = format!(
23+ "<h5>Stats</h5><p><span class=\"positive\">+{}</span><span class=\"negative\"> -{}<span> +/-{}</span></p>",
24+ stats.insertions,
25+ stats.deletions,
26+ stats.files_changed,
27+ )
28+ }
29 if summary == message.trim_end() {
30- message
31+ message + "</br></br>" + stats_str.as_str()
32 } else {
33 format!(
34- "<pre>{}\n{}</pre>",
35+ "<pre>{}</br>{}</pre></br>{}",
36 summary,
37- message.replacen(&summary, "", 1)
38+ message.replacen(&summary, "", 1),
39+ stats_str
40 )
41 }
42 }
43 @@ -170,7 +180,8 @@ impl Builder {
44 permalink: true,
45 value: link,
46 }));
47- item.set_description(html_commit(commit.summary, commit.message));
48+ let stats = repository.stats(&commit.id)?;
49+ item.set_description(html_commit(commit.summary, commit.message, Some(stats)));
50 let pub_date = OffsetDateTime::from_unix_timestamp(commit.epoch).unwrap();
51 item.set_pub_date(pub_date.format(&Rfc2822).unwrap());
52 items.push((item, commit.epoch))
53 diff --git a/ayllu/themes/default/assets/feed.xsl b/ayllu/themes/default/assets/feed.xsl
54index 3d1cce4..530f31a 100644
55--- a/ayllu/themes/default/assets/feed.xsl
56+++ b/ayllu/themes/default/assets/feed.xsl
57 @@ -43,7 +43,7 @@
58 </header>
59 <xsl:value-of select="description" disable-output-escaping="yes"/>
60 <footer>
61- <xsl:value-of select="pubDate"/>
62+ <b><xsl:value-of select="pubDate"/></b>
63 <span class="right"><xsl:value-of select="author" /></span>
64 </footer>
65 </article>