diff --git a/css/live_feeds_news.css b/css/live_feeds_news.css
index 00ecd52..b97c842 100644
--- a/css/live_feeds_news.css
+++ b/css/live_feeds_news.css
@@ -25,7 +25,15 @@
.live-feeds-news .news-item .news-item__image {
clear: left;
float: left;
- margin-right: 10px;
+ margin-right: .5rem;
+ margin-top: .5rem;
+}
+
+.live-feeds-news .news-item .news-item__image img {
+ aspect-ratio: 1 / 1;
+ border-radius: .25rem;
+ object-fit: cover;
+ width: 75px;
}
.live-feeds-news .news-item .news-item__date {
@@ -33,7 +41,6 @@
display: inline;
font-size: 0.93em;
font-style: italic;
- text-wrap: avoid;
white-space: nowrap;
}
diff --git a/src/LiveFeedsSmartTrim.php b/src/LiveFeedsSmartTrim.php
index 5c02030..6f12d01 100644
--- a/src/LiveFeedsSmartTrim.php
+++ b/src/LiveFeedsSmartTrim.php
@@ -29,9 +29,9 @@ public static function trustedCallbacks() {
public function liveFeedsLimit($stringBig, $wordLimit) {
$string = explode(' ', $stringBig);
if (count($string) > $wordLimit) {
- return implode(' ', array_slice($string, 0, $wordLimit)) . " ...";
+ return implode(' ', array_slice($string, 0, $wordLimit)) . " …";
}
- return implode(' ', $string) . " ...";
+ return implode(' ', $string) . " …";
}
}
diff --git a/src/Plugin/Block/LiveFeedsNews.php b/src/Plugin/Block/LiveFeedsNews.php
index f8afdf5..91645f6 100644
--- a/src/Plugin/Block/LiveFeedsNews.php
+++ b/src/Plugin/Block/LiveFeedsNews.php
@@ -170,17 +170,19 @@ public function build() {
$body = $html->getElementsByTagName('div')->item(1)->nodeValue;
$pub_date = $this->apStyleDateFormatter->formatTimestamp(strtotime($date_text), ['always_display_year' => TRUE]);
- $build['#live_feeds_news_data']['#' . $items]['#news_thumb']['#markup'] = '';
+ $build['#live_feeds_news_data']['#' . $items]['#news_thumb']['#markup'] = '';
$url = Url::fromUri($story->link);
+ $read_more_link = Link::fromTextAndUrl($this->t('Read full story'), $url)
+ ->toString();
$build['#live_feeds_news_data']['#' . $items]['#news_story_link'] = Link::fromTextAndUrl($story->title, $url);
$build['#live_feeds_news_data']['#' . $items]['#news_date'] = $pub_date;
// Display teaser if there is one, else truncate body.
if (isset($teaser) && $word_limit > 20) {
- $build['#live_feeds_news_data']['#' . $items]['#news_teaser']['#markup'] = $teaser;
+ $build['#live_feeds_news_data']['#' . $items]['#news_teaser']['#markup'] = $teaser . $read_more_link;
}
else {
- $build['#live_feeds_news_data']['#' . $items]['#news_teaser']['#markup'] = $this->liveFeedsSmartTrim->liveFeedsLimit(trim($body), $word_limit);
+ $build['#live_feeds_news_data']['#' . $items]['#news_teaser']['#markup'] = $this->liveFeedsSmartTrim->liveFeedsLimit(trim($body), $word_limit) . ' ' . $read_more_link;
}
}
libxml_clear_errors();