irongut / MauiBeach

MAUI Beach - A playground for experiments with .NET MAUI.
https://blog.taranissoftware.com/series/xamarin-maui
MIT License
28 stars 9 forks source link

Recent Blog Articles Page #3

Open irongut opened 2 years ago

irongut commented 2 years ago

Feature Request

New page using CarouselView and IndicatorView to show recent blog articles.

Blog RSS: https://blog.taranissoftware.com/rss.xml

Expected Behaviour

Articles should look similar to cards on my readme and include the intro section of the article (up to the first <h2>). Tapping a card will open the article in the default browser. Cache the rss for 1 hour.

Sailing the Sharp Sea: Latest

Possible settings:

Additional Context

Some cover images are webp format, others are png. Can MAUI handle webp format?

Does MonkeyCache work in MAUI? If not is there an alternative?

Linked To

irongut commented 2 years ago

webp images work on Android & Windows, need to test iOS.

irongut commented 2 years ago

MonkeyCache creates a lot of warnings like the following about MonkeyCache and its dependencies:

NU1703: 'MonkeyCache 1.5.2' was resolved as a dependency of 'MauiBeach', but the dependency is using 'Xamarin.iOS' while 'MauiBeach' is using 'net6.0-maccatalyst15.0' as its TargetFramework. There might be compatibility issues when MacCatalyst projects depend on Xamarin.iOS projects.

I have no way to test MacCatalyst. Android & Windows work but iOS crashes on launch with inner exception:

System.IO.DirectoryNotFoundException: Could not find a part of the path 
'/Users/davemurray/Library/Developer/CoreSimulator/Devices/543FA802-3DDE-4B99-A5C9-8ACD8E9EF619/data/Containers/Data/Application/5492E225-F071-4143-8AD6-4165EC3B0E2A/Library/Caches/com.taranissoftware.mauibeach/MonkeyCacheFS'.
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at MonkeyCache.FileStore.Barrel.WriteIndex()
   at MonkeyCache.FileStore.Barrel..ctor(String cacheDirectory)
   at MonkeyCache.FileStore.Barrel.get_Current()
   at MauiBeach.ViewModels.HomeViewModel..ctor() in D:\Dev\Csharp\Demos\MauiBeach\src\MauiBeach\ViewModels\HomeViewModel.cs:line 57

The line causing the exception is the first time the cache is accessed:

if (Barrel.Current.Exists(key)) { .. }