Add the Fun section to the Learn tab with comic-friendly reader view (#3)
The Learn tab gets a Fun section below Learning with the last 3 days of Fun articles. Fun articles stay out of Today and the Briefing. New curated Fun sources: xkcd and The Daily WTF (on by default) and r/ProgrammerHumor top of the day (off). Reader view for Fun articles shows the picture whole in the body instead of as a 16:9 banner cropped to fit, and doesn't call a comic without text a teaser. When the page gives no picture (Reddit blocks reader view), the feed's image is shown. The extractor now keeps an image's title text as a caption (xkcd's last joke), images in blockquotes and behind in-page anchors (The Daily WTF's Error'd screenshots), drops image maps and license boxes, and on a text tie prefers the page with more blocks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a6b8d8b537
commit
8240a767ef
10 files changed
+387
-20
No files matched your search
@@ -1,5 +1,6 @@
|
||||
import 'package:daily_tech_news/models/article.dart';
|
||||
import 'package:daily_tech_news/models/news_source.dart';
|
||||
import 'package:daily_tech_news/services/article_extractor.dart';
|
||||
import 'package:daily_tech_news/services/feed_service.dart';
|
||||
import 'package:daily_tech_news/services/storage.dart';
|
||||
import 'package:daily_tech_news/services/summarizer.dart';
|
||||
@@ -58,11 +59,13 @@ Future<AppState> launchApp(
|
||||
Map<String, List<(String, Duration)>> feeds = const {},
|
||||
FeedService? feedService,
|
||||
Summarizer? summarizer,
|
||||
ArticleExtractor? extractor,
|
||||
}) async {
|
||||
final state = AppState(await Storage.open(),
|
||||
feedService: feedService ?? FakeFeeds(feeds),
|
||||
curatedSources: curatedSources,
|
||||
summarizer: summarizer);
|
||||
summarizer: summarizer,
|
||||
extractor: extractor);
|
||||
await state.init();
|
||||
return state;
|
||||
}
|
||||
Reference in new issue
Block a user