mirror of
https://github.com/chylex/Nextcloud-News.git
synced 2025-09-15 13:32:10 +02:00
Compare commits
3 Commits
master
...
912125bc75
Author | SHA1 | Date | |
---|---|---|---|
912125bc75
|
|||
2cfd08be88
|
|||
c865d03eb9
|
@@ -5,7 +5,7 @@ The format is mostly based on [Keep a Changelog](https://keepachangelog.com/en/1
|
|||||||
# Unreleased
|
# Unreleased
|
||||||
## [21.x.x]
|
## [21.x.x]
|
||||||
### Changed
|
### Changed
|
||||||
- Improve visibility of links in dark theme (#2215)
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
|
||||||
|
@@ -465,11 +465,6 @@
|
|||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#app-content .feed-view .utils .title {
|
|
||||||
background: none !important;
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app-content .utils .title h1 a {
|
#app-content .utils .title h1 a {
|
||||||
/*text-overflow: ellipsis;*/
|
/*text-overflow: ellipsis;*/
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
@@ -8,7 +8,6 @@ OC.L10N.register(
|
|||||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Внутрішня помилка сервера! Щоб отримати додаткову інформацію, перевірте файл data/nextcloud.log!",
|
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Внутрішня помилка сервера! Щоб отримати додаткову інформацію, перевірте файл data/nextcloud.log!",
|
||||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "Помилка запиту, Nextcloud зараз у режимі обслуговування!",
|
"Request failed, Nextcloud is in currently in maintenance mode!" : "Помилка запиту, Nextcloud зараз у режимі обслуговування!",
|
||||||
"Unread articles" : "Непрочитані статті",
|
"Unread articles" : "Непрочитані статті",
|
||||||
"News" : "Новини",
|
|
||||||
"Last job ran {relativeTime}." : "Останнє завдання виконано {relativeTime}.",
|
"Last job ran {relativeTime}." : "Останнє завдання виконано {relativeTime}.",
|
||||||
"Use system cron for updates" : "Використовуйте системний cron для оновлень",
|
"Use system cron for updates" : "Використовуйте системний cron для оновлень",
|
||||||
"Maximum read count per feed" : "Максимальна кількість статей для стрічки",
|
"Maximum read count per feed" : "Максимальна кількість статей для стрічки",
|
||||||
|
@@ -6,7 +6,6 @@
|
|||||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Внутрішня помилка сервера! Щоб отримати додаткову інформацію, перевірте файл data/nextcloud.log!",
|
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Внутрішня помилка сервера! Щоб отримати додаткову інформацію, перевірте файл data/nextcloud.log!",
|
||||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "Помилка запиту, Nextcloud зараз у режимі обслуговування!",
|
"Request failed, Nextcloud is in currently in maintenance mode!" : "Помилка запиту, Nextcloud зараз у режимі обслуговування!",
|
||||||
"Unread articles" : "Непрочитані статті",
|
"Unread articles" : "Непрочитані статті",
|
||||||
"News" : "Новини",
|
|
||||||
"Last job ran {relativeTime}." : "Останнє завдання виконано {relativeTime}.",
|
"Last job ran {relativeTime}." : "Останнє завдання виконано {relativeTime}.",
|
||||||
"Use system cron for updates" : "Використовуйте системний cron для оновлень",
|
"Use system cron for updates" : "Використовуйте системний cron для оновлень",
|
||||||
"Maximum read count per feed" : "Максимальна кількість статей для стрічки",
|
"Maximum read count per feed" : "Максимальна кількість статей для стрічки",
|
||||||
|
@@ -360,6 +360,10 @@ class Item extends Entity implements IAPI, \JsonSerializable
|
|||||||
return json_decode($this->getCategoriesJson());
|
return json_decode($this->getCategoriesJson());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getWordCount(): int {
|
||||||
|
return self::countWords(strip_tags($this->getBody()));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Turns entity attributes into an array
|
* Turns entity attributes into an array
|
||||||
*/
|
*/
|
||||||
@@ -384,11 +388,12 @@ class Item extends Entity implements IAPI, \JsonSerializable
|
|||||||
'starred' => $this->isStarred(),
|
'starred' => $this->isStarred(),
|
||||||
'lastModified' => $this->getLastModified(),
|
'lastModified' => $this->getLastModified(),
|
||||||
'rtl' => $this->getRtl(),
|
'rtl' => $this->getRtl(),
|
||||||
'intro' => $this->getIntro(),
|
'intro' => mb_substr($this->getIntro(), 0, 500),
|
||||||
'fingerprint' => $this->getFingerprint(),
|
'fingerprint' => $this->getFingerprint(),
|
||||||
'categories' => $this->getCategories(),
|
'categories' => $this->getCategories(),
|
||||||
'sharedBy' => $this->getSharedBy(),
|
'sharedBy' => $this->getSharedBy(),
|
||||||
'sharedByDisplayName' => $this->getSharedByDisplayName()
|
'sharedByDisplayName' => $this->getSharedByDisplayName(),
|
||||||
|
'wordCount' => $this->getWordCount(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -755,4 +760,11 @@ class Item extends Entity implements IAPI, \JsonSerializable
|
|||||||
stripos($mime, 'image/') !== false ||
|
stripos($mime, 'image/') !== false ||
|
||||||
stripos($mime, 'video/') !== false));
|
stripos($mime, 'video/') !== false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function countWords(string $text): int
|
||||||
|
{
|
||||||
|
$text = preg_replace('/[\pP\pM]/u', '', $text); // strip punctuation (P) and combination marks (M)
|
||||||
|
$text = preg_replace('/[^\pL\pN]+/u', ' ', $text); // convert every sequence of non-letters (L) and non-numbers (N) to a space
|
||||||
|
return 1 + substr_count($text, ' ');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -62,6 +62,9 @@
|
|||||||
{{ item.pubDate*1000 | relativeTimestamp }}
|
{{ item.pubDate*1000 | relativeTimestamp }}
|
||||||
</time>
|
</time>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="only-in-compact">
|
||||||
|
<span class="date">{{ item.wordCount }} words</span>
|
||||||
|
</li>
|
||||||
<li ng-click="Content.toggleStar(item.id)"
|
<li ng-click="Content.toggleStar(item.id)"
|
||||||
class="util"
|
class="util"
|
||||||
news-stop-propagation>
|
news-stop-propagation>
|
||||||
|
Reference in New Issue
Block a user