diff --git a/Auth/MauiAuthBlazor/Shared/MainLayout.razor b/Auth/MauiAuthBlazor/Shared/MainLayout.razor
index 260f8483..65b16397 100644
--- a/Auth/MauiAuthBlazor/Shared/MainLayout.razor
+++ b/Auth/MauiAuthBlazor/Shared/MainLayout.razor
@@ -3,7 +3,7 @@
diff --git a/BottomSheet/README.md b/BottomSheet/README.md
index aedf1f3b..b0ae35c7 100644
--- a/BottomSheet/README.md
+++ b/BottomSheet/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-a-bottom-sheet-using-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Creating-a-bottom-sheet-using-.NET-MAUI
## Images
diff --git a/BottomSheet/README.mdpp b/BottomSheet/README.mdpp
index ad7d4860..0944efc0 100644
--- a/BottomSheet/README.mdpp
+++ b/BottomSheet/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-a-bottom-sheet-using-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Creating-a-bottom-sheet-using-.NET-MAUI
## Images
diff --git a/CardLayout/README.md b/CardLayout/README.md
index 771872ef..beba2180 100644
--- a/CardLayout/README.md
+++ b/CardLayout/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-a-card-stack-layout-using-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Creating-a-card-stack-layout-using-.NET-MAUI
## Images
diff --git a/CardLayout/README.mdpp b/CardLayout/README.mdpp
index c15f34f4..34d39db3 100644
--- a/CardLayout/README.mdpp
+++ b/CardLayout/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-a-card-stack-layout-using-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Creating-a-card-stack-layout-using-.NET-MAUI
## Images
diff --git a/Database/Sqlite/MauiSqliteBlazor/Shared/MainLayout.razor b/Database/Sqlite/MauiSqliteBlazor/Shared/MainLayout.razor
index 34ca6c17..8715101f 100644
--- a/Database/Sqlite/MauiSqliteBlazor/Shared/MainLayout.razor
+++ b/Database/Sqlite/MauiSqliteBlazor/Shared/MainLayout.razor
@@ -7,7 +7,7 @@
diff --git a/DynamicFab/README.md b/DynamicFab/README.md
index 5fa6604f..f292ea1b 100644
--- a/DynamicFab/README.md
+++ b/DynamicFab/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-dynamic-floating-action-button
+Article: https://vladislavantonyuk.github.io/articles/Creating-dynamic-floating-action-button
## Images
diff --git a/DynamicFab/README.mdpp b/DynamicFab/README.mdpp
index 66d48b05..8f9c0447 100644
--- a/DynamicFab/README.mdpp
+++ b/DynamicFab/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-dynamic-floating-action-button
+Article: https://vladislavantonyuk.github.io/articles/Creating-dynamic-floating-action-button
## Images
diff --git a/KanbanBoard/README.md b/KanbanBoard/README.md
index 9a21cb39..87d09f28 100644
--- a/KanbanBoard/README.md
+++ b/KanbanBoard/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-Kanban-Board-using-Xamarin-Forms-5
+Article: https://vladislavantonyuk.github.io/articles/Creating-Kanban-Board-using-Xamarin-Forms-5
## Build
```pwsh
diff --git a/KanbanBoard/README.mdpp b/KanbanBoard/README.mdpp
index fbfd4afa..ffe375eb 100644
--- a/KanbanBoard/README.mdpp
+++ b/KanbanBoard/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-Kanban-Board-using-Xamarin-Forms-5
+Article: https://vladislavantonyuk.github.io/articles/Creating-Kanban-Board-using-Xamarin-Forms-5
## Build
```pwsh
diff --git a/MauiAnimation/README.md b/MauiAnimation/README.md
index 00b77a97..d0328274 100644
--- a/MauiAnimation/README.md
+++ b/MauiAnimation/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-custom-animations-using-.NET-MAUI-CommunityToolkit
+Article: https://vladislavantonyuk.github.io/articles/Create-custom-animations-using-.NET-MAUI-CommunityToolkit
## Images
diff --git a/MauiAnimation/README.mdpp b/MauiAnimation/README.mdpp
index 9af3cf57..9df863f3 100644
--- a/MauiAnimation/README.mdpp
+++ b/MauiAnimation/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-custom-animations-using-.NET-MAUI-CommunityToolkit
+Article: https://vladislavantonyuk.github.io/articles/Create-custom-animations-using-.NET-MAUI-CommunityToolkit
## Images
diff --git a/MauiBadge/README.md b/MauiBadge/README.md
index 65487734..356de35e 100644
--- a/MauiBadge/README.md
+++ b/MauiBadge/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/AppIcon-Badge-with-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/AppIcon-Badge-with-.NET-MAUI
## Images
diff --git a/MauiBadge/README.mdpp b/MauiBadge/README.mdpp
index b546950f..d0c74676 100644
--- a/MauiBadge/README.mdpp
+++ b/MauiBadge/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/AppIcon-Badge-with-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/AppIcon-Badge-with-.NET-MAUI
## Images
diff --git a/MauiBank/README.md b/MauiBank/README.md
index a7548c0c..bcafa9c4 100644
--- a/MauiBank/README.md
+++ b/MauiBank/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Replicate-a-bank-application-UI-using-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Replicate-a-bank-application-UI-using-.NET-MAUI
## Images
diff --git a/MauiBank/README.mdpp b/MauiBank/README.mdpp
index 8d4a2fa7..1004e557 100644
--- a/MauiBank/README.mdpp
+++ b/MauiBank/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Replicate-a-bank-application-UI-using-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Replicate-a-bank-application-UI-using-.NET-MAUI
## Images
diff --git a/MauiBarcode/App.xaml b/MauiBarcode/App.xaml
new file mode 100644
index 00000000..a3e97d5b
--- /dev/null
+++ b/MauiBarcode/App.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MauiBarcode/App.xaml.cs b/MauiBarcode/App.xaml.cs
new file mode 100644
index 00000000..132ff99f
--- /dev/null
+++ b/MauiBarcode/App.xaml.cs
@@ -0,0 +1,11 @@
+namespace MauiBarcode;
+
+public partial class App : Application
+{
+ public App()
+ {
+ InitializeComponent();
+
+ MainPage = new AppShell();
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/AppShell.xaml b/MauiBarcode/AppShell.xaml
new file mode 100644
index 00000000..34dfd4d1
--- /dev/null
+++ b/MauiBarcode/AppShell.xaml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MauiBarcode/AppShell.xaml.cs b/MauiBarcode/AppShell.xaml.cs
new file mode 100644
index 00000000..0b83671a
--- /dev/null
+++ b/MauiBarcode/AppShell.xaml.cs
@@ -0,0 +1,9 @@
+namespace MauiBarcode;
+
+public partial class AppShell : Shell
+{
+ public AppShell()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/CommunityToolkitCameraPage.xaml b/MauiBarcode/CommunityToolkitCameraPage.xaml
new file mode 100644
index 00000000..e8f5ebdf
--- /dev/null
+++ b/MauiBarcode/CommunityToolkitCameraPage.xaml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/MauiBarcode/CommunityToolkitCameraPage.xaml.cs b/MauiBarcode/CommunityToolkitCameraPage.xaml.cs
new file mode 100644
index 00000000..e90eaac9
--- /dev/null
+++ b/MauiBarcode/CommunityToolkitCameraPage.xaml.cs
@@ -0,0 +1,78 @@
+namespace MauiBarcode;
+
+#if WINDOWS
+using Windows.Graphics.Imaging;
+using System.Runtime.InteropServices.WindowsRuntime;
+#endif
+using Camera.MAUI.ZXing;
+using CommunityToolkit.Maui.Alerts;
+using CommunityToolkit.Maui.Core;
+using CommunityToolkit.Maui.Views;
+using Microsoft.Maui.Graphics.Platform;
+
+public partial class CommunityToolkitCameraPage : ContentPage
+{
+ private readonly ZXingBarcodeDecoder barcodeReader = new ();
+
+ public CommunityToolkitCameraPage()
+ {
+ InitializeComponent();
+ }
+
+ protected override async void OnAppearing()
+ {
+ base.OnAppearing();
+ ToolkitCameraView.MediaCaptured += OnMediaCaptured;
+
+ var cameras = await ToolkitCameraView.GetAvailableCameras(CancellationToken.None);
+ ToolkitCameraView.SelectedCamera = cameras.FirstOrDefault(x => x.Position != CommunityToolkit.Maui.Core.Primitives.CameraPosition.Front);
+
+ await Task.Delay(1000);
+ await ToolkitCameraView.StartCameraPreview(CancellationToken.None);
+
+ PeriodicTimer timer = new(TimeSpan.FromMilliseconds(3000));
+ while (await timer.WaitForNextTickAsync())
+ {
+ await ToolkitCameraView.CaptureImage(CancellationToken.None);
+ }
+ }
+
+ protected override void OnDisappearing()
+ {
+ ToolkitCameraView.MediaCaptured -= OnMediaCaptured;
+ base.OnDisappearing();
+ }
+
+ private async void OnMediaCaptured(object? sender, MediaCapturedEventArgs e)
+ {
+ try
+ {
+ var image = PlatformImage.FromStream(e.Media);
+#if ANDROID
+ var results = barcodeReader.Decode(image.AsBitmap());
+#elif IOS || MACCATALYST
+ var results = barcodeReader.Decode(image.AsUIImage());
+#elif WINDOWS
+ var softwareBitmap = SoftwareBitmap.CreateCopyFromBuffer(
+ image.AsBytes().AsBuffer(),
+ BitmapPixelFormat.Rgba16,
+ (int)image.Width,
+ (int)image.Height);
+ var results = barcodeReader.Decode(softwareBitmap);
+#else
+ var results = new List();
+#endif
+ foreach (var result in results ?? [])
+ {
+ await MainThread.InvokeOnMainThreadAsync(async () =>
+ {
+ await Toast.Make(result.Text, ToastDuration.Long).Show();
+ });
+ }
+ }
+ catch (Exception exception)
+ {
+ Console.WriteLine(exception);
+ }
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/MainPage.xaml b/MauiBarcode/MainPage.xaml
new file mode 100644
index 00000000..2b8e116f
--- /dev/null
+++ b/MauiBarcode/MainPage.xaml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MauiBarcode/MainPage.xaml.cs b/MauiBarcode/MainPage.xaml.cs
new file mode 100644
index 00000000..0d079859
--- /dev/null
+++ b/MauiBarcode/MainPage.xaml.cs
@@ -0,0 +1,26 @@
+namespace MauiBarcode;
+
+using CommunityToolkit.Maui.Alerts;
+using CommunityToolkit.Maui.Core;
+
+public partial class MainPage : ContentPage
+{
+ public MainPage()
+ {
+ InitializeComponent();
+ }
+
+ private async void OnMlKitScannerClicked(object sender, EventArgs e)
+ {
+#if ANDROID
+ using var mlkit = new MlKitBarcodeScanner();
+ var barcode = await mlkit.ScanAsync();
+ await MainThread.InvokeOnMainThreadAsync(async () =>
+ {
+ await Toast.Make(barcode is null ? "Error has occurred during barcode scanning" : barcode.RawValue, ToastDuration.Long).Show();
+ });
+#else
+ await Toast.Make("This feature is only available on Android", ToastDuration.Long).Show();
+#endif
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/MauiBarcode.csproj b/MauiBarcode/MauiBarcode.csproj
new file mode 100644
index 00000000..a289f574
--- /dev/null
+++ b/MauiBarcode/MauiBarcode.csproj
@@ -0,0 +1,38 @@
+
+
+
+ Exe
+ MauiBarcode
+
+
+ MauiBarcode
+
+
+ com.vladislavantonyuk.mauibarcode
+
+
+ 1.0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MauiBarcode/MauiProgram.cs b/MauiBarcode/MauiProgram.cs
new file mode 100644
index 00000000..ca57c137
--- /dev/null
+++ b/MauiBarcode/MauiProgram.cs
@@ -0,0 +1,19 @@
+namespace MauiBarcode;
+
+using Camera.MAUI;
+using CommunityToolkit.Maui;
+
+public static class MauiProgram
+{
+ public static MauiApp CreateMauiApp()
+ {
+ var builder = MauiApp.CreateBuilder();
+ builder
+ .UseMauiApp()
+ .UseMauiCommunityToolkit()
+ .UseMauiCommunityToolkitCamera()
+ .UseMauiCameraView();
+
+ return builder.Build();
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/Android/AndroidManifest.xml b/MauiBarcode/Platforms/Android/AndroidManifest.xml
new file mode 100644
index 00000000..090bd3c6
--- /dev/null
+++ b/MauiBarcode/Platforms/Android/AndroidManifest.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/Android/MainActivity.cs b/MauiBarcode/Platforms/Android/MainActivity.cs
new file mode 100644
index 00000000..d46d655b
--- /dev/null
+++ b/MauiBarcode/Platforms/Android/MainActivity.cs
@@ -0,0 +1,10 @@
+namespace MauiBarcode;
+
+using Android.App;
+using Android.Content.PM;
+using Android.OS;
+
+[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, LaunchMode = LaunchMode.SingleTop, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
+public class MainActivity : MauiAppCompatActivity
+{
+}
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/Android/MainApplication.cs b/MauiBarcode/Platforms/Android/MainApplication.cs
new file mode 100644
index 00000000..664b0090
--- /dev/null
+++ b/MauiBarcode/Platforms/Android/MainApplication.cs
@@ -0,0 +1,15 @@
+namespace MauiBarcode;
+
+using Android.App;
+using Android.Runtime;
+
+[Application]
+public class MainApplication : MauiApplication
+{
+ public MainApplication(IntPtr handle, JniHandleOwnership ownership)
+ : base(handle, ownership)
+ {
+ }
+
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/Android/MlKitBarcodeScanner.cs b/MauiBarcode/Platforms/Android/MlKitBarcodeScanner.cs
new file mode 100644
index 00000000..7b0b6c24
--- /dev/null
+++ b/MauiBarcode/Platforms/Android/MlKitBarcodeScanner.cs
@@ -0,0 +1,29 @@
+namespace MauiBarcode;
+
+using Xamarin.Google.MLKit.Vision.Barcode.Common;
+using Xamarin.Google.MLKit.Vision.CodeScanner;
+
+public class MlKitBarcodeScanner : IDisposable
+{
+ private readonly IGmsBarcodeScanner barcodeScanner = GmsBarcodeScanning.GetClient(
+ Platform.AppContext,
+ new GmsBarcodeScannerOptions.Builder()
+ .AllowManualInput()
+ .EnableAutoZoom()
+ .SetBarcodeFormats(Barcode.FormatAllFormats)
+ .Build());
+
+ public async Task ScanAsync()
+ {
+ var taskCompletionSource = new TaskCompletionSource();
+ var barcodeResultListener = new OnBarcodeResultListener(taskCompletionSource);
+ using var task = barcodeScanner.StartScan()
+ .AddOnCompleteListener(barcodeResultListener);
+ return await taskCompletionSource.Task;
+ }
+
+ public void Dispose()
+ {
+ barcodeScanner.Dispose();
+ }
+}
diff --git a/MauiBarcode/Platforms/Android/OnBarcodeResultListener.cs b/MauiBarcode/Platforms/Android/OnBarcodeResultListener.cs
new file mode 100644
index 00000000..d378cd7d
--- /dev/null
+++ b/MauiBarcode/Platforms/Android/OnBarcodeResultListener.cs
@@ -0,0 +1,25 @@
+namespace MauiBarcode;
+
+using Android.Gms.Tasks;
+using Android.Runtime;
+using Java.Lang;
+using Xamarin.Google.MLKit.Vision.Barcode.Common;
+
+public class OnBarcodeResultListener(TaskCompletionSource taskCompletionSource) : Object, IOnCompleteListener
+{
+ public void OnComplete(Task task)
+ {
+ if (task.IsSuccessful)
+ {
+ taskCompletionSource.SetResult(task.Result.JavaCast());
+ }
+ else if (task.IsCanceled)
+ {
+ taskCompletionSource.SetResult(null);
+ }
+ else
+ {
+ taskCompletionSource.SetException(task.Exception);
+ }
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/Android/Resources/values/colors.xml b/MauiBarcode/Platforms/Android/Resources/values/colors.xml
new file mode 100644
index 00000000..c04d7492
--- /dev/null
+++ b/MauiBarcode/Platforms/Android/Resources/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #512BD4
+ #2B0B98
+ #2B0B98
+
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/MacCatalyst/AppDelegate.cs b/MauiBarcode/Platforms/MacCatalyst/AppDelegate.cs
new file mode 100644
index 00000000..d852cb57
--- /dev/null
+++ b/MauiBarcode/Platforms/MacCatalyst/AppDelegate.cs
@@ -0,0 +1,9 @@
+namespace MauiBarcode;
+
+using Foundation;
+
+[Register("AppDelegate")]
+public class AppDelegate : MauiUIApplicationDelegate
+{
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/MacCatalyst/Entitlements.plist b/MauiBarcode/Platforms/MacCatalyst/Entitlements.plist
new file mode 100644
index 00000000..de4adc94
--- /dev/null
+++ b/MauiBarcode/Platforms/MacCatalyst/Entitlements.plist
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ com.apple.security.app-sandbox
+
+
+ com.apple.security.network.client
+
+
+
+
diff --git a/MauiBarcode/Platforms/MacCatalyst/Info.plist b/MauiBarcode/Platforms/MacCatalyst/Info.plist
new file mode 100644
index 00000000..b42d54e1
--- /dev/null
+++ b/MauiBarcode/Platforms/MacCatalyst/Info.plist
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UIDeviceFamily
+
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ XSAppIconAssets
+ Assets.xcassets/appicon.appiconset
+ NSCameraUsageDescription
+ PROVIDE YOUR REASON HERE
+
+
diff --git a/MauiBarcode/Platforms/MacCatalyst/Program.cs b/MauiBarcode/Platforms/MacCatalyst/Program.cs
new file mode 100644
index 00000000..ee860172
--- /dev/null
+++ b/MauiBarcode/Platforms/MacCatalyst/Program.cs
@@ -0,0 +1,15 @@
+namespace MauiBarcode;
+
+using ObjCRuntime;
+using UIKit;
+
+public class Program
+{
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, typeof(AppDelegate));
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/Tizen/Main.cs b/MauiBarcode/Platforms/Tizen/Main.cs
new file mode 100644
index 00000000..52faba10
--- /dev/null
+++ b/MauiBarcode/Platforms/Tizen/Main.cs
@@ -0,0 +1,17 @@
+namespace MauiBarcode
+{
+ using System;
+ using Microsoft.Maui;
+ using Microsoft.Maui.Hosting;
+
+ internal class Program : MauiApplication
+ {
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+
+ static void Main(string[] args)
+ {
+ var app = new Program();
+ app.Run(args);
+ }
+ }
+}
diff --git a/MauiBarcode/Platforms/Tizen/tizen-manifest.xml b/MauiBarcode/Platforms/Tizen/tizen-manifest.xml
new file mode 100644
index 00000000..5cac2153
--- /dev/null
+++ b/MauiBarcode/Platforms/Tizen/tizen-manifest.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ maui-appicon-placeholder
+
+
+
+
+ http://tizen.org/privilege/internet
+
+
+
+
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/Windows/App.xaml b/MauiBarcode/Platforms/Windows/App.xaml
new file mode 100644
index 00000000..61751bfa
--- /dev/null
+++ b/MauiBarcode/Platforms/Windows/App.xaml
@@ -0,0 +1,8 @@
+
+
+
diff --git a/MauiBarcode/Platforms/Windows/App.xaml.cs b/MauiBarcode/Platforms/Windows/App.xaml.cs
new file mode 100644
index 00000000..e72cd280
--- /dev/null
+++ b/MauiBarcode/Platforms/Windows/App.xaml.cs
@@ -0,0 +1,23 @@
+// To learn more about WinUI, the WinUI project structure,
+// and more about our project templates, see: http://aka.ms/winui-project-info.
+
+namespace MauiBarcode.WinUI;
+
+using Microsoft.UI.Xaml;
+
+///
+/// Provides application-specific behavior to supplement the default Application class.
+///
+public partial class App : MauiWinUIApplication
+{
+ ///
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ ///
+ public App()
+ {
+ this.InitializeComponent();
+ }
+
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/Windows/Package.appxmanifest b/MauiBarcode/Platforms/Windows/Package.appxmanifest
new file mode 100644
index 00000000..eb1df261
--- /dev/null
+++ b/MauiBarcode/Platforms/Windows/Package.appxmanifest
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+ $placeholder$
+ User Name
+ $placeholder$.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MauiBarcode/Platforms/Windows/app.manifest b/MauiBarcode/Platforms/Windows/app.manifest
new file mode 100644
index 00000000..ba06bd4d
--- /dev/null
+++ b/MauiBarcode/Platforms/Windows/app.manifest
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+ true/PM
+ PerMonitorV2, PerMonitor
+
+
+
diff --git a/MauiBarcode/Platforms/iOS/AppDelegate.cs b/MauiBarcode/Platforms/iOS/AppDelegate.cs
new file mode 100644
index 00000000..d852cb57
--- /dev/null
+++ b/MauiBarcode/Platforms/iOS/AppDelegate.cs
@@ -0,0 +1,9 @@
+namespace MauiBarcode;
+
+using Foundation;
+
+[Register("AppDelegate")]
+public class AppDelegate : MauiUIApplicationDelegate
+{
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
\ No newline at end of file
diff --git a/MauiBarcode/Platforms/iOS/Info.plist b/MauiBarcode/Platforms/iOS/Info.plist
new file mode 100644
index 00000000..f9189abe
--- /dev/null
+++ b/MauiBarcode/Platforms/iOS/Info.plist
@@ -0,0 +1,34 @@
+
+
+
+
+ LSRequiresIPhoneOS
+
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ XSAppIconAssets
+ Assets.xcassets/appicon.appiconset
+ NSCameraUsageDescription
+ PROVIDE YOUR REASON HERE
+
+
diff --git a/MauiBarcode/Platforms/iOS/Program.cs b/MauiBarcode/Platforms/iOS/Program.cs
new file mode 100644
index 00000000..ee860172
--- /dev/null
+++ b/MauiBarcode/Platforms/iOS/Program.cs
@@ -0,0 +1,15 @@
+namespace MauiBarcode;
+
+using ObjCRuntime;
+using UIKit;
+
+public class Program
+{
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, typeof(AppDelegate));
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/Properties/launchSettings.json b/MauiBarcode/Properties/launchSettings.json
new file mode 100644
index 00000000..edf8aadc
--- /dev/null
+++ b/MauiBarcode/Properties/launchSettings.json
@@ -0,0 +1,8 @@
+{
+ "profiles": {
+ "Windows Machine": {
+ "commandName": "MsixPackage",
+ "nativeDebugging": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/MauiBarcode/README.md b/MauiBarcode/README.md
new file mode 100644
index 00000000..253a6eb4
--- /dev/null
+++ b/MauiBarcode/README.md
@@ -0,0 +1,7 @@
+# .NET MAUI Barcode Scanner
+
+[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
+
+Article: https://vladislavantonyuk.github.io/articles/Various-methods-for-barcode-scanning-in-.NET-MAUI
+
+[![Stand With Ukraine](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7)](https://stand-with-ukraine.pp.ua)
\ No newline at end of file
diff --git a/MauiBarcode/README.mdpp b/MauiBarcode/README.mdpp
new file mode 100644
index 00000000..82e31ac8
--- /dev/null
+++ b/MauiBarcode/README.mdpp
@@ -0,0 +1,7 @@
+# .NET MAUI Barcode Scanner
+
+!INCLUDE "./md/header.mdpp"
+
+Article: https://vladislavantonyuk.github.io/articles/Various-methods-for-barcode-scanning-in-.NET-MAUI
+
+!INCLUDE "./md/footer.mdpp"
\ No newline at end of file
diff --git a/MauiBarcode/Resources/AppIcon/appicon.svg b/MauiBarcode/Resources/AppIcon/appicon.svg
new file mode 100644
index 00000000..9d63b651
--- /dev/null
+++ b/MauiBarcode/Resources/AppIcon/appicon.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/MauiBarcode/Resources/AppIcon/appiconfg.svg b/MauiBarcode/Resources/AppIcon/appiconfg.svg
new file mode 100644
index 00000000..21dfb25f
--- /dev/null
+++ b/MauiBarcode/Resources/AppIcon/appiconfg.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/MauiBarcode/Resources/Splash/splash.svg b/MauiBarcode/Resources/Splash/splash.svg
new file mode 100644
index 00000000..21dfb25f
--- /dev/null
+++ b/MauiBarcode/Resources/Splash/splash.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/MauiBarcode/Resources/Styles/Colors.xaml b/MauiBarcode/Resources/Styles/Colors.xaml
new file mode 100644
index 00000000..30307a5d
--- /dev/null
+++ b/MauiBarcode/Resources/Styles/Colors.xaml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+ #512BD4
+ #ac99ea
+ #242424
+ #DFD8F7
+ #9880e5
+ #2B0B98
+
+ White
+ Black
+ #D600AA
+ #190649
+ #1f1f1f
+
+ #E1E1E1
+ #C8C8C8
+ #ACACAC
+ #919191
+ #6E6E6E
+ #404040
+ #212121
+ #141414
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MauiBarcode/Resources/Styles/Styles.xaml b/MauiBarcode/Resources/Styles/Styles.xaml
new file mode 100644
index 00000000..19ceac51
--- /dev/null
+++ b/MauiBarcode/Resources/Styles/Styles.xaml
@@ -0,0 +1,426 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MauiBarcode/ZxingCameraPage.xaml b/MauiBarcode/ZxingCameraPage.xaml
new file mode 100644
index 00000000..820511ec
--- /dev/null
+++ b/MauiBarcode/ZxingCameraPage.xaml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/MauiBarcode/ZxingCameraPage.xaml.cs b/MauiBarcode/ZxingCameraPage.xaml.cs
new file mode 100644
index 00000000..305f3c7c
--- /dev/null
+++ b/MauiBarcode/ZxingCameraPage.xaml.cs
@@ -0,0 +1,69 @@
+namespace MauiBarcode;
+
+using Camera.MAUI;
+using Camera.MAUI.ZXing;
+using Camera.MAUI.ZXingHelper;
+using CommunityToolkit.Maui.Alerts;
+using CommunityToolkit.Maui.Core;
+
+public partial class ZxingCameraPage : ContentPage
+{
+ public ZxingCameraPage()
+ {
+ InitializeComponent();
+ ZxingCameraView.BarCodeOptions = new BarcodeDecodeOptions
+ {
+ AutoRotate = true,
+ PossibleFormats = [BarcodeFormat.QR_CODE],
+ };
+ ZxingCameraView.BarCodeDecoder = new ZXingBarcodeDecoder();
+ }
+
+ private async void ZxingCameraView_CamerasLoaded(object? sender, EventArgs e)
+ {
+ await StartCamera();
+ }
+
+ private async void ZxingCameraViewOnBarcodeDetected(object sender, BarcodeEventArgs args)
+ {
+ foreach (var result in args.Result)
+ {
+ await MainThread.InvokeOnMainThreadAsync(async () =>
+ {
+ await Toast.Make(result.Text, ToastDuration.Long).Show();
+ });
+ }
+ }
+
+ protected override async void OnAppearing()
+ {
+ base.OnAppearing();
+ ZxingCameraView.BarcodeDetected += ZxingCameraViewOnBarcodeDetected;
+ ZxingCameraView.CamerasLoaded += ZxingCameraView_CamerasLoaded;
+ if (ZxingCameraView.NumCamerasDetected > 0)
+ {
+ await StartCamera();
+ }
+ }
+
+ protected override void OnDisappearing()
+ {
+ ZxingCameraView.BarcodeDetected -= ZxingCameraViewOnBarcodeDetected;
+ ZxingCameraView.CamerasLoaded -= ZxingCameraView_CamerasLoaded;
+
+ base.OnDisappearing();
+ }
+
+ async Task StartCamera()
+ {
+#if WINDOWS
+ ZxingCameraView.Camera = ZxingCameraView.Cameras.FirstOrDefault();
+#else
+ ZxingCameraView.Camera = ZxingCameraView.Cameras.FirstOrDefault(x => x.Position != CameraPosition.Front);
+#endif
+ await MainThread.InvokeOnMainThreadAsync(async () =>
+ {
+ await ZxingCameraView.StartCameraAsync();
+ });
+ }
+}
\ No newline at end of file
diff --git a/MauiBlazorPhotoGallery/README.md b/MauiBlazorPhotoGallery/README.md
index 3210f5c7..9d500e45 100644
--- a/MauiBlazorPhotoGallery/README.md
+++ b/MauiBlazorPhotoGallery/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
+Article: https://vladislavantonyuk.github.io/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
## Images
diff --git a/MauiBlazorPhotoGallery/README.mdpp b/MauiBlazorPhotoGallery/README.mdpp
index 436b24da..8053370f 100644
--- a/MauiBlazorPhotoGallery/README.mdpp
+++ b/MauiBlazorPhotoGallery/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
+Article: https://vladislavantonyuk.github.io/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
## Images
diff --git a/MauiBlazorPhotoGallery/Shared/MainLayout.razor b/MauiBlazorPhotoGallery/Shared/MainLayout.razor
index fa685730..578d5f95 100644
--- a/MauiBlazorPhotoGallery/Shared/MainLayout.razor
+++ b/MauiBlazorPhotoGallery/Shared/MainLayout.razor
@@ -5,7 +5,7 @@
diff --git a/MauiCaptcha/README.md b/MauiCaptcha/README.md
index f51a5317..246bbf7e 100644
--- a/MauiCaptcha/README.md
+++ b/MauiCaptcha/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Integrating-captcha-into-a-.NET-MAUI-application
+Article: https://vladislavantonyuk.github.io/articles/Integrating-captcha-into-a-.NET-MAUI-application
## Images
diff --git a/MauiCaptcha/README.mdpp b/MauiCaptcha/README.mdpp
index 2b5d762b..e70912b5 100644
--- a/MauiCaptcha/README.mdpp
+++ b/MauiCaptcha/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Integrating-captcha-into-a-.NET-MAUI-application
+Article: https://vladislavantonyuk.github.io/articles/Integrating-captcha-into-a-.NET-MAUI-application
## Images
diff --git a/MauiDraggableView/README.md b/MauiDraggableView/README.md
index 8ce0cd7f..b894545e 100644
--- a/MauiDraggableView/README.md
+++ b/MauiDraggableView/README.md
@@ -2,6 +2,6 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
+Article: https://vladislavantonyuk.github.io/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
[![Stand With Ukraine](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7)](https://stand-with-ukraine.pp.ua)
\ No newline at end of file
diff --git a/MauiDraggableView/README.mdpp b/MauiDraggableView/README.mdpp
index 32db2da1..d13905cc 100644
--- a/MauiDraggableView/README.mdpp
+++ b/MauiDraggableView/README.mdpp
@@ -2,6 +2,6 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
+Article: https://vladislavantonyuk.github.io/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
!INCLUDE "./md/footer.mdpp"
\ No newline at end of file
diff --git a/MauiDynamicConfiguration/README.md b/MauiDynamicConfiguration/README.md
index ec7ffb8f..47e1a522 100644
--- a/MauiDynamicConfiguration/README.md
+++ b/MauiDynamicConfiguration/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Dynamic-configuration-in-.NET-MAUI-application
+Article: https://vladislavantonyuk.github.io/articles/Dynamic-configuration-in-.NET-MAUI-application
## Images
diff --git a/MauiDynamicConfiguration/README.mdpp b/MauiDynamicConfiguration/README.mdpp
index 82fc2f21..72614979 100644
--- a/MauiDynamicConfiguration/README.mdpp
+++ b/MauiDynamicConfiguration/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Dynamic-configuration-in-.NET-MAUI-application
+Article: https://vladislavantonyuk.github.io/articles/Dynamic-configuration-in-.NET-MAUI-application
## Images
diff --git a/MauiImageEffects/README.md b/MauiImageEffects/README.md
index a62fbffd..c71661bc 100644
--- a/MauiImageEffects/README.md
+++ b/MauiImageEffects/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-beautiful-image-effects-using-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Creating-beautiful-image-effects-using-.NET-MAUI
## Images
diff --git a/MauiImageEffects/README.mdpp b/MauiImageEffects/README.mdpp
index a289b369..6754c8fa 100644
--- a/MauiImageEffects/README.mdpp
+++ b/MauiImageEffects/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-beautiful-image-effects-using-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Creating-beautiful-image-effects-using-.NET-MAUI
## Images
diff --git a/MauiLocalization/README.md b/MauiLocalization/README.md
index 06264a48..f89ea096 100644
--- a/MauiLocalization/README.md
+++ b/MauiLocalization/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Localize-.NET-MAUI-application
+Article: https://vladislavantonyuk.github.io/articles/Localize-.NET-MAUI-application
## Images
diff --git a/MauiLocalization/README.mdpp b/MauiLocalization/README.mdpp
index c35acca9..a5aeb881 100644
--- a/MauiLocalization/README.mdpp
+++ b/MauiLocalization/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Localize-.NET-MAUI-application
+Article: https://vladislavantonyuk.github.io/articles/Localize-.NET-MAUI-application
## Images
diff --git a/MauiMaps/README.md b/MauiMaps/README.md
index d93e0cb9..bd8226a1 100644
--- a/MauiMaps/README.md
+++ b/MauiMaps/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Customize-map-pins-in-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Customize-map-pins-in-.NET-MAUI
## Images
diff --git a/MauiMaps/README.mdpp b/MauiMaps/README.mdpp
index 76be32c8..793962d6 100644
--- a/MauiMaps/README.mdpp
+++ b/MauiMaps/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Customize-map-pins-in-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Customize-map-pins-in-.NET-MAUI
## Images
diff --git a/MauiMarkdown/README.md b/MauiMarkdown/README.md
index 1530cbea..e4353cc4 100644
--- a/MauiMarkdown/README.md
+++ b/MauiMarkdown/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-Markdown-control-with-.NET-MAUI-Graphics
+Article: https://vladislavantonyuk.github.io/articles/Creating-Markdown-control-with-.NET-MAUI-Graphics
## Images
diff --git a/MauiMarkdown/README.mdpp b/MauiMarkdown/README.mdpp
index 3ec425f8..fa3b9482 100644
--- a/MauiMarkdown/README.mdpp
+++ b/MauiMarkdown/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Creating-Markdown-control-with-.NET-MAUI-Graphics
+Article: https://vladislavantonyuk.github.io/articles/Creating-Markdown-control-with-.NET-MAUI-Graphics
## Images
diff --git a/MauiMultiWindow/README.md b/MauiMultiWindow/README.md
index d20e8f38..981a6549 100644
--- a/MauiMultiWindow/README.md
+++ b/MauiMultiWindow/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/.NET-MAUI-Multi-Window-support
+Article: https://vladislavantonyuk.github.io/articles/.NET-MAUI-Multi-Window-support
## Images
diff --git a/MauiMultiWindow/README.mdpp b/MauiMultiWindow/README.mdpp
index 397afc04..4fbbf784 100644
--- a/MauiMultiWindow/README.mdpp
+++ b/MauiMultiWindow/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/.NET-MAUI-Multi-Window-support
+Article: https://vladislavantonyuk.github.io/articles/.NET-MAUI-Multi-Window-support
## Images
diff --git a/MauiNotifications/README.md b/MauiNotifications/README.md
index 46070d2f..f6dea6ce 100644
--- a/MauiNotifications/README.md
+++ b/MauiNotifications/README.md
@@ -4,4 +4,12 @@
Article: https://vladislavantonyuk.github.io/articles/.NET-MAUI-Push-Notifications-using-Azure-Notification-Hub.-Part-2.-Setup-.NET-MAUI/
+### Changes needed to make receiving notifications work on Android
+- `Platforms\Android\google-services.json` - overwrite with your own
+- `MauiNotifications.csproj` - replace `` with your own, likely something like `com.CompanyName.MauiNotifications`
+- `MauiProgram.cs`
+ - `YOUR CONNECTION STRING` - replace with your Azure Notification Hub connection string from "DefaultListenSharedAccessSignature".
+ It should look something like this: `Endpoint=sb://.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=`
+ - `YOUR HUB NAME` - replace with your Azure Notification Hub name (just the hub name, not the namespace)
+
[![Stand With Ukraine](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7)](https://stand-with-ukraine.pp.ua)
\ No newline at end of file
diff --git a/MauiNotifications/README.mdpp b/MauiNotifications/README.mdpp
index e3ea4bec..6e8ee94a 100644
--- a/MauiNotifications/README.mdpp
+++ b/MauiNotifications/README.mdpp
@@ -4,4 +4,12 @@
Article: https://vladislavantonyuk.github.io/articles/.NET-MAUI-Push-Notifications-using-Azure-Notification-Hub.-Part-2.-Setup-.NET-MAUI/
+### Changes needed to make receiving notifications work on Android
+- `Platforms\Android\google-services.json` - overwrite with your own
+- `MauiNotifications.csproj` - replace `` with your own, likely something like `com.CompanyName.MauiNotifications`
+- `MauiProgram.cs`
+ - `YOUR CONNECTION STRING` - replace with your Azure Notification Hub connection string from "DefaultListenSharedAccessSignature".
+ It should look something like this: `Endpoint=sb://.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=`
+ - `YOUR HUB NAME` - replace with your Azure Notification Hub name (just the hub name, not the namespace)
+
!INCLUDE "./md/footer.mdpp"
\ No newline at end of file
diff --git a/MauiPaint/MainPageViewModel.cs b/MauiPaint/MainPageViewModel.cs
index d6796a8b..07029313 100644
--- a/MauiPaint/MainPageViewModel.cs
+++ b/MauiPaint/MainPageViewModel.cs
@@ -69,7 +69,7 @@ void PreviewImage()
[RelayCommand]
Task About()
{
- return Launcher.OpenAsync("https://vladislavantonyuk.azurewebsites.net");
+ return Launcher.OpenAsync("https://vladislavantonyuk.github.io");
}
[RelayCommand]
diff --git a/MauiPaint/README.md b/MauiPaint/README.md
index 678df7a6..48be7898 100644
--- a/MauiPaint/README.md
+++ b/MauiPaint/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Drawing-View-in-Xamarin-Community-Toolkit
+Article: https://vladislavantonyuk.github.io/articles/Drawing-View-in-Xamarin-Community-Toolkit
Article: https://vladislavantonyuk.github.io/articles/Drag-and-Drop-any-content-to-a-.NET-MAUI-application/
diff --git a/MauiPaint/README.mdpp b/MauiPaint/README.mdpp
index 1d89c515..12f27efd 100644
--- a/MauiPaint/README.mdpp
+++ b/MauiPaint/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Drawing-View-in-Xamarin-Community-Toolkit
+Article: https://vladislavantonyuk.github.io/articles/Drawing-View-in-Xamarin-Community-Toolkit
Article: https://vladislavantonyuk.github.io/articles/Drag-and-Drop-any-content-to-a-.NET-MAUI-application/
diff --git a/MauiSamples.sln b/MauiSamples.sln
index 4f4ffc78..06000832 100644
--- a/MauiSamples.sln
+++ b/MauiSamples.sln
@@ -61,11 +61,13 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ShareExtension", "ShareExtension", "{937CCB6F-427B-415E-813E-025AF73741CC}"
ProjectSection(SolutionItems) = preProject
iOSExtensions\ShareExtension\README.md = iOSExtensions\ShareExtension\README.md
+ iOSExtensions\ShareExtension\README.mdpp = iOSExtensions\ShareExtension\README.mdpp
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JokeApp", "JokeApp", "{D7258BEF-416D-4F3E-A359-87BD545A84A9}"
ProjectSection(SolutionItems) = preProject
iOSExtensions\JokeApp\README.md = iOSExtensions\JokeApp\README.md
+ iOSExtensions\JokeApp\README.mdpp = iOSExtensions\JokeApp\README.mdpp
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JokeAppWidget", "iOSExtensions\JokeApp\JokeAppWidget\JokeAppWidget.csproj", "{8CE62F62-CE5D-48F4-8754-3F07FF72C3C2}"
@@ -145,7 +147,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Balloon", "AndroidBindableL
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample", "AndroidBindableLibraries\Sample\Sample.csproj", "{8782844B-0C34-42AE-8BF9-E2DB2CC95495}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MauiNotifications", "MauiNotifications\MauiNotifications.csproj", "{D10497DF-0FDA-4F52-9C30-8F73C5FCC459}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiNotifications", "MauiNotifications\MauiNotifications.csproj", "{D10497DF-0FDA-4F52-9C30-8F73C5FCC459}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiBarcode", "MauiBarcode\MauiBarcode.csproj", "{584461EF-67BC-4D25-9438-0EE988136D97}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -445,6 +449,12 @@ Global
{D10497DF-0FDA-4F52-9C30-8F73C5FCC459}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D10497DF-0FDA-4F52-9C30-8F73C5FCC459}.Release|Any CPU.Build.0 = Release|Any CPU
{D10497DF-0FDA-4F52-9C30-8F73C5FCC459}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {584461EF-67BC-4D25-9438-0EE988136D97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {584461EF-67BC-4D25-9438-0EE988136D97}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {584461EF-67BC-4D25-9438-0EE988136D97}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {584461EF-67BC-4D25-9438-0EE988136D97}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {584461EF-67BC-4D25-9438-0EE988136D97}.Release|Any CPU.Build.0 = Release|Any CPU
+ {584461EF-67BC-4D25-9438-0EE988136D97}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/MauiShellCustomization/README.md b/MauiShellCustomization/README.md
index 1584d192..58f44d45 100644
--- a/MauiShellCustomization/README.md
+++ b/MauiShellCustomization/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Customizing-.NET-MAUI-Shell
+Article: https://vladislavantonyuk.github.io/articles/Customizing-.NET-MAUI-Shell
## Images
diff --git a/MauiShellCustomization/README.mdpp b/MauiShellCustomization/README.mdpp
index aa6e93ab..6b9c96cc 100644
--- a/MauiShellCustomization/README.mdpp
+++ b/MauiShellCustomization/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Customizing-.NET-MAUI-Shell
+Article: https://vladislavantonyuk.github.io/articles/Customizing-.NET-MAUI-Shell
## Images
diff --git a/MauiSpeech/README.md b/MauiSpeech/README.md
index 208c4285..620fd39c 100644
--- a/MauiSpeech/README.md
+++ b/MauiSpeech/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Speech-recognition-with-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Speech-recognition-with-.NET-MAUI
## Images
diff --git a/MauiSpeech/README.mdpp b/MauiSpeech/README.mdpp
index 25c85277..2d774818 100644
--- a/MauiSpeech/README.mdpp
+++ b/MauiSpeech/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Speech-recognition-with-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Speech-recognition-with-.NET-MAUI
## Images
diff --git a/MauiTabView/README.md b/MauiTabView/README.md
index d838414c..eb9291b5 100644
--- a/MauiTabView/README.md
+++ b/MauiTabView/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Mastering-Composite-Controls-in-.NET-MAUI:-Building-a-TabView-from-Scratch
+Article: https://vladislavantonyuk.github.io/articles/Mastering-Composite-Controls-in-.NET-MAUI:-Building-a-TabView-from-Scratch
## Images
diff --git a/MauiTabView/README.mdpp b/MauiTabView/README.mdpp
index 41481e3f..c7abc8f1 100644
--- a/MauiTabView/README.mdpp
+++ b/MauiTabView/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Mastering-Composite-Controls-in-.NET-MAUI:-Building-a-TabView-from-Scratch
+Article: https://vladislavantonyuk.github.io/articles/Mastering-Composite-Controls-in-.NET-MAUI:-Building-a-TabView-from-Scratch
## Images
diff --git a/MauiWorkflowBuilder/README.md b/MauiWorkflowBuilder/README.md
index 8fb3e3a4..6d503072 100644
--- a/MauiWorkflowBuilder/README.md
+++ b/MauiWorkflowBuilder/README.md
@@ -2,6 +2,6 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
+Article: https://vladislavantonyuk.github.io/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
[![Stand With Ukraine](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7)](https://stand-with-ukraine.pp.ua)
\ No newline at end of file
diff --git a/MauiWorkflowBuilder/README.mdpp b/MauiWorkflowBuilder/README.mdpp
index 1fab5b4c..b268a4e9 100644
--- a/MauiWorkflowBuilder/README.mdpp
+++ b/MauiWorkflowBuilder/README.mdpp
@@ -2,6 +2,6 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
+Article: https://vladislavantonyuk.github.io/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
!INCLUDE "./md/footer.mdpp"
\ No newline at end of file
diff --git a/README.md b/README.md
index 8662b304..6f68ead3 100644
--- a/README.md
+++ b/README.md
@@ -81,4 +81,6 @@ The development guide can be found at [SETUP.md](./SETUP.md).
1. [MauiNotifications](MauiNotifications) - .NET MAUI Push Notifications using Azure Notification Hub.
+1. [MauiBarcode](MauiBarcode) - .NET MAUI Barcode Scanner.
+
[![Stand With Ukraine](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7)](https://stand-with-ukraine.pp.ua)
\ No newline at end of file
diff --git a/README.mdpp b/README.mdpp
index d198ab28..edb9e495 100644
--- a/README.mdpp
+++ b/README.mdpp
@@ -81,4 +81,6 @@ The development guide can be found at [SETUP.md](./SETUP.md).
1. [MauiNotifications](MauiNotifications) - .NET MAUI Push Notifications using Azure Notification Hub.
+1. [MauiBarcode](MauiBarcode) - .NET MAUI Barcode Scanner.
+
!INCLUDE "md/footer.mdpp"
diff --git a/RepositoryContributors/README.md b/RepositoryContributors/README.md
index e9baf498..2a85802e 100644
--- a/RepositoryContributors/README.md
+++ b/RepositoryContributors/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
+Article: https://vladislavantonyuk.github.io/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
## Images
diff --git a/RepositoryContributors/README.mdpp b/RepositoryContributors/README.mdpp
index 32f4e508..ca79a8fe 100644
--- a/RepositoryContributors/README.mdpp
+++ b/RepositoryContributors/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
+Article: https://vladislavantonyuk.github.io/articles/Create-a-gallery-app-using-.NET-MAUI-Blazor
## Images
diff --git a/RepositoryContributors/Shared/MainLayout.razor b/RepositoryContributors/Shared/MainLayout.razor
index ec7a2836..0defc0d4 100644
--- a/RepositoryContributors/Shared/MainLayout.razor
+++ b/RepositoryContributors/Shared/MainLayout.razor
@@ -3,7 +3,7 @@
diff --git a/TutorialHelp/README.md b/TutorialHelp/README.md
index 019bff34..b75189b5 100644
--- a/TutorialHelp/README.md
+++ b/TutorialHelp/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Interactive-app-tutorial-in-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Interactive-app-tutorial-in-.NET-MAUI
![.NET MAUI Popup](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/articles/19/simple-popup.png)
diff --git a/TutorialHelp/README.mdpp b/TutorialHelp/README.mdpp
index 7e8979ed..b60a95d2 100644
--- a/TutorialHelp/README.mdpp
+++ b/TutorialHelp/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Interactive-app-tutorial-in-.NET-MAUI
+Article: https://vladislavantonyuk.github.io/articles/Interactive-app-tutorial-in-.NET-MAUI
![.NET MAUI Popup](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/articles/19/simple-popup.png)
diff --git a/iOSExtensions/JokeApp/README.md b/iOSExtensions/JokeApp/README.md
index 82f0a153..f2dba0f9 100644
--- a/iOSExtensions/JokeApp/README.md
+++ b/iOSExtensions/JokeApp/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Extend-.NET-MAUI-application-with-iOS-Extensions
+Article: https://vladislavantonyuk.github.io/articles/Extend-.NET-MAUI-application-with-iOS-Extensions
## Images
diff --git a/iOSExtensions/JokeApp/README.mdpp b/iOSExtensions/JokeApp/README.mdpp
index e48b5cc6..1e7e3cf1 100644
--- a/iOSExtensions/JokeApp/README.mdpp
+++ b/iOSExtensions/JokeApp/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Extend-.NET-MAUI-application-with-iOS-Extensions
+Article: https://vladislavantonyuk.github.io/articles/Extend-.NET-MAUI-application-with-iOS-Extensions
## Images
diff --git a/iOSExtensions/ShareExtension/AppContainer/MainPage.xaml.cs b/iOSExtensions/ShareExtension/AppContainer/MainPage.xaml.cs
index ae934961..8a56fb0b 100644
--- a/iOSExtensions/ShareExtension/AppContainer/MainPage.xaml.cs
+++ b/iOSExtensions/ShareExtension/AppContainer/MainPage.xaml.cs
@@ -9,6 +9,6 @@ public MainPage()
private async void OnClicked(object sender, EventArgs e)
{
- await Launcher.OpenAsync("https://vladislavantonyuk.azurewebsites.net/");
+ await Launcher.OpenAsync("https://vladislavantonyuk.github.io/");
}
}
\ No newline at end of file
diff --git a/iOSExtensions/ShareExtension/README.md b/iOSExtensions/ShareExtension/README.md
index 82f0a153..f2dba0f9 100644
--- a/iOSExtensions/ShareExtension/README.md
+++ b/iOSExtensions/ShareExtension/README.md
@@ -2,7 +2,7 @@
[![Buy Me A Coffee](https://ik.imagekit.io/VladislavAntonyuk/vladislavantonyuk/misc/bmc-button.png)](https://www.buymeacoffee.com/vlad.antonyuk)
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Extend-.NET-MAUI-application-with-iOS-Extensions
+Article: https://vladislavantonyuk.github.io/articles/Extend-.NET-MAUI-application-with-iOS-Extensions
## Images
diff --git a/iOSExtensions/ShareExtension/README.mdpp b/iOSExtensions/ShareExtension/README.mdpp
index e48b5cc6..1e7e3cf1 100644
--- a/iOSExtensions/ShareExtension/README.mdpp
+++ b/iOSExtensions/ShareExtension/README.mdpp
@@ -2,7 +2,7 @@
!INCLUDE "./md/header.mdpp"
-Article: https://vladislavantonyuk.azurewebsites.net/articles/Extend-.NET-MAUI-application-with-iOS-Extensions
+Article: https://vladislavantonyuk.github.io/articles/Extend-.NET-MAUI-application-with-iOS-Extensions
## Images