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'] = 'OSU News Release'; + $build['#live_feeds_news_data']['#' . $items]['#news_thumb']['#markup'] = 'OSU News Release'; $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();