diff --git a/CHANGELOG.md b/CHANGELOG.md index b5a9d037..aea61cec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ Special thanks to the following contributors: @B1gG, @codac, @ezeholz, @khassel, - Added custom-properties for gaps around body and between modules - Added test case for recurring calendar events - Added new Environment Canada provider for default WEATHER module (weather data for Canadian locations only) +- Added list view for newsfeed module. ### Updated diff --git a/modules/default/newsfeed/newsfeed.css b/modules/default/newsfeed/newsfeed.css index 6f32b2e5..ea65eca2 100644 --- a/modules/default/newsfeed/newsfeed.css +++ b/modules/default/newsfeed/newsfeed.css @@ -12,3 +12,12 @@ iframe.newsfeed-fullarticle { bottom: inherit; top: -90px; } + +.newsfeed-list { + list-style: none; +} + +.newsfeed-list li { + text-align: justify; + margin-bottom: 0.5em; +} diff --git a/modules/default/newsfeed/newsfeed.js b/modules/default/newsfeed/newsfeed.js index bc033a19..7e21f8a8 100644 --- a/modules/default/newsfeed/newsfeed.js +++ b/modules/default/newsfeed/newsfeed.js @@ -14,6 +14,7 @@ Module.register("newsfeed", { encoding: "UTF-8" //ISO-8859-1 } ], + showAsList: false, showSourceTitle: true, showPublishDate: true, broadcastNewsFeeds: true, @@ -128,6 +129,10 @@ Module.register("newsfeed", { } const item = this.newsItems[this.activeItem]; + const items = this.newsItems.map(function (item) { + item.publishDate = moment(new Date(item.pubdate)).fromNow(); + return item; + }); return { loaded: true, @@ -135,7 +140,8 @@ Module.register("newsfeed", { sourceTitle: item.sourceTitle, publishDate: moment(new Date(item.pubdate)).fromNow(), title: item.title, - description: item.description + description: item.description, + items: items }; }, @@ -192,7 +198,6 @@ Module.register("newsfeed", { return true; }, this); } - newsItems.forEach((item) => { //Remove selected tags from the beginning of rss feed items (title or description) if (this.config.removeStartTags === "title" || this.config.removeStartTags === "both") { diff --git a/modules/default/newsfeed/newsfeed.njk b/modules/default/newsfeed/newsfeed.njk index e63a8054..2b037dcc 100644 --- a/modules/default/newsfeed/newsfeed.njk +++ b/modules/default/newsfeed/newsfeed.njk @@ -1,28 +1,59 @@ {% if loaded %} -
- {% if (config.showSourceTitle and sourceTitle) or config.showPublishDate %} -
- {% if sourceTitle and config.showSourceTitle %} - {{ sourceTitle }}{% if config.showPublishDate %}, {% else %}: {% endif %} - {% endif %} - {% if config.showPublishDate %} - {{ publishDate }}: - {% endif %} + {% if config.showAsList %} + + {% else %} +
+ {% if (config.showSourceTitle and sourceTitle) or config.showPublishDate %} +
+ {% if sourceTitle and config.showSourceTitle %} + {{ sourceTitle }}{% if config.showPublishDate %}, {% else %}: {% endif %} + {% endif %} + {% if config.showPublishDate %} + {{ publishDate }}: + {% endif %} +
+ {% endif %} +
+ {{ title }}
- {% endif %} -
- {{ title }} + {% if config.showDescription %} +
+ {% if config.truncDescription %} + {{ description | truncate(config.lengthDescription) }} + {% else %} + {{ description }} + {% endif %} +
+ {% endif %}
- {% if config.showDescription %} -
- {% if config.truncDescription %} - {{ description | truncate(config.lengthDescription) }} - {% else %} - {{ description }} - {% endif %} -
- {% endif %} -
+ {% endif %} {% elseif error %}
{{ "MODULE_CONFIG_ERROR" | translate({MODULE_NAME: "Newsfeed", ERROR: error}) | safe }}