File tree 4 files changed +14
-8
lines changed
4 files changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -93,8 +93,7 @@ module ChangelogFeed = struct
93
93
let create_feed () =
94
94
let open Rss in
95
95
() |> all
96
- |> create_entries ~create_entry
97
- |> Ocamlorg.Import.List. take 365
96
+ |> create_entries ~create_entry ~days: 365
98
97
|> entries_to_feed ~id: " changelog.xml" ~title: " OCaml Changelog"
99
98
|> feed_to_string
100
99
end
Original file line number Diff line number Diff line change @@ -54,8 +54,7 @@ module RssFeed = struct
54
54
let create_feed () =
55
55
let open Rss in
56
56
all ()
57
- |> create_entries ~create_entry
58
- |> Ocamlorg.Import.List. take 90
57
+ |> create_entries ~create_entry ~days: 9000 (* FIXME *)
59
58
|> entries_to_feed ~id: " news.xml" ~title: " OCaml News @ OCaml.org"
60
59
|> feed_to_string
61
60
end
Original file line number Diff line number Diff line change @@ -148,9 +148,7 @@ module GlobalFeed = struct
148
148
149
149
let create_feed () =
150
150
let open Rss in
151
- let entries =
152
- all () |> create_entries ~create_entry |> Ocamlorg.Import.List. take 90
153
- in
151
+ let entries = all () |> create_entries ~create_entry ~days: 90 in
154
152
155
153
match create_events_announcement_entry () with
156
154
| None ->
Original file line number Diff line number Diff line change 1
- let create_entries ~create_entry = List. map create_entry
1
+ let create_entries ~create_entry ?days u =
2
+ let is_fresh =
3
+ let some days (entry : Syndic.Atom.entry ) =
4
+ let now = Ptime. of_float_s (Unix. gettimeofday () ) |> Option. get in
5
+ let than = Ptime. sub_span now (Ptime.Span. v (days, 0L )) |> Option. get in
6
+ if Ptime. is_later entry.updated ~than then Some entry else None
7
+ in
8
+ Option. fold ~none: Option. some ~some days
9
+ in
10
+ let entries = u |> List. filter_map (fun x -> x |> create_entry |> is_fresh) in
11
+ entries
2
12
3
13
let entries_to_feed ~id ~title (entries : Syndic.Atom.entry list ) =
4
14
let id = Uri. of_string (" https://ocaml.org/" ^ id) in
You can’t perform that action at this time.
0 commit comments