diff --git a/jq/convert/rss2cdf.jq b/jq/convert/rss2cdf.jq index e143815..194c8fa 100644 --- a/jq/convert/rss2cdf.jq +++ b/jq/convert/rss2cdf.jq @@ -35,7 +35,7 @@ def parse_date: ensure_string | strptime("%a, %d %b %Y %T %Z") | mktime | todate | if $channel.lastBuildDate // $channel.pubDate then .["@LASTMOD"] = ( $channel.lastBuildDate // $channel.pubDate | parse_date ) else . end - | if $channel.image then .LOGO = { + | if $channel.image and $channel.image.url then .LOGO = { "@HREF": $channel.image.url, "@STYLE": "IMAGE" } else . end diff --git a/jq/convert/rss2echo.jq b/jq/convert/rss2echo.jq index dade074..01849e4 100644 --- a/jq/convert/rss2echo.jq +++ b/jq/convert/rss2echo.jq @@ -62,7 +62,7 @@ def parse_date: ensure_string | strptime("%a, %d %b %Y %T %Z") | mktime | todate ] } | if $channel.language then .["@xml:lang"] = ($channel.language | ensure_string) else . end - | if $channel.image then .link += [{ + | if $channel.image and $channel.image.url then .link += [{ "@rel": "logo", # RSS does not provide an image's mime type, so we try to guess "@type": ("image/" + ($channel.image.url | capture("\\.(?[a-zA-Z0-9]+)$").ext // "x-unknown")), diff --git a/jq/convert/rss2jsonfeed.jq b/jq/convert/rss2jsonfeed.jq index fd5c477..1c61ae2 100644 --- a/jq/convert/rss2jsonfeed.jq +++ b/jq/convert/rss2jsonfeed.jq @@ -40,4 +40,4 @@ def ensure_array: (. // []) | if type == "array" then . else [.] end; # Optional language | if $channel.language then .language = $channel.language else . end # Optional icon -| if $channel.image then .icon = $channel.image.url else . end +| if $channel.image and $channel.image.url then .icon = $channel.image.url else . end