diff --git a/src/model.ml b/src/model.ml index a7baf2a..e62346d 100644 --- a/src/model.ml +++ b/src/model.ml @@ -91,10 +91,19 @@ module Article = struct let date { date; _ } = date let tags { tags; _ } = tags + let escape_string str = + let renderer = Cmarkit_renderer.make () in + let buffer = Buffer.create (String.length str) in + let ctx = Cmarkit_renderer.Context.make renderer buffer in + Cmarkit_html.html_escaped_string ctx str; + Buffer.contents buffer + let to_rss_item url article = + let title = escape_string article.article_title in + let description = escape_string article.article_description in Rss.( - Item.make ~title:article.article_title ~link:url ~pub_date:article.date - ~description:article.article_description ~guid:(Guid.link url) ()) + Item.make ~title ~link:url ~pub_date:article.date ~description + ~guid:(Guid.link url) ()) let make article_title article_description tags date title description author co_authors =