2026-10-16 16:03:25 +02:00
|
|
|
import 'source.dart';
|
2026-10-16 14:53:37 +02:00
|
|
|
|
|
|
|
|
class Article {
|
|
|
|
|
const Article({
|
|
|
|
|
required this.title,
|
|
|
|
|
required this.link,
|
|
|
|
|
required this.source,
|
|
|
|
|
this.published,
|
|
|
|
|
this.excerpt = '',
|
|
|
|
|
this.contentHtml = '',
|
|
|
|
|
this.imageUrl,
|
|
|
|
|
this.author,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
final String title;
|
|
|
|
|
final String link;
|
2026-10-16 16:03:25 +02:00
|
|
|
final Source source;
|
2026-10-16 14:53:37 +02:00
|
|
|
final DateTime? published;
|
|
|
|
|
|
|
|
|
|
/// Short plain-text teaser from the feed (description / summary).
|
|
|
|
|
final String excerpt;
|
|
|
|
|
|
|
|
|
|
/// Full article HTML if the feed ships it (content:encoded / atom content).
|
|
|
|
|
final String contentHtml;
|
|
|
|
|
final String? imageUrl;
|
|
|
|
|
final String? author;
|
|
|
|
|
|
|
|
|
|
/// The link is unique enough to identify an article across refreshes.
|
|
|
|
|
String get id => link;
|
|
|
|
|
}
|