{
  "CONTRIBUTING.html": {
    "href": "CONTRIBUTING.html",
    "title": "Contributing to Bookmarkly | Bookmarkly Documentation",
    "summary": "Contributing to Bookmarkly Thank you for your interest in contributing to Bookmarkly! This guide will help you get started. Setting Up Your Development Environment Prerequisites .NET 10 SDK or later Windows 10/11 (required for building the full application) Git Initial Setup Clone the repository with submodules: git clone --recurse-submodules https://github.com/ScribblesByKK/Bookmarkly.git cd Bookmarkly If you've already cloned the repository without submodules, initialize them: git submodule update --init --recursive Restore dependencies: dotnet restore Working with Submodules This project uses the Megakat repository as a submodule for utility projects. Updating Submodules To update the submodule to the latest commit: git submodule update --remote Megakat After Pulling Changes If the submodule reference has been updated in the main repository: git pull git submodule update --init --recursive Building the Project The full application requires Windows to build: dotnet build For more details, see the build workflow. Running Tests Tests can be run on any platform: dotnet test Tests/ArchitectureTests/ArchitectureTests.csproj Making Changes Create a new branch for your changes: git checkout -b feature/your-feature-name Make your changes and commit them with clear, descriptive commit messages. Push your changes and create a pull request. Code Style This project uses .editorconfig to maintain consistent code style. Please ensure your IDE respects these settings. GitHub Actions Setup For repository maintainers: The GitHub Actions workflows require access to the private Megakat submodule. Required Secrets To enable the workflows to check out the Megakat submodule, you need to configure a Personal Access Token (PAT): Create a GitHub Personal Access Token with repo scope Add it as a repository secret named GH_PAT The workflows will use GH_PAT if available, otherwise they'll fall back to the default GITHUB_TOKEN (which may not have access to private submodules). Questions? If you have questions or need help, please open an issue on GitHub."
  },
  "README.html": {
    "href": "README.html",
    "title": "Bookmarkly | Bookmarkly Documentation",
    "summary": "Bookmarkly A bookmark management application for Windows. Features Bookmark management Windows App SDK integration MSIX packaging Development This project uses .NET 10 and Windows App SDK. Getting Started Clone the repository with submodules: git clone --recurse-submodules https://github.com/ScribblesByKK/Bookmarkly.git Or if you've already cloned the repository, initialize the submodules: git submodule update --init --recursive The Megakat submodule contains utility projects used by Bookmarkly. For more detailed setup and contribution guidelines, see CONTRIBUTING.md. Building The project requires Windows for building the full application. See the build workflow for details. Deployment Releases are automatically deployed to Cloudflare Pages CDN with a landing page. See Cloudflare CDN Setup for configuration instructions. Testing Tests can be run on any platform: dotnet test Tests/ArchitectureTests/ArchitectureTests.csproj License See LICENSE file for details."
  },
  "api/Bookmarkly.App.App.html": {
    "href": "api/Bookmarkly.App.App.html",
    "title": "Class App | Bookmarkly Documentation",
    "summary": "Class App Namespace Bookmarkly.App Assembly Bookmarkly.App.dll Provides application-specific behavior to supplement the default Application class. [WinRTRuntimeClassName(\"Microsoft.UI.Xaml.IApplicationOverrides\")] [WinRTExposedType(typeof(Bookmarkly_App_AppWinRTTypeDetails))] public class App : Application, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<Application> Inheritance object Application App Implements IWinRTObject IUnmanagedVirtualMethodTableProvider IDynamicInterfaceCastable IEquatable<Application> Inherited Members Application.As<I>() Application.Start(ApplicationInitializationCallback) Application.LoadComponent(object, Uri) Application.LoadComponent(object, Uri, ComponentResourceLocation) Application.FromAbi(nint) Application.Equals(Application) Application.Equals(object) Application.GetHashCode() Application.Exit() Application.IsOverridableInterface(Guid) Application.Current Application.DebugSettings Application.DispatcherShutdownMode Application.FocusVisualKind Application.HighContrastAdjustment Application.RequestedTheme Application.Resources Application.UnhandledException Application.ResourceManagerRequested object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors App() 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() Methods InitializeComponent() InitializeComponent() public void InitializeComponent() OnLaunched(LaunchActivatedEventArgs) Invoked when the application is launched. protected override void OnLaunched(LaunchActivatedEventArgs args) Parameters args LaunchActivatedEventArgs Details about the launch request and process."
  },
  "api/Bookmarkly.App.MainWindow.html": {
    "href": "api/Bookmarkly.App.MainWindow.html",
    "title": "Class MainWindow | Bookmarkly Documentation",
    "summary": "Class MainWindow Namespace Bookmarkly.App Assembly Bookmarkly.App.dll Main application window that hosts page navigation. public sealed class MainWindow : Window, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<Window> Inheritance object Window MainWindow Implements IWinRTObject IUnmanagedVirtualMethodTableProvider IDynamicInterfaceCastable IEquatable<Window> Inherited Members Window.As<I>() Window.FromAbi(nint) Window.Equals(Window) Window.Equals(object) Window.GetHashCode() Window.Activate() Window.Close() Window.SetTitleBar(UIElement) Window.Current Window.AppWindow Window.Bounds Window.Compositor Window.Content Window.CoreWindow Window.Dispatcher Window.DispatcherQueue Window.ExtendsContentIntoTitleBar Window.SystemBackdrop Window.Title Window.Visible Window.Activated Window.Closed Window.SizeChanged Window.VisibilityChanged object.Equals(object, object) object.GetType() object.ReferenceEquals(object, object) object.ToString() Constructors MainWindow() public MainWindow() Methods InitializeComponent() InitializeComponent() public void InitializeComponent()"
  },
  "api/Bookmarkly.App.Program.html": {
    "href": "api/Bookmarkly.App.Program.html",
    "title": "Class Program | Bookmarkly Documentation",
    "summary": "Class Program Namespace Bookmarkly.App Assembly Bookmarkly.App.dll Program class public static class Program Inheritance object Program Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString()"
  },
  "api/Bookmarkly.App.SignInPage.html": {
    "href": "api/Bookmarkly.App.SignInPage.html",
    "title": "Class SignInPage | Bookmarkly Documentation",
    "summary": "Class SignInPage Namespace Bookmarkly.App Assembly Bookmarkly.App.dll Sign-in page that allows users to authenticate with FreshRSS or Instapaper. [WinRTRuntimeClassName(\"Microsoft.UI.Xaml.IUIElementOverrides\")] [WinRTExposedType(typeof(Bookmarkly_App_SignInPageWinRTTypeDetails))] public sealed class SignInPage : Page, IEquatable<DependencyObject>, IAnimationObject, IVisualElement, IVisualElement2, IEquatable<UIElement>, IEquatable<FrameworkElement>, IEquatable<Control>, IEquatable<UserControl>, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<Page> Inheritance object DependencyObject UIElement FrameworkElement Control UserControl Page SignInPage Implements IEquatable<DependencyObject> IAnimationObject IVisualElement IVisualElement2 IEquatable<UIElement> IEquatable<FrameworkElement> IEquatable<Control> IEquatable<UserControl> IWinRTObject IUnmanagedVirtualMethodTableProvider IDynamicInterfaceCastable IEquatable<Page> Inherited Members Page.As<I>() Page.FromAbi(nint) Page.Equals(Page) Page.Equals(object) Page.GetHashCode() Page.BottomAppBarProperty Page.FrameProperty Page.TopAppBarProperty Page.BottomAppBar Page.Frame Page.NavigationCacheMode Page.TopAppBar UserControl.Equals(UserControl) UserControl.ContentProperty UserControl.Content Control.GetIsTemplateFocusTarget(FrameworkElement) Control.SetIsTemplateFocusTarget(FrameworkElement, bool) Control.GetIsTemplateKeyTipTarget(DependencyObject) Control.SetIsTemplateKeyTipTarget(DependencyObject, bool) Control.Equals(Control) Control.RemoveFocusEngagement() Control.ApplyTemplate() Control.BackgroundProperty Control.BackgroundSizingProperty Control.BorderBrushProperty Control.BorderThicknessProperty Control.CharacterSpacingProperty Control.CornerRadiusProperty Control.DefaultStyleKeyProperty Control.DefaultStyleResourceUriProperty Control.ElementSoundModeProperty Control.FontFamilyProperty Control.FontSizeProperty Control.FontStretchProperty Control.FontStyleProperty Control.FontWeightProperty Control.ForegroundProperty Control.HorizontalContentAlignmentProperty Control.IsEnabledProperty Control.IsFocusEngagedProperty Control.IsFocusEngagementEnabledProperty Control.IsTemplateFocusTargetProperty Control.IsTemplateKeyTipTargetProperty Control.IsTextScaleFactorEnabledProperty Control.PaddingProperty Control.RequiresPointerProperty Control.TabNavigationProperty Control.TemplateProperty Control.VerticalContentAlignmentProperty Control.Background Control.BackgroundSizing Control.BorderBrush Control.BorderThickness Control.CharacterSpacing Control.CornerRadius Control.DefaultStyleResourceUri Control.ElementSoundMode Control.FontFamily Control.FontSize Control.FontStretch Control.FontStyle Control.FontWeight Control.Foreground Control.HorizontalContentAlignment Control.IsEnabled Control.IsFocusEngaged Control.IsFocusEngagementEnabled Control.IsTextScaleFactorEnabled Control.Padding Control.RequiresPointer Control.TabNavigation Control.Template Control.VerticalContentAlignment Control.FocusDisengaged Control.FocusEngaged Control.IsEnabledChanged FrameworkElement.DeferTree(DependencyObject) FrameworkElement.Equals(FrameworkElement) FrameworkElement.FindName(string) FrameworkElement.SetBinding(DependencyProperty, BindingBase) FrameworkElement.GetBindingExpression(DependencyProperty) FrameworkElement.ActualHeightProperty FrameworkElement.ActualThemeProperty FrameworkElement.ActualWidthProperty FrameworkElement.AllowFocusOnInteractionProperty FrameworkElement.AllowFocusWhenDisabledProperty FrameworkElement.DataContextProperty FrameworkElement.FlowDirectionProperty FrameworkElement.FocusVisualMarginProperty FrameworkElement.FocusVisualPrimaryBrushProperty FrameworkElement.FocusVisualPrimaryThicknessProperty FrameworkElement.FocusVisualSecondaryBrushProperty FrameworkElement.FocusVisualSecondaryThicknessProperty FrameworkElement.HeightProperty FrameworkElement.HorizontalAlignmentProperty FrameworkElement.LanguageProperty FrameworkElement.MarginProperty FrameworkElement.MaxHeightProperty FrameworkElement.MaxWidthProperty FrameworkElement.MinHeightProperty FrameworkElement.MinWidthProperty FrameworkElement.NameProperty FrameworkElement.RequestedThemeProperty FrameworkElement.StyleProperty FrameworkElement.TagProperty FrameworkElement.VerticalAlignmentProperty FrameworkElement.WidthProperty FrameworkElement.ActualHeight FrameworkElement.ActualTheme FrameworkElement.ActualWidth FrameworkElement.AllowFocusOnInteraction FrameworkElement.AllowFocusWhenDisabled FrameworkElement.BaseUri FrameworkElement.DataContext FrameworkElement.FlowDirection FrameworkElement.FocusVisualMargin FrameworkElement.FocusVisualPrimaryBrush FrameworkElement.FocusVisualPrimaryThickness FrameworkElement.FocusVisualSecondaryBrush FrameworkElement.FocusVisualSecondaryThickness FrameworkElement.Height FrameworkElement.HorizontalAlignment FrameworkElement.IsLoaded FrameworkElement.Language FrameworkElement.Margin FrameworkElement.MaxHeight FrameworkElement.MaxWidth FrameworkElement.MinHeight FrameworkElement.MinWidth FrameworkElement.Name FrameworkElement.Parent FrameworkElement.RequestedTheme FrameworkElement.Resources FrameworkElement.Style FrameworkElement.Tag FrameworkElement.Triggers FrameworkElement.VerticalAlignment FrameworkElement.Width FrameworkElement.ActualThemeChanged FrameworkElement.DataContextChanged FrameworkElement.EffectiveViewportChanged FrameworkElement.LayoutUpdated FrameworkElement.Loaded FrameworkElement.Loading FrameworkElement.SizeChanged FrameworkElement.Unloaded UIElement.TryStartDirectManipulation(Pointer) UIElement.RegisterAsScrollPort(UIElement) UIElement.Equals(UIElement) UIElement.Measure(Size) UIElement.Arrange(Rect) UIElement.CapturePointer(Pointer) UIElement.ReleasePointerCapture(Pointer) UIElement.ReleasePointerCaptures() UIElement.AddHandler(RoutedEvent, object, bool) UIElement.RemoveHandler(RoutedEvent, object) UIElement.TransformToVisual(UIElement) UIElement.InvalidateMeasure() UIElement.InvalidateArrange() UIElement.UpdateLayout() UIElement.CancelDirectManipulations() UIElement.StartDragAsync(PointerPoint) UIElement.StartBringIntoView() UIElement.StartBringIntoView(BringIntoViewOptions) UIElement.TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs) UIElement.Focus(FocusState) UIElement.StartAnimation(ICompositionAnimationBase) UIElement.StopAnimation(ICompositionAnimationBase) UIElement.PopulatePropertyInfo(string, AnimationPropertyInfo) UIElement.GetVisualInternal() UIElement.AccessKeyProperty UIElement.AccessKeyScopeOwnerProperty UIElement.AllowDropProperty UIElement.BringIntoViewRequestedEvent UIElement.CacheModeProperty UIElement.CanBeScrollAnchorProperty UIElement.CanDragProperty UIElement.CharacterReceivedEvent UIElement.ClipProperty UIElement.CompositeModeProperty UIElement.ContextFlyoutProperty UIElement.ContextRequestedEvent UIElement.DoubleTappedEvent UIElement.DragEnterEvent UIElement.DragLeaveEvent UIElement.DragOverEvent UIElement.DropEvent UIElement.ExitDisplayModeOnAccessKeyInvokedProperty UIElement.FocusStateProperty UIElement.GettingFocusEvent UIElement.HighContrastAdjustmentProperty UIElement.HoldingEvent UIElement.IsAccessKeyScopeProperty UIElement.IsDoubleTapEnabledProperty UIElement.IsHitTestVisibleProperty UIElement.IsHoldingEnabledProperty UIElement.IsRightTapEnabledProperty UIElement.IsTabStopProperty UIElement.IsTapEnabledProperty UIElement.KeyDownEvent UIElement.KeyTipHorizontalOffsetProperty UIElement.KeyTipPlacementModeProperty UIElement.KeyTipTargetProperty UIElement.KeyTipVerticalOffsetProperty UIElement.KeyUpEvent UIElement.KeyboardAcceleratorPlacementModeProperty UIElement.KeyboardAcceleratorPlacementTargetProperty UIElement.LightsProperty UIElement.LosingFocusEvent UIElement.ManipulationCompletedEvent UIElement.ManipulationDeltaEvent UIElement.ManipulationInertiaStartingEvent UIElement.ManipulationModeProperty UIElement.ManipulationStartedEvent UIElement.ManipulationStartingEvent UIElement.NoFocusCandidateFoundEvent UIElement.OpacityProperty UIElement.PointerCanceledEvent UIElement.PointerCaptureLostEvent UIElement.PointerCapturesProperty UIElement.PointerEnteredEvent UIElement.PointerExitedEvent UIElement.PointerMovedEvent UIElement.PointerPressedEvent UIElement.PointerReleasedEvent UIElement.PointerWheelChangedEvent UIElement.PreviewKeyDownEvent UIElement.PreviewKeyUpEvent UIElement.ProjectionProperty UIElement.RenderTransformOriginProperty UIElement.RenderTransformProperty UIElement.RightTappedEvent UIElement.ShadowProperty UIElement.TabFocusNavigationProperty UIElement.TabIndexProperty UIElement.TappedEvent UIElement.Transform3DProperty UIElement.TransitionsProperty UIElement.UseLayoutRoundingProperty UIElement.UseSystemFocusVisualsProperty UIElement.VisibilityProperty UIElement.XYFocusDownNavigationStrategyProperty UIElement.XYFocusDownProperty UIElement.XYFocusKeyboardNavigationProperty UIElement.XYFocusLeftNavigationStrategyProperty UIElement.XYFocusLeftProperty UIElement.XYFocusRightNavigationStrategyProperty UIElement.XYFocusRightProperty UIElement.XYFocusUpNavigationStrategyProperty UIElement.XYFocusUpProperty UIElement.AccessKey UIElement.AccessKeyScopeOwner UIElement.ActualOffset UIElement.ActualSize UIElement.AllowDrop UIElement.CacheMode UIElement.CanBeScrollAnchor UIElement.CanDrag UIElement.CenterPoint UIElement.Clip UIElement.CompositeMode UIElement.ContextFlyout UIElement.DesiredSize UIElement.ExitDisplayModeOnAccessKeyInvoked UIElement.FocusState UIElement.HighContrastAdjustment UIElement.IsAccessKeyScope UIElement.IsDoubleTapEnabled UIElement.IsHitTestVisible UIElement.IsHoldingEnabled UIElement.IsRightTapEnabled UIElement.IsTabStop UIElement.IsTapEnabled UIElement.KeyTipHorizontalOffset UIElement.KeyTipPlacementMode UIElement.KeyTipTarget UIElement.KeyTipVerticalOffset UIElement.KeyboardAcceleratorPlacementMode UIElement.KeyboardAcceleratorPlacementTarget UIElement.KeyboardAccelerators UIElement.Lights UIElement.ManipulationMode UIElement.Opacity UIElement.OpacityTransition UIElement.PointerCaptures UIElement.Projection UIElement.RasterizationScale UIElement.RenderSize UIElement.RenderTransform UIElement.RenderTransformOrigin UIElement.Rotation UIElement.RotationAxis UIElement.RotationTransition UIElement.Scale UIElement.ScaleTransition UIElement.Shadow UIElement.TabFocusNavigation UIElement.TabIndex UIElement.Transform3D UIElement.TransformMatrix UIElement.Transitions UIElement.Translation UIElement.TranslationTransition UIElement.UseLayoutRounding UIElement.UseSystemFocusVisuals UIElement.Visibility UIElement.XYFocusDown UIElement.XYFocusDownNavigationStrategy UIElement.XYFocusKeyboardNavigation UIElement.XYFocusLeft UIElement.XYFocusLeftNavigationStrategy UIElement.XYFocusRight UIElement.XYFocusRightNavigationStrategy UIElement.XYFocusUp UIElement.XYFocusUpNavigationStrategy UIElement.XamlRoot UIElement.AccessKeyDisplayDismissed UIElement.AccessKeyDisplayRequested UIElement.AccessKeyInvoked UIElement.BringIntoViewRequested UIElement.CharacterReceived UIElement.ContextCanceled UIElement.ContextRequested UIElement.DoubleTapped UIElement.DragEnter UIElement.DragLeave UIElement.DragOver UIElement.DragStarting UIElement.Drop UIElement.DropCompleted UIElement.GettingFocus UIElement.GotFocus UIElement.Holding UIElement.KeyDown UIElement.KeyUp UIElement.LosingFocus UIElement.LostFocus UIElement.ManipulationCompleted UIElement.ManipulationDelta UIElement.ManipulationInertiaStarting UIElement.ManipulationStarted UIElement.ManipulationStarting UIElement.NoFocusCandidateFound UIElement.PointerCanceled UIElement.PointerCaptureLost UIElement.PointerEntered UIElement.PointerExited UIElement.PointerMoved UIElement.PointerPressed UIElement.PointerReleased UIElement.PointerWheelChanged UIElement.PreviewKeyDown UIElement.PreviewKeyUp UIElement.ProcessKeyboardAccelerators UIElement.RightTapped UIElement.Tapped DependencyObject.Equals(DependencyObject) DependencyObject.GetValue(DependencyProperty) DependencyObject.SetValue(DependencyProperty, object) DependencyObject.ClearValue(DependencyProperty) DependencyObject.ReadLocalValue(DependencyProperty) DependencyObject.GetAnimationBaseValue(DependencyProperty) DependencyObject.RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) DependencyObject.UnregisterPropertyChangedCallback(DependencyProperty, long) DependencyObject.Dispatcher DependencyObject.DispatcherQueue object.Equals(object, object) object.GetType() object.ReferenceEquals(object, object) object.ToString() Constructors SignInPage() public SignInPage() Methods InitializeComponent() InitializeComponent() public void InitializeComponent()"
  },
  "api/Bookmarkly.App.html": {
    "href": "api/Bookmarkly.App.html",
    "title": "Namespace Bookmarkly.App | Bookmarkly Documentation",
    "summary": "Namespace Bookmarkly.App Classes App Provides application-specific behavior to supplement the default Application class. MainWindow Main application window that hosts page navigation. Program Program class SignInPage Sign-in page that allows users to authenticate with FreshRSS or Instapaper."
  },
  "api/Bookmarkly.Entities.Abstractions.IArticleContent.html": {
    "href": "api/Bookmarkly.Entities.Abstractions.IArticleContent.html",
    "title": "Interface IArticleContent | Bookmarkly Documentation",
    "summary": "Interface IArticleContent Namespace Bookmarkly.Entities.Abstractions Assembly Bookmarkly.Entities.Abstractions.dll public interface IArticleContent Properties ArticleId string ArticleId { get; set; } Property Value string Content string Content { get; set; } Property Value string"
  },
  "api/Bookmarkly.Entities.Abstractions.IArticleMetaData.html": {
    "href": "api/Bookmarkly.Entities.Abstractions.IArticleMetaData.html",
    "title": "Interface IArticleMetaData | Bookmarkly Documentation",
    "summary": "Interface IArticleMetaData Namespace Bookmarkly.Entities.Abstractions Assembly Bookmarkly.Entities.Abstractions.dll public interface IArticleMetaData Properties Id string Id { get; set; } Property Value string Summary string Summary { get; set; } Property Value string ThumbnailUrl string ThumbnailUrl { get; set; } Property Value string Title string Title { get; set; } Property Value string Url string Url { get; set; } Property Value string"
  },
  "api/Bookmarkly.Entities.Abstractions.IFolder.html": {
    "href": "api/Bookmarkly.Entities.Abstractions.IFolder.html",
    "title": "Interface IFolder | Bookmarkly Documentation",
    "summary": "Interface IFolder Namespace Bookmarkly.Entities.Abstractions Assembly Bookmarkly.Entities.Abstractions.dll public interface IFolder Properties Id string Id { get; set; } Property Value string Name string Name { get; set; } Property Value string ParentFolderId string ParentFolderId { get; set; } Property Value string UserId string UserId { get; set; } Property Value string"
  },
  "api/Bookmarkly.Entities.Abstractions.IUser.html": {
    "href": "api/Bookmarkly.Entities.Abstractions.IUser.html",
    "title": "Interface IUser | Bookmarkly Documentation",
    "summary": "Interface IUser Namespace Bookmarkly.Entities.Abstractions Assembly Bookmarkly.Entities.Abstractions.dll public interface IUser Properties DisplayName string DisplayName { get; set; } Property Value string Id string Id { get; set; } Property Value string"
  },
  "api/Bookmarkly.Entities.Abstractions.IUserArticleContent.html": {
    "href": "api/Bookmarkly.Entities.Abstractions.IUserArticleContent.html",
    "title": "Interface IUserArticleContent | Bookmarkly Documentation",
    "summary": "Interface IUserArticleContent Namespace Bookmarkly.Entities.Abstractions Assembly Bookmarkly.Entities.Abstractions.dll public interface IUserArticleContent : IArticleContent Inherited Members IArticleContent.ArticleId IArticleContent.Content Properties UserId string UserId { get; set; } Property Value string"
  },
  "api/Bookmarkly.Entities.Abstractions.IUserArticleMetaData.html": {
    "href": "api/Bookmarkly.Entities.Abstractions.IUserArticleMetaData.html",
    "title": "Interface IUserArticleMetaData | Bookmarkly Documentation",
    "summary": "Interface IUserArticleMetaData Namespace Bookmarkly.Entities.Abstractions Assembly Bookmarkly.Entities.Abstractions.dll public interface IUserArticleMetaData : IArticleMetaData Inherited Members IArticleMetaData.Id IArticleMetaData.Title IArticleMetaData.Url IArticleMetaData.Summary IArticleMetaData.ThumbnailUrl Properties CreatedAt DateTimeOffset CreatedAt { get; set; } Property Value DateTimeOffset FolderId string FolderId { get; set; } Property Value string IsFavorite bool IsFavorite { get; set; } Property Value bool IsRead bool IsRead { get; set; } Property Value bool UpdatedAt DateTimeOffset UpdatedAt { get; set; } Property Value DateTimeOffset UserId string UserId { get; set; } Property Value string"
  },
  "api/Bookmarkly.Entities.Abstractions.html": {
    "href": "api/Bookmarkly.Entities.Abstractions.html",
    "title": "Namespace Bookmarkly.Entities.Abstractions | Bookmarkly Documentation",
    "summary": "Namespace Bookmarkly.Entities.Abstractions Interfaces IArticleContent IArticleMetaData IFolder IUser IUserArticleContent IUserArticleMetaData"
  },
  "api/Cyclotron.Extensions.DependencyInjection.ServiceCollectionExtensions.html": {
    "href": "api/Cyclotron.Extensions.DependencyInjection.ServiceCollectionExtensions.html",
    "title": "Class ServiceCollectionExtensions | Bookmarkly Documentation",
    "summary": "Class ServiceCollectionExtensions Namespace Cyclotron.Extensions.DependencyInjection Assembly Cyclotron.Telemetry.dll Extension methods for adding Cyclotron Telemetry services to the DI container. public static class ServiceCollectionExtensions Inheritance object ServiceCollectionExtensions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods AddCyclotronTelemetry(IServiceCollection) Adds Cyclotron Telemetry services to the DI container with default configuration. public static IServiceCollection AddCyclotronTelemetry(this IServiceCollection services) Parameters services IServiceCollection The service collection. Returns IServiceCollection The service collection for chaining. AddCyclotronTelemetry(IServiceCollection, Action<CyclotronTelemetryOptions>) Adds Cyclotron Telemetry services to the DI container with code-based configuration. public static IServiceCollection AddCyclotronTelemetry(this IServiceCollection services, Action<CyclotronTelemetryOptions> configure) Parameters services IServiceCollection The service collection. configure Action<CyclotronTelemetryOptions> Action to configure telemetry options. Returns IServiceCollection The service collection for chaining."
  },
  "api/Cyclotron.Extensions.DependencyInjection.html": {
    "href": "api/Cyclotron.Extensions.DependencyInjection.html",
    "title": "Namespace Cyclotron.Extensions.DependencyInjection | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.Extensions.DependencyInjection Classes ServiceCollectionExtensions Extension methods for adding Cyclotron Telemetry services to the DI container."
  },
  "api/Cyclotron.Extensions.DepepndencyInjection.ServiceCollectionExtensions.html": {
    "href": "api/Cyclotron.Extensions.DepepndencyInjection.ServiceCollectionExtensions.html",
    "title": "Class ServiceCollectionExtensions | Bookmarkly Documentation",
    "summary": "Class ServiceCollectionExtensions Namespace Cyclotron.Extensions.DepepndencyInjection Assembly Cyclotron.FileSystemAdapter.dll Extension methods for IServiceCollection used in dependency injection setup. public static class ServiceCollectionExtensions Inheritance object ServiceCollectionExtensions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods EnsureIfExists<TService>(IServiceCollection) Ensures that a service of type TService exists in the service collection. Throws an InvalidOperationException if the service is not found. public static void EnsureIfExists<TService>(this IServiceCollection services) Parameters services IServiceCollection The service collection. Type Parameters TService The type of the service to check for. Exceptions InvalidOperationException Thrown if the required service type is not found in the collection."
  },
  "api/Cyclotron.Extensions.DepepndencyInjection.html": {
    "href": "api/Cyclotron.Extensions.DepepndencyInjection.html",
    "title": "Namespace Cyclotron.Extensions.DepepndencyInjection | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.Extensions.DepepndencyInjection Classes ServiceCollectionExtensions Extension methods for IServiceCollection used in dependency injection setup."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Handlers.IFileHandler.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Handlers.IFileHandler.html",
    "title": "Interface IFileHandler | Bookmarkly Documentation",
    "summary": "Interface IFileHandler Namespace Cyclotron.FileSystemAdapter.Abstractions.Handlers Assembly Cyclotron.FileSystemAdapter.dll Defines the contract for file operations such as copying, moving, renaming, and opening files. public interface IFileHandler Methods CopyAndReplaceAsync(IFile, IFile) Asynchronously copies a source file and replaces the destination file. Task CopyAndReplaceAsync(IFile sourceFile, IFile file) Parameters sourceFile IFile The source file to copy. file IFile The destination file to replace. Returns Task CopyAsync(IFile, IFolder, string, NameCollisionOption) Asynchronously copies a source file to a destination folder with a new name. Task CopyAsync(IFile sourceFile, IFolder destinationFolder, string desiredNewName, NameCollisionOption option) Parameters sourceFile IFile The source file to copy. destinationFolder IFolder The destination folder where the file will be copied. desiredNewName string The new name for the copied file. option NameCollisionOption The collision option to apply if a file with the same name already exists. Returns Task GetFileFromPathAsync(string) Asynchronously retrieves a file from the specified path. Task<IFile> GetFileFromPathAsync(string path) Parameters path string The file path. Returns Task<IFile> A task that represents the asynchronous operation. The result contains the file. GetParentAsync(IFile) Asynchronously retrieves the parent folder of a file. Task<IFolder> GetParentAsync(IFile file) Parameters file IFile The file whose parent folder is to be retrieved. Returns Task<IFolder> A task that represents the asynchronous operation. The result contains the parent folder. MoveAndReplaceAsync(IFile, IFile) Asynchronously moves a source file and replaces the destination file. Task MoveAndReplaceAsync(IFile sourceFile, IFile fileToReplace) Parameters sourceFile IFile The source file to move. fileToReplace IFile The destination file to replace. Returns Task MoveAsync(IFile, IFolder) Asynchronously moves a file to a destination folder. Task MoveAsync(IFile sourceFile, IFolder destinationFolder) Parameters sourceFile IFile The source file to move. destinationFolder IFolder The destination folder. Returns Task MoveAsync(IFile, IFolder, string) Asynchronously moves a file to a destination folder with a new name. Task MoveAsync(IFile sourceFile, IFolder destinationFolder, string desiredNewName) Parameters sourceFile IFile The source file to move. destinationFolder IFolder The destination folder. desiredNewName string The new name for the moved file. Returns Task MoveAsync(IFile, IFolder, string, NameCollisionOption) Asynchronously moves a file to a destination folder with a new name and a collision option. Task MoveAsync(IFile sourceFile, IFolder destinationFolder, string desiredNewName, NameCollisionOption option) Parameters sourceFile IFile The source file to move. destinationFolder IFolder The destination folder. desiredNewName string The new name for the moved file. option NameCollisionOption The collision option to apply if a file with the same name already exists. Returns Task OpenAsync(IFile, FileAcessMode) Asynchronously opens a file with the specified access mode. Task OpenAsync(IFile file, FileAcessMode accessMode) Parameters file IFile The file to open. accessMode FileAcessMode The access mode (read or read-write). Returns Task OpenAsync(IFile, FileAcessMode, StorageOpenOptions) Asynchronously opens a file with the specified access mode and storage options. Task OpenAsync(IFile file, FileAcessMode accessMode, StorageOpenOptions options) Parameters file IFile The file to open. accessMode FileAcessMode The access mode (read or read-write). options StorageOpenOptions Additional storage options for opening the file. Returns Task RenameAsync(IFile, string) Asynchronously renames a file with a new name. Task RenameAsync(IFile file, string desiredName) Parameters file IFile The file to rename. desiredName string The new name for the file. Returns Task RenameAsync(IFile, string, NameCollisionOption) Asynchronously renames a file with a new name and a collision option. Task RenameAsync(IFile file, string desiredName, NameCollisionOption option) Parameters file IFile The file to rename. desiredName string The new name for the file. option NameCollisionOption The collision option to apply if a file with the same name already exists. Returns Task"
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Handlers.IFolderHandler.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Handlers.IFolderHandler.html",
    "title": "Interface IFolderHandler | Bookmarkly Documentation",
    "summary": "Interface IFolderHandler Namespace Cyclotron.FileSystemAdapter.Abstractions.Handlers Assembly Cyclotron.FileSystemAdapter.dll Defines the contract for folder operations such as creating files, creating folders, and managing folder contents. public interface IFolderHandler Methods CreateFileAsync(IFolder, string) Asynchronously creates a file in the specified folder with a desired name. Task CreateFileAsync(IFolder folder, string desiredName) Parameters folder IFolder The folder in which to create the file. desiredName string The desired name for the new file. Returns Task CreateFileAsync(IFolder, string, CreationCollisionOption) Asynchronously creates a file in the specified folder with a desired name and collision option. Task CreateFileAsync(IFolder folder, string desiredName, CreationCollisionOption options) Parameters folder IFolder The folder in which to create the file. desiredName string The desired name for the new file. options CreationCollisionOption The collision option to apply if a file with the same name already exists. Returns Task CreateFolderAsync(IFolder, string) Asynchronously creates a subfolder in the specified folder with a desired name. Task CreateFolderAsync(IFolder folder, string desiredName) Parameters folder IFolder The parent folder in which to create the subfolder. desiredName string The desired name for the new subfolder. Returns Task CreateFolderAsync(IFolder, string, CreationCollisionOption) Asynchronously creates a subfolder in the specified folder with a desired name and collision option. Task CreateFolderAsync(IFolder folder, string desiredName, CreationCollisionOption options) Parameters folder IFolder The parent folder in which to create the subfolder. desiredName string The desired name for the new subfolder. options CreationCollisionOption The collision option to apply if a folder with the same name already exists. Returns Task DeleteAsync(IFolder) Asynchronously deletes a folder. Task DeleteAsync(IFolder folder) Parameters folder IFolder The folder to delete. Returns Task DeleteAsync(IFolder, StorageDeletionOption) Asynchronously deletes a folder with a deletion option. Task DeleteAsync(IFolder folder, StorageDeletionOption option) Parameters folder IFolder The folder to delete. option StorageDeletionOption The deletion option (move to recycle bin or permanent delete). Returns Task GetFileAsync(IFolder) Asynchronously retrieves all files from the specified folder. Task<IReadOnlyList<IFile>> GetFileAsync(IFolder folder) Parameters folder IFolder The folder to search. Returns Task<IReadOnlyList<IFile>> A task that represents the asynchronous operation. The result contains a read-only list of files. GetFileAsync(IFolder, string) Asynchronously retrieves a file from the specified folder by name. Task<IFile> GetFileAsync(IFolder folder, string name) Parameters folder IFolder The folder to search. name string The name of the file to retrieve. Returns Task<IFile> A task that represents the asynchronous operation. The result contains the file. GetFolderAsync(IFolder, string) Asynchronously retrieves a subfolder from the specified folder by name. Task<IFolder> GetFolderAsync(IFolder folder, string name) Parameters folder IFolder The parent folder to search. name string The name of the subfolder to retrieve. Returns Task<IFolder> A task that represents the asynchronous operation. The result contains the subfolder. GetFolderFromPathAsync(string) Asynchronously retrieves a folder from the specified path. Task<IFolder> GetFolderFromPathAsync(string path) Parameters path string The folder path. Returns Task<IFolder> A task that represents the asynchronous operation. The result contains the folder. GetFoldersAsync(IFolder) Asynchronously retrieves all subfolders from the specified folder. Task<IReadOnlyList<IFolder>> GetFoldersAsync(IFolder folder) Parameters folder IFolder The parent folder to search. Returns Task<IReadOnlyList<IFolder>> A task that represents the asynchronous operation. The result contains a read-only list of subfolders. GetItemAsync(IFolder, string) Asynchronously retrieves a storage item (file or folder) from the specified folder by name. Task<IStorageItem> GetItemAsync(IFolder folder, string name) Parameters folder IFolder The folder to search. name string The name of the item to retrieve. Returns Task<IStorageItem> A task that represents the asynchronous operation. The result contains the storage item. GetItemsAsync(IFolder) Asynchronously retrieves all storage items (files and folders) from the specified folder. Task<IReadOnlyList<IStorageItem>> GetItemsAsync(IFolder folder) Parameters folder IFolder The folder to search. Returns Task<IReadOnlyList<IStorageItem>> A task that represents the asynchronous operation. The result contains a read-only list of storage items. GetParentAsync(IFolder) Asynchronously retrieves the parent folder of a folder. Task<IFolder> GetParentAsync(IFolder folder) Parameters folder IFolder The folder whose parent folder is to be retrieved. Returns Task<IFolder> A task that represents the asynchronous operation. The result contains the parent folder. RenameAsync(IFolder, string) Asynchronously renames a folder with a new name. Task RenameAsync(IFolder folder, string desiredName) Parameters folder IFolder The folder to rename. desiredName string The new name for the folder. Returns Task RenameAsync(IFolder, string, NameCollisionOption) Asynchronously renames a folder with a new name and a collision option. Task RenameAsync(IFolder folder, string desiredName, NameCollisionOption option) Parameters folder IFolder The folder to rename. desiredName string The new name for the folder. option NameCollisionOption The collision option to apply if a folder with the same name already exists. Returns Task TryGetItemAsync(IFolder, string) Asynchronously attempts to retrieve a storage item from the specified folder by name. Task<IStorageItem?> TryGetItemAsync(IFolder folder, string name) Parameters folder IFolder The folder to search. name string The name of the item to retrieve. Returns Task<IStorageItem> A task that represents the asynchronous operation. The result contains the storage item if found, or null if not found. Remarks This method differs from GetItemAsync(IFolder, string) in that it returns null if the item is not found instead of throwing an exception."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Handlers.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Handlers.html",
    "title": "Namespace Cyclotron.FileSystemAdapter.Abstractions.Handlers | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.FileSystemAdapter.Abstractions.Handlers Interfaces IFileHandler Defines the contract for file operations such as copying, moving, renaming, and opening files. IFolderHandler Defines the contract for folder operations such as creating files, creating folders, and managing folder contents."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.CreationCollisionOption.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.CreationCollisionOption.html",
    "title": "Enum CreationCollisionOption | Bookmarkly Documentation",
    "summary": "Enum CreationCollisionOption Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Specifies the behavior when creating a storage item that might already exist. public enum CreationCollisionOption Fields FailIfExists = 2 Fail if the item already exists. GenerateUniqueName = 0 Generate a unique name if the item already exists. OpenIfExists = 3 Open the existing item if it exists, otherwise create a new one. ReplaceExisting = 1 Replace the existing item if it exists."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.FileAcessMode.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.FileAcessMode.html",
    "title": "Enum FileAcessMode | Bookmarkly Documentation",
    "summary": "Enum FileAcessMode Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Specifies the access mode for opening a file. public enum FileAcessMode Fields Read = 0 Open the file for reading only. ReadWrite = 1 Open the file for both reading and writing."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.FileType.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.FileType.html",
    "title": "Enum FileType | Bookmarkly Documentation",
    "summary": "Enum FileType Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Specifies the type of a file based on its content or purpose. public enum FileType Fields Audio = 3 Audio file type. Document = 5 Document file type. Image = 1 Image file type. Unknown = 0 Unknown file type. Video = 2 Video file type. Zip = 4 Compressed/Archive file type."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.IFile.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.IFile.html",
    "title": "Interface IFile | Bookmarkly Documentation",
    "summary": "Interface IFile Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Defines the contract for file operations in the file system. public interface IFile : IStorageItem Inherited Members IStorageItem.Name IStorageItem.Path IStorageItem.FolderRelativeId Extension Methods FileExtensions.CopyAndReplaceAsync(IFile, IFile) FileExtensions.CopyAsync(IFile, IFolder, string, NameCollisionOption) FileExtensions.GetParentAsync(IFile) FileExtensions.MoveAndReplaceAsync(IFile, IFile) FileExtensions.MoveAsync(IFile, IFolder) FileExtensions.MoveAsync(IFile, IFolder, string) FileExtensions.MoveAsync(IFile, IFolder, string, NameCollisionOption) FileExtensions.OpenAsync(IFile, FileAcessMode) FileExtensions.OpenAsync(IFile, FileAcessMode, StorageOpenOptions) FileExtensions.RenameAsync(IFile, string) FileExtensions.RenameAsync(IFile, string, NameCollisionOption) Remarks Extends IStorageItem to provide file-specific functionality. Methods GetSizeAsync() Asynchronously retrieves the size of the file in bytes. Task<ulong> GetSizeAsync() Returns Task<ulong> A task that represents the asynchronous operation. The result contains the file size in bytes."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.IFolder.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.IFolder.html",
    "title": "Interface IFolder | Bookmarkly Documentation",
    "summary": "Interface IFolder Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Defines the contract for folder operations in the file system. public interface IFolder : IStorageItem Inherited Members IStorageItem.Name IStorageItem.Path IStorageItem.FolderRelativeId Extension Methods FolderExtensions.CreateFileAsync(IFolder, string) FolderExtensions.CreateFileAsync(IFolder, string, CreationCollisionOption) FolderExtensions.CreateFolderAsync(IFolder, string) FolderExtensions.CreateFolderAsync(IFolder, string, CreationCollisionOption) FolderExtensions.DeleteAsync(IFolder) FolderExtensions.DeleteAsync(IFolder, StorageDeletionOption) FolderExtensions.GetFileAsync(IFolder, string) FolderExtensions.GetFilesAsync(IFolder) FolderExtensions.GetFolderAsync(IFolder, string) FolderExtensions.GetFoldersAsync(IFolder) FolderExtensions.GetItemAsync(IFolder, string) FolderExtensions.GetItemsAsync(IFolder) FolderExtensions.GetParentAsync(IFolder) FolderExtensions.RenameAsync(IFolder, string) FolderExtensions.RenameAsync(IFolder, string, NameCollisionOption) FolderExtensions.TryGetItemAsync(IFolder, string) Remarks Extends IStorageItem to provide folder-specific functionality."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.IStorageItem.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.IStorageItem.html",
    "title": "Interface IStorageItem | Bookmarkly Documentation",
    "summary": "Interface IStorageItem Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Defines the base contract for storage items (files and folders) in the file system. public interface IStorageItem Properties FolderRelativeId Gets the folder relative ID of the storage item. string FolderRelativeId { get; } Property Value string A unique identifier relative to the containing folder. Remarks This is a unique identifier relative to the containing folder, used for identification and comparison purposes across different API calls. Name Gets the name of the storage item. string Name { get; } Property Value string The name of the file or folder. Path Gets the full path of the storage item. string Path { get; } Property Value string The complete file system path."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.NameCollisionOption.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.NameCollisionOption.html",
    "title": "Enum NameCollisionOption | Bookmarkly Documentation",
    "summary": "Enum NameCollisionOption Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Specifies the behavior to apply when a file or folder with the same name already exists. public enum NameCollisionOption Fields FailIfExists = 2 Fail the operation if a file or folder with the same name exists. GenerateUniqueName = 0 Generate a unique name by appending a number to the original name. ReplaceExisting = 1 Replace the existing file or folder."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.PickerLocationId.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.PickerLocationId.html",
    "title": "Enum PickerLocationId | Bookmarkly Documentation",
    "summary": "Enum PickerLocationId Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Specifies the location for the picker's suggested start directory. public enum PickerLocationId Fields ComputerFolder = 1 The Computer folder (shows all drives). Desktop = 2 The Desktop folder. DocumentsLibrary = 0 The Documents library. Downloads = 3 The Downloads folder. HomeGroup = 4 The HomeGroup folder. MusicLibrary = 5 The Music library. Objects3D = 8 The 3D Objects folder. PicturesLibrary = 6 The Pictures library. Unspecified = 9 An unspecified location. VideosLibrary = 7 The Videos library."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.PickerViewMode.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.PickerViewMode.html",
    "title": "Enum PickerViewMode | Bookmarkly Documentation",
    "summary": "Enum PickerViewMode Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Specifies the view mode for a file or folder picker. public enum PickerViewMode Fields List = 0 Display items in a list view. Thumbnail = 1 Display items as thumbnails."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.StorageDeletionOption.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.StorageDeletionOption.html",
    "title": "Enum StorageDeletionOption | Bookmarkly Documentation",
    "summary": "Enum StorageDeletionOption Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Specifies the options for deleting a storage item. public enum StorageDeletionOption Fields Default = 0 Move the item to the Recycle Bin. PermanentDelete = 1 Permanently delete the item without moving it to the Recycle Bin."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.StorageOpenOptions.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.StorageOpenOptions.html",
    "title": "Enum StorageOpenOptions | Bookmarkly Documentation",
    "summary": "Enum StorageOpenOptions Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Assembly Cyclotron.FileSystemAdapter.dll Specifies options for opening a storage item. public enum StorageOpenOptions Fields AllowOnlyReaders = 1 Allow only readers to access the item. AllowReadersAndWriters = 2 Allow both readers and writers to access the item. None = 0 No specific options are applied."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Models.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Models.html",
    "title": "Namespace Cyclotron.FileSystemAdapter.Abstractions.Models | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.FileSystemAdapter.Abstractions.Models Interfaces IFile Defines the contract for file operations in the file system. IFolder Defines the contract for folder operations in the file system. IStorageItem Defines the base contract for storage items (files and folders) in the file system. Enums CreationCollisionOption Specifies the behavior when creating a storage item that might already exist. FileAcessMode Specifies the access mode for opening a file. FileType Specifies the type of a file based on its content or purpose. NameCollisionOption Specifies the behavior to apply when a file or folder with the same name already exists. PickerLocationId Specifies the location for the picker's suggested start directory. PickerViewMode Specifies the view mode for a file or folder picker. StorageDeletionOption Specifies the options for deleting a storage item. StorageOpenOptions Specifies options for opening a storage item."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Pickers.IFileOpenPicker.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Pickers.IFileOpenPicker.html",
    "title": "Interface IFileOpenPicker | Bookmarkly Documentation",
    "summary": "Interface IFileOpenPicker Namespace Cyclotron.FileSystemAdapter.Abstractions.Pickers Assembly Cyclotron.FileSystemAdapter.dll Defines the contract for a file open picker that allows users to select files. public interface IFileOpenPicker Properties CommitButtonText Gets or sets the label for the commit button. string CommitButtonText { get; set; } Property Value string The text displayed on the commit button. FileTypeFilter Gets the list of file type extensions to filter by in the picker. IList<string> FileTypeFilter { get; } Property Value IList<string> A list of file extensions. Remarks File extensions should include the leading period (e.g., \".txt\", \".pdf\"). SuggestedStartLocation Gets or sets the initial location for the picker to start browsing. PickerLocationId SuggestedStartLocation { get; set; } Property Value PickerLocationId The suggested start location. ViewMode Gets or sets the view mode for displaying files in the picker. PickerViewMode ViewMode { get; set; } Property Value PickerViewMode The view mode (list or thumbnail). Methods PickMultipleFilesAsync() Asynchronously displays a dialog to pick multiple files. Task<IList<IFile>> PickMultipleFilesAsync() Returns Task<IList<IFile>> A task that represents the asynchronous operation. The result contains a list of selected files. PickSingleFileAsync() Asynchronously displays a dialog to pick a single file. Task<IFile?> PickSingleFileAsync() Returns Task<IFile> A task that represents the asynchronous operation. The result contains the selected file, or null if no file was selected."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Pickers.IFileSavePicker.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Pickers.IFileSavePicker.html",
    "title": "Interface IFileSavePicker | Bookmarkly Documentation",
    "summary": "Interface IFileSavePicker Namespace Cyclotron.FileSystemAdapter.Abstractions.Pickers Assembly Cyclotron.FileSystemAdapter.dll Defines the contract for a file save picker that allows users to select a location and name for saving a file. public interface IFileSavePicker Properties CommitButtonText Gets or sets the label for the commit button. string CommitButtonText { get; set; } Property Value string The text displayed on the commit button. FileTypeChoices Gets a dictionary of file type choices where the key is the file type name and the value is a list of extensions. IDictionary<string, IList<string>> FileTypeChoices { get; } Property Value IDictionary<string, IList<string>> A dictionary mapping file type names to lists of extensions. Remarks File extensions should include the leading period (e.g., \".txt\", \".pdf\"). SuggestedFileName Gets or sets the suggested file name for the save operation. string SuggestedFileName { get; set; } Property Value string The suggested file name without the extension. SuggestedSaveFile Gets or sets the suggested file to save (for save as operations). IFile SuggestedSaveFile { get; set; } Property Value IFile The suggested file. SuggestedStartLocation Gets or sets the initial location for the picker to start browsing. PickerLocationId SuggestedStartLocation { get; set; } Property Value PickerLocationId The suggested start location. Methods PickSaveFileAsync() Asynchronously displays a dialog to pick a save file location and name. Task<IFile> PickSaveFileAsync() Returns Task<IFile> A task that represents the asynchronous operation. The result contains the file location for saving, or null if the operation was canceled."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Pickers.IFolderPicker.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Pickers.IFolderPicker.html",
    "title": "Interface IFolderPicker | Bookmarkly Documentation",
    "summary": "Interface IFolderPicker Namespace Cyclotron.FileSystemAdapter.Abstractions.Pickers Assembly Cyclotron.FileSystemAdapter.dll Defines the contract for a folder picker that allows users to select a folder. public interface IFolderPicker Properties CommitButtonText Gets or sets the label for the commit button. string CommitButtonText { get; set; } Property Value string The text displayed on the commit button. FileTypeFilter Gets the list of file type extensions to filter by in the picker. IList<string> FileTypeFilter { get; } Property Value IList<string> A list of file extensions. Remarks This filter may be used to show only folders containing files of specific types. File extensions should include the leading period (e.g., \".txt\", \".pdf\"). SuggestedStartLocation Gets or sets the initial location for the picker to start browsing. PickerLocationId SuggestedStartLocation { get; set; } Property Value PickerLocationId The suggested start location. ViewMode Gets or sets the view mode for displaying folders in the picker. PickerViewMode ViewMode { get; set; } Property Value PickerViewMode The view mode (list or thumbnail). Methods PickFolderAsync() Asynchronously displays a dialog to pick a single folder. Task<IFolder?> PickFolderAsync() Returns Task<IFolder> A task that represents the asynchronous operation. The result contains the selected folder, or null if no folder was selected."
  },
  "api/Cyclotron.FileSystemAdapter.Abstractions.Pickers.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Abstractions.Pickers.html",
    "title": "Namespace Cyclotron.FileSystemAdapter.Abstractions.Pickers | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.FileSystemAdapter.Abstractions.Pickers Interfaces IFileOpenPicker Defines the contract for a file open picker that allows users to select files. IFileSavePicker Defines the contract for a file save picker that allows users to select a location and name for saving a file. IFolderPicker Defines the contract for a folder picker that allows users to select a folder."
  },
  "api/Cyclotron.FileSystemAdapter.Constants.html": {
    "href": "api/Cyclotron.FileSystemAdapter.Constants.html",
    "title": "Class Constants | Bookmarkly Documentation",
    "summary": "Class Constants Namespace Cyclotron.FileSystemAdapter Assembly Cyclotron.FileSystemAdapter.dll Provides predefined file type filter constants for file dialogs and pickers. public static class Constants Inheritance object Constants Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields AllTypeFilter Represents a filter that includes all file types. public static readonly IList<string> AllTypeFilter Field Value IList<string> AudioTypeFilter Represents a filter that includes common audio file types: AAC, MP3, WAV, WMA, FLAC, and M4A. public static readonly IList<string> AudioTypeFilter Field Value IList<string> CompressedTypeFilter Represents a filter that includes common compressed/archive file types: ZIP, RAR, 7Z, TAR, GZ, BZ2, XZ, and ISO. public static readonly IList<string> CompressedTypeFilter Field Value IList<string> DocumentTypeFilter Represents a filter that includes common document file types: DOC, DOCX, PDF, PPT, PPTX, XLS, XLSX, and TXT. public static readonly IList<string> DocumentTypeFilter Field Value IList<string> ImageTypeFilter Represents a filter that includes common image file types: BMP, GIF, JPEG, PNG, TIFF, ICO, and HEIC. public static readonly IList<string> ImageTypeFilter Field Value IList<string> VideoTypeFilter Represents a filter that includes common video file types: 3GP, AVI, MP4, M4V, MOV, WMV, and FLV. public static readonly IList<string> VideoTypeFilter Field Value IList<string>"
  },
  "api/Cyclotron.FileSystemAdapter.FileExtensions.html": {
    "href": "api/Cyclotron.FileSystemAdapter.FileExtensions.html",
    "title": "Class FileExtensions | Bookmarkly Documentation",
    "summary": "Class FileExtensions Namespace Cyclotron.FileSystemAdapter Assembly Cyclotron.FileSystemAdapter.dll Provides extension methods for IFile operations in WinUI. public static class FileExtensions Inheritance object FileExtensions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods CopyAndReplaceAsync(IFile, IFile) Asynchronously copies a source file and replaces the destination file. public static Task CopyAndReplaceAsync(this IFile sourceFile, IFile file) Parameters sourceFile IFile The source file to copy. file IFile The destination file to replace. Returns Task A task representing the asynchronous operation. CopyAsync(IFile, IFolder, string, NameCollisionOption) Asynchronously copies a source file to a destination folder. public static Task CopyAsync(this IFile sourceFile, IFolder destinationFolder, string desiredNewName, NameCollisionOption option) Parameters sourceFile IFile The source file to copy. destinationFolder IFolder The destination folder. desiredNewName string The new name for the copied file. option NameCollisionOption The collision option if a file with the same name already exists. Returns Task A task representing the asynchronous operation. GetParentAsync(IFile) Asynchronously retrieves the parent folder of a file. public static Task<IFolder> GetParentAsync(this IFile file) Parameters file IFile The file whose parent folder is to be retrieved. Returns Task<IFolder> A task that represents the asynchronous operation. The result contains the parent folder. MoveAndReplaceAsync(IFile, IFile) Asynchronously moves a source file and replaces the destination file. public static Task MoveAndReplaceAsync(this IFile sourceFile, IFile fileToReplace) Parameters sourceFile IFile The source file to move. fileToReplace IFile The destination file to replace. Returns Task A task representing the asynchronous operation. MoveAsync(IFile, IFolder) Asynchronously moves a file to a destination folder. public static Task MoveAsync(this IFile sourceFile, IFolder destinationFolder) Parameters sourceFile IFile The source file to move. destinationFolder IFolder The destination folder. Returns Task A task representing the asynchronous operation. MoveAsync(IFile, IFolder, string) Asynchronously moves a file to a destination folder with a new name. public static Task MoveAsync(this IFile sourceFile, IFolder destinationFolder, string desiredNewName) Parameters sourceFile IFile The source file to move. destinationFolder IFolder The destination folder. desiredNewName string The new name for the moved file. Returns Task A task representing the asynchronous operation. MoveAsync(IFile, IFolder, string, NameCollisionOption) Asynchronously moves a file to a destination folder with a new name and collision option. public static Task MoveAsync(this IFile sourceFile, IFolder destinationFolder, string desiredNewName, NameCollisionOption option) Parameters sourceFile IFile The source file to move. destinationFolder IFolder The destination folder. desiredNewName string The new name for the moved file. option NameCollisionOption The collision option if a file with the same name already exists. Returns Task A task representing the asynchronous operation. OpenAsync(IFile, FileAcessMode) Asynchronously opens a file with the specified access mode. public static Task OpenAsync(this IFile file, FileAcessMode accessMode) Parameters file IFile The file to open. accessMode FileAcessMode The access mode (read or read-write). Returns Task A task representing the asynchronous operation. OpenAsync(IFile, FileAcessMode, StorageOpenOptions) Asynchronously opens a file with the specified access mode and options. public static Task OpenAsync(this IFile file, FileAcessMode accessMode, StorageOpenOptions options) Parameters file IFile The file to open. accessMode FileAcessMode The access mode (read or read-write). options StorageOpenOptions Additional storage options for opening the file. Returns Task A task representing the asynchronous operation. RenameAsync(IFile, string) Asynchronously renames a file. public static Task RenameAsync(this IFile file, string desiredName) Parameters file IFile The file to rename. desiredName string The new name for the file. Returns Task A task representing the asynchronous operation. RenameAsync(IFile, string, NameCollisionOption) Asynchronously renames a file with a collision option. public static Task RenameAsync(this IFile file, string desiredName, NameCollisionOption option) Parameters file IFile The file to rename. desiredName string The new name for the file. option NameCollisionOption The collision option if a file with the same name already exists. Returns Task A task representing the asynchronous operation."
  },
  "api/Cyclotron.FileSystemAdapter.FileSystemProvider.html": {
    "href": "api/Cyclotron.FileSystemAdapter.FileSystemProvider.html",
    "title": "Class FileSystemProvider | Bookmarkly Documentation",
    "summary": "Class FileSystemProvider Namespace Cyclotron.FileSystemAdapter Assembly Cyclotron.FileSystemAdapter.dll Provides a singleton instance for accessing file system services through dependency injection. public sealed class FileSystemProvider Inheritance object FileSystemProvider Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.ReferenceEquals(object, object) object.ToString() Remarks This class implements the singleton pattern and provides access to registered file and folder handlers, as well as picker services. Properties Instance Gets the singleton instance of the FileSystemProvider. public static FileSystemProvider Instance { get; } Property Value FileSystemProvider The singleton instance of FileSystemProvider. Methods GetRequiredService<T>() Retrieves a required service of the specified type from the service provider. public T GetRequiredService<T>() where T : class Returns T An instance of the requested service type. Type Parameters T The type of the service to retrieve. Exceptions InvalidOperationException Thrown if the service provider is not initialized. GetService<T>() Retrieves a service of the specified type from the service provider. public T? GetService<T>() where T : class Returns T An instance of the requested service type, or null if the service is not registered. Type Parameters T The type of the service to retrieve. Exceptions InvalidOperationException Thrown if the service provider is not initialized."
  },
  "api/Cyclotron.FileSystemAdapter.FolderExtensions.html": {
    "href": "api/Cyclotron.FileSystemAdapter.FolderExtensions.html",
    "title": "Class FolderExtensions | Bookmarkly Documentation",
    "summary": "Class FolderExtensions Namespace Cyclotron.FileSystemAdapter Assembly Cyclotron.FileSystemAdapter.dll Provides extension methods for IFolder operations. public static class FolderExtensions Inheritance object FolderExtensions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods CreateFileAsync(IFolder, string) Asynchronously creates a file in the folder. public static Task CreateFileAsync(this IFolder folder, string desiredName) Parameters folder IFolder The folder in which to create the file. desiredName string The desired name for the new file. Returns Task A task representing the asynchronous operation. CreateFileAsync(IFolder, string, CreationCollisionOption) Asynchronously creates a file in the folder with a collision option. public static Task CreateFileAsync(this IFolder folder, string desiredName, CreationCollisionOption options) Parameters folder IFolder The folder in which to create the file. desiredName string The desired name for the new file. options CreationCollisionOption The collision option if a file with the same name already exists. Returns Task A task representing the asynchronous operation. CreateFolderAsync(IFolder, string) Asynchronously creates a subfolder in the folder. public static Task CreateFolderAsync(this IFolder folder, string desiredName) Parameters folder IFolder The parent folder in which to create the subfolder. desiredName string The desired name for the new subfolder. Returns Task A task representing the asynchronous operation. CreateFolderAsync(IFolder, string, CreationCollisionOption) Asynchronously creates a subfolder in the folder with a collision option. public static Task CreateFolderAsync(this IFolder folder, string desiredName, CreationCollisionOption options) Parameters folder IFolder The parent folder in which to create the subfolder. desiredName string The desired name for the new subfolder. options CreationCollisionOption The collision option if a folder with the same name already exists. Returns Task A task representing the asynchronous operation. DeleteAsync(IFolder) Asynchronously deletes the folder. public static Task DeleteAsync(this IFolder folder) Parameters folder IFolder The folder to delete. Returns Task A task representing the asynchronous operation. DeleteAsync(IFolder, StorageDeletionOption) Asynchronously deletes the folder with a deletion option. public static Task DeleteAsync(this IFolder folder, StorageDeletionOption option) Parameters folder IFolder The folder to delete. option StorageDeletionOption The deletion option (move to recycle bin or permanent delete). Returns Task A task representing the asynchronous operation. GetFileAsync(IFolder, string) Asynchronously retrieves a file from the folder by name. public static Task<IFile> GetFileAsync(this IFolder folder, string name) Parameters folder IFolder The folder to search. name string The name of the file to retrieve. Returns Task<IFile> A task that represents the asynchronous operation. The result contains the file. GetFilesAsync(IFolder) Asynchronously retrieves all files from the folder. public static Task<IReadOnlyList<IFile>> GetFilesAsync(this IFolder folder) Parameters folder IFolder The folder to search. Returns Task<IReadOnlyList<IFile>> A task that represents the asynchronous operation. The result contains a read-only list of files. GetFolderAsync(IFolder, string) Asynchronously retrieves a subfolder from the folder by name. public static Task<IFolder> GetFolderAsync(this IFolder folder, string name) Parameters folder IFolder The parent folder to search. name string The name of the subfolder to retrieve. Returns Task<IFolder> A task that represents the asynchronous operation. The result contains the subfolder. GetFoldersAsync(IFolder) Asynchronously retrieves all subfolders from the folder. public static Task<IReadOnlyList<IFolder>> GetFoldersAsync(this IFolder folder) Parameters folder IFolder The parent folder to search. Returns Task<IReadOnlyList<IFolder>> A task that represents the asynchronous operation. The result contains a read-only list of subfolders. GetItemAsync(IFolder, string) Asynchronously retrieves a storage item (file or folder) from the folder by name. public static Task<IStorageItem> GetItemAsync(this IFolder folder, string name) Parameters folder IFolder The folder to search. name string The name of the item to retrieve. Returns Task<IStorageItem> A task that represents the asynchronous operation. The result contains the storage item. GetItemsAsync(IFolder) Asynchronously retrieves all storage items (files and folders) from the folder. public static Task<IReadOnlyList<IStorageItem>> GetItemsAsync(this IFolder folder) Parameters folder IFolder The folder to search. Returns Task<IReadOnlyList<IStorageItem>> A task that represents the asynchronous operation. The result contains a read-only list of storage items. GetParentAsync(IFolder) Asynchronously retrieves the parent folder. public static Task<IFolder> GetParentAsync(this IFolder folder) Parameters folder IFolder The folder whose parent folder is to be retrieved. Returns Task<IFolder> A task that represents the asynchronous operation. The result contains the parent folder. RenameAsync(IFolder, string) Asynchronously renames the folder. public static Task RenameAsync(this IFolder folder, string desiredName) Parameters folder IFolder The folder to rename. desiredName string The new name for the folder. Returns Task A task representing the asynchronous operation. RenameAsync(IFolder, string, NameCollisionOption) Asynchronously renames the folder with a collision option. public static Task RenameAsync(this IFolder folder, string desiredName, NameCollisionOption option) Parameters folder IFolder The folder to rename. desiredName string The new name for the folder. option NameCollisionOption The collision option if a folder with the same name already exists. Returns Task A task representing the asynchronous operation. TryGetItemAsync(IFolder, string) Asynchronously attempts to retrieve a storage item from the folder by name. public static Task<IStorageItem?> TryGetItemAsync(this IFolder folder, string name) Parameters folder IFolder The folder to search. name string The name of the item to retrieve. Returns Task<IStorageItem> A task that represents the asynchronous operation. The result contains the storage item if found, or null if not found. Remarks This method differs from GetItemAsync(IFolder, string) in that it returns null if the item is not found instead of throwing an exception."
  },
  "api/Cyclotron.FileSystemAdapter.html": {
    "href": "api/Cyclotron.FileSystemAdapter.html",
    "title": "Namespace Cyclotron.FileSystemAdapter | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.FileSystemAdapter Classes Constants Provides predefined file type filter constants for file dialogs and pickers. FileExtensions Provides extension methods for IFile operations in WinUI. FileSystemProvider Provides a singleton instance for accessing file system services through dependency injection. FolderExtensions Provides extension methods for IFolder operations."
  },
  "api/Cyclotron.Telemetry.Configuration.CyclotronTelemetryOptions.html": {
    "href": "api/Cyclotron.Telemetry.Configuration.CyclotronTelemetryOptions.html",
    "title": "Class CyclotronTelemetryOptions | Bookmarkly Documentation",
    "summary": "Class CyclotronTelemetryOptions Namespace Cyclotron.Telemetry.Configuration Assembly Cyclotron.Telemetry.dll Root configuration options for Cyclotron Telemetry. Provides centralized configuration for all telemetry features including logging, tracing, and metrics. public class CyclotronTelemetryOptions Inheritance object CyclotronTelemetryOptions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Remarks This class is typically configured during application startup via dependency injection. All properties have sensible defaults suitable for development environments. Properties DefaultModule Gets or sets the default module name for untagged telemetry. When a logger is created without specifying a module, this default is used. public string DefaultModule { get; set; } Property Value string Default value is \"core\". Environment Gets or sets the environment name (e.g., development, staging, production). Used to differentiate telemetry behavior and log levels across deployment environments. public string Environment { get; set; } Property Value string Default value is \"development\". Logging Gets or sets the logging configuration options. Contains settings for log levels, file output, and enrichment behavior. public LoggingOptions Logging { get; set; } Property Value LoggingOptions A new LoggingOptions instance with default values. ServiceName Gets or sets the service name for telemetry identification. Used to identify the service across all telemetry events and logs. public string ServiceName { get; set; } Property Value string Default value is \"CyclotronApp\". ServiceVersion Gets or sets the service version. Used for tracking telemetry across different application versions. public string ServiceVersion { get; set; } Property Value string Default value is \"1.0.0\"."
  },
  "api/Cyclotron.Telemetry.Configuration.FileLoggingOptions.html": {
    "href": "api/Cyclotron.Telemetry.Configuration.FileLoggingOptions.html",
    "title": "Class FileLoggingOptions | Bookmarkly Documentation",
    "summary": "Class FileLoggingOptions Namespace Cyclotron.Telemetry.Configuration Assembly Cyclotron.Telemetry.dll Configuration options for file-based logging. public class FileLoggingOptions Inheritance object FileLoggingOptions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties BufferSize Gets or sets the buffer size for async logging. public int BufferSize { get; set; } Property Value int Enabled Gets or sets whether file logging is enabled. public bool Enabled { get; set; } Property Value bool FileSizeLimitBytes Gets or sets the maximum file size in bytes before rolling. Default is 10MB. public long FileSizeLimitBytes { get; set; } Property Value long FlushInterval Gets or sets the flush interval for buffered logs. public TimeSpan FlushInterval { get; set; } Property Value TimeSpan MinimumLevel Gets or sets the minimum log level for file logging. Can be different from the global minimum level. public LogLevel MinimumLevel { get; set; } Property Value LogLevel Path Gets or sets the log file path. Supports placeholders like {LocalAppData}. public string Path { get; set; } Property Value string RetainedFileCountLimit Gets or sets the number of log files to retain. public int RetainedFileCountLimit { get; set; } Property Value int RollOnFileSizeLimit Gets or sets whether to roll on file size limit. public bool RollOnFileSizeLimit { get; set; } Property Value bool RollingInterval Gets or sets the rolling interval for log files. public RollingInterval RollingInterval { get; set; } Property Value RollingInterval"
  },
  "api/Cyclotron.Telemetry.Configuration.LoggingOptions.html": {
    "href": "api/Cyclotron.Telemetry.Configuration.LoggingOptions.html",
    "title": "Class LoggingOptions | Bookmarkly Documentation",
    "summary": "Class LoggingOptions Namespace Cyclotron.Telemetry.Configuration Assembly Cyclotron.Telemetry.dll Configuration options for logging. public class LoggingOptions Inheritance object LoggingOptions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties EnableCallerInfo Gets or sets whether to enable caller information enrichment (file/method/line). public bool EnableCallerInfo { get; set; } Property Value bool File Gets or sets the file logging options. public FileLoggingOptions File { get; set; } Property Value FileLoggingOptions MinimumLevel Gets or sets the minimum log level for all logging. public LogLevel MinimumLevel { get; set; } Property Value LogLevel OutputTemplate Gets or sets the output template for log messages. public string OutputTemplate { get; set; } Property Value string"
  },
  "api/Cyclotron.Telemetry.Configuration.html": {
    "href": "api/Cyclotron.Telemetry.Configuration.html",
    "title": "Namespace Cyclotron.Telemetry.Configuration | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.Telemetry.Configuration Classes CyclotronTelemetryOptions Root configuration options for Cyclotron Telemetry. Provides centralized configuration for all telemetry features including logging, tracing, and metrics. FileLoggingOptions Configuration options for file-based logging. LoggingOptions Configuration options for logging."
  },
  "api/Cyclotron.Telemetry.Logging.CyclotronLogger.html": {
    "href": "api/Cyclotron.Telemetry.Logging.CyclotronLogger.html",
    "title": "Class CyclotronLogger | Bookmarkly Documentation",
    "summary": "Class CyclotronLogger Namespace Cyclotron.Telemetry.Logging Assembly Cyclotron.Telemetry.dll Default implementation of ICyclotronLogger with Serilog backend. Provides automatic caller information enrichment and module-based tagging. public sealed class CyclotronLogger : ICyclotronLogger, ILogger Inheritance object CyclotronLogger Implements ICyclotronLogger ILogger Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.ReferenceEquals(object, object) object.ToString() Constructors CyclotronLogger(IOptions<CyclotronTelemetryOptions>, ILogger, ILogger<CyclotronLogger>) Initializes a new instance of the CyclotronLogger class. public CyclotronLogger(IOptions<CyclotronTelemetryOptions> options, ILogger serilogLogger, ILogger<CyclotronLogger> msLogger) Parameters options IOptions<CyclotronTelemetryOptions> The telemetry options. serilogLogger ILogger The Serilog logger instance. msLogger ILogger<CyclotronLogger> The Microsoft.Extensions.Logging logger instance. Properties ModuleName Gets the module name for this logger instance. public string ModuleName { get; } Property Value string Methods BeginScope<TState>(TState) Begins a logical operation scope. public IDisposable? BeginScope<TState>(TState state) where TState : notnull Parameters state TState The identifier for the scope. Returns IDisposable An IDisposable that ends the logical operation scope on dispose. Type Parameters TState The type of the state to begin scope for. Remarks Delegates to the underlying Microsoft.Extensions.Logging ILogger implementation. ForModule(string) Creates a child logger for a specific module. public ICyclotronLogger ForModule(string moduleName) Parameters moduleName string The module name to tag logs with. Returns ICyclotronLogger A new logger instance scoped to the specified module. IsEnabled(LogLevel) Checks if the given logLevel is enabled. public bool IsEnabled(LogLevel logLevel) Parameters logLevel LogLevel Level to be checked. Returns bool true if enabled. Remarks Delegates to the underlying Microsoft.Extensions.Logging ILogger implementation. LogCritical(string, Exception?, string, string, int) Logs a critical message with caller information. public void LogCritical(string message, Exception? exception = null, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. exception Exception Optional exception to log. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). LogDebug(string, string, string, int) Logs a debug message with caller information. public void LogDebug(string message, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). LogError(string, Exception?, string, string, int) Logs an error message with caller information. public void LogError(string message, Exception? exception = null, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. exception Exception Optional exception to log. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). LogInformation(string, string, string, int) Logs an information message with caller information. public void LogInformation(string message, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). LogWarning(string, Exception?, string, string, int) Logs a warning message with caller information. public void LogWarning(string message, Exception? exception = null, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. exception Exception Optional exception to log. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). Log<TState>(LogLevel, EventId, TState, Exception?, Func<TState, Exception?, string>) Writes a log entry. public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func<TState, Exception?, string> formatter) Parameters logLevel LogLevel Entry will be written on this level. eventId EventId Id of the event. state TState The entry to be written. Can be also an object. exception Exception The exception related to this entry. formatter Func<TState, Exception, string> Function to create a string message of the state and exception. Type Parameters TState The type of the object to be written. Remarks Delegates to the underlying Microsoft.Extensions.Logging ILogger implementation."
  },
  "api/Cyclotron.Telemetry.Logging.ICyclotronLogger.html": {
    "href": "api/Cyclotron.Telemetry.Logging.ICyclotronLogger.html",
    "title": "Interface ICyclotronLogger | Bookmarkly Documentation",
    "summary": "Interface ICyclotronLogger Namespace Cyclotron.Telemetry.Logging Assembly Cyclotron.Telemetry.dll Cyclotron logger with automatic caller information enrichment. Fully compatible with Microsoft.Extensions.Logging.ILogger. public interface ICyclotronLogger : ILogger Inherited Members ILogger.Log<TState>(LogLevel, EventId, TState, Exception, Func<TState, Exception, string>) ILogger.IsEnabled(LogLevel) ILogger.BeginScope<TState>(TState) Properties ModuleName Gets the module name for this logger instance. string ModuleName { get; } Property Value string Methods ForModule(string) Creates a child logger for a specific module. ICyclotronLogger ForModule(string moduleName) Parameters moduleName string The module name to tag logs with. Returns ICyclotronLogger A new logger instance scoped to the specified module. LogCritical(string, Exception?, string, string, int) Logs a critical message with caller information. void LogCritical(string message, Exception? exception = null, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. exception Exception Optional exception to log. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). LogDebug(string, string, string, int) Logs a debug message with caller information. void LogDebug(string message, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). LogError(string, Exception?, string, string, int) Logs an error message with caller information. void LogError(string message, Exception? exception = null, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. exception Exception Optional exception to log. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). LogInformation(string, string, string, int) Logs an information message with caller information. void LogInformation(string message, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated). LogWarning(string, Exception?, string, string, int) Logs a warning message with caller information. void LogWarning(string message, Exception? exception = null, string memberName = \"\", string filePath = \"\", int lineNumber = 0) Parameters message string The log message. exception Exception Optional exception to log. memberName string The calling member name (auto-populated). filePath string The calling file path (auto-populated). lineNumber int The calling line number (auto-populated)."
  },
  "api/Cyclotron.Telemetry.Logging.html": {
    "href": "api/Cyclotron.Telemetry.Logging.html",
    "title": "Namespace Cyclotron.Telemetry.Logging | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.Telemetry.Logging Classes CyclotronLogger Default implementation of ICyclotronLogger with Serilog backend. Provides automatic caller information enrichment and module-based tagging. Interfaces ICyclotronLogger Cyclotron logger with automatic caller information enrichment. Fully compatible with Microsoft.Extensions.Logging.ILogger."
  },
  "api/Cyclotron.Utilities.CleanArchitecture.CallbackExtensions.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.CallbackExtensions.html",
    "title": "Class CallbackExtensions | Bookmarkly Documentation",
    "summary": "Class CallbackExtensions Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Provides extension methods for ICallback<R> to simplify error handling. public static class CallbackExtensions Inheritance object CallbackExtensions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods OnError<R>(ICallback<R>, IUsecaseRequest, Exception) Handles exceptions and invokes the appropriate callback method based on the exception type. public static void OnError<R>(this ICallback<R> callback, IUsecaseRequest request, Exception ex) where R : IUsecaseResponse Parameters callback ICallback<R> The callback to invoke. request IUsecaseRequest The use case request associated with the exception. ex Exception The exception that occurred. Type Parameters R The type of response that implements IUsecaseResponse. Remarks This method distinguishes between: Cancellation due to explicit cancellation token request - invokes OnCanceled Timeout due to OperationCanceledException without explicit cancellation - invokes OnError with TimedOut type All other exceptions - invokes OnError with Unknown error type"
  },
  "api/Cyclotron.Utilities.CleanArchitecture.ErrorResponse.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.ErrorResponse.html",
    "title": "Class ErrorResponse | Bookmarkly Documentation",
    "summary": "Class ErrorResponse Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Represents an error response for a use case operation. public class ErrorResponse Inheritance object ErrorResponse Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ErrorResponse(IUsecaseRequest, ErrorType, Exception) Represents an error response for a use case operation. public ErrorResponse(IUsecaseRequest request, ErrorType errorType, Exception exception) Parameters request IUsecaseRequest errorType ErrorType exception Exception Fields _errorType protected readonly ErrorType _errorType Field Value ErrorType _exception protected readonly Exception _exception Field Value Exception _request protected readonly IUsecaseRequest _request Field Value IUsecaseRequest Properties ErrorType Gets or sets the type of error. public ErrorType ErrorType { get; } Property Value ErrorType Exception Gets or sets the exception associated with the error. public Exception Exception { get; } Property Value Exception Request Gets or sets the request associated with this response. public IUsecaseRequest Request { get; } Property Value IUsecaseRequest"
  },
  "api/Cyclotron.Utilities.CleanArchitecture.ErrorType.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.ErrorType.html",
    "title": "Enum ErrorType | Bookmarkly Documentation",
    "summary": "Enum ErrorType Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Specifies the type of error that can occur in a use case operation. public enum ErrorType Fields DBError = 1 A database error occurred. NoInternetAccess = 4 No internet access is available. ServerError = 2 A server error occurred. TimedOut = 3 The operation timed out. Unknown = 0 An unknown error occurred."
  },
  "api/Cyclotron.Utilities.CleanArchitecture.ICallback-1.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.ICallback-1.html",
    "title": "Interface ICallback<R> | Bookmarkly Documentation",
    "summary": "Interface ICallback<R> Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Represents a callback handler for use case operations. public interface ICallback<R> where R : IUsecaseResponse Type Parameters R The type of response that implements IUsecaseResponse. Extension Methods CallbackExtensions.OnError<R>(ICallback<R>, IUsecaseRequest, Exception) Methods OnCanceled(R) Called when the use case operation is canceled. void OnCanceled(R response) Parameters response R The response indicating cancellation state. OnError(ErrorResponse) Called when an error occurs during the use case operation. void OnError(ErrorResponse error) Parameters error ErrorResponse The error response containing error details and exception information. OnFailed(R) Called when the use case operation fails with a known failure condition. void OnFailed(R response) Parameters response R The failed response containing failure details. OnProgress(R) Called to report progress updates during a long-running use case operation. void OnProgress(R response) Parameters response R The progress response containing intermediate results or status. OnSuccess(R) Called when the use case operation completes successfully. void OnSuccess(R response) Parameters response R The successful response from the use case operation."
  },
  "api/Cyclotron.Utilities.CleanArchitecture.IUsecaseRequest.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.IUsecaseRequest.html",
    "title": "Interface IUsecaseRequest | Bookmarkly Documentation",
    "summary": "Interface IUsecaseRequest Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Represents a request for a use case operation. public interface IUsecaseRequest Extension Methods RequestExtensions.HasLocalRequest(IUsecaseRequest) RequestExtensions.HasNetworkRequest(IUsecaseRequest) RequestExtensions.IsLocalRequest(IUsecaseRequest) RequestExtensions.IsNetworkRequest(IUsecaseRequest) Properties CancellationToken Gets the CancellationToken associated with the request. CancellationToken CancellationToken { get; } Property Value CancellationToken RequestType Gets the type of the request. RequestType RequestType { get; } Property Value RequestType UserId Gets the user ID associated with the request. string UserId { get; } Property Value string"
  },
  "api/Cyclotron.Utilities.CleanArchitecture.IUsecaseResponse.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.IUsecaseResponse.html",
    "title": "Interface IUsecaseResponse | Bookmarkly Documentation",
    "summary": "Interface IUsecaseResponse Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Represents a response for a use case operation. public interface IUsecaseResponse Properties Request Gets the request associated with this response. IUsecaseRequest Request { get; } Property Value IUsecaseRequest ResponseType Gets the type of the response. ResponseType ResponseType { get; } Property Value ResponseType"
  },
  "api/Cyclotron.Utilities.CleanArchitecture.RequestExtensions.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.RequestExtensions.html",
    "title": "Class RequestExtensions | Bookmarkly Documentation",
    "summary": "Class RequestExtensions Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Provides extension methods for IUsecaseRequest to simplify request type checking. public static class RequestExtensions Inheritance object RequestExtensions Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods HasLocalRequest(IUsecaseRequest) Determines whether the request includes a local component. public static bool HasLocalRequest(this IUsecaseRequest request) Parameters request IUsecaseRequest The use case request to check. Returns bool true if the request type includes local access (Local, LocalAndNetwork, or Sync); otherwise, false. HasNetworkRequest(IUsecaseRequest) Determines whether the request includes a network component. public static bool HasNetworkRequest(this IUsecaseRequest request) Parameters request IUsecaseRequest The use case request to check. Returns bool true if the request type includes network access (Network, LocalAndNetwork, or Sync); otherwise, false. IsLocalRequest(IUsecaseRequest) Determines whether the request is exclusively a local request. public static bool IsLocalRequest(this IUsecaseRequest request) Parameters request IUsecaseRequest The use case request to check. Returns bool true if the request is of type Local; otherwise, false. IsNetworkRequest(IUsecaseRequest) Determines whether the request is exclusively a network request. public static bool IsNetworkRequest(this IUsecaseRequest request) Parameters request IUsecaseRequest The use case request to check. Returns bool true if the request is of type Network; otherwise, false."
  },
  "api/Cyclotron.Utilities.CleanArchitecture.RequestType.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.RequestType.html",
    "title": "Enum RequestType | Bookmarkly Documentation",
    "summary": "Enum RequestType Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Specifies the type of request for a use case operation. public enum RequestType Fields Local = 0 Indicates a request to local storage or database. LocalAndNetwork = 2 Indicates a request that fetches from both local storage and server. Network = 1 Indicates a request that fetches the data from server. Sync = 3 Indicates a request that fetches incremental sync data from server after applying it on local data."
  },
  "api/Cyclotron.Utilities.CleanArchitecture.ResponseType.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.ResponseType.html",
    "title": "Enum ResponseType | Bookmarkly Documentation",
    "summary": "Enum ResponseType Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Specifies the type of response for a use case operation. public enum ResponseType Fields Local = 0 Indicates a response from local storage or database. LocalAndNetwork = 2 Indicates a response that combines both local and network data. Network = 1 Indicates a response fetched from the server. Sync = 3 Indicates a response that contains incremental sync data from the server after applying it on local data."
  },
  "api/Cyclotron.Utilities.CleanArchitecture.UsecaseBase-2.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.UsecaseBase-2.html",
    "title": "Class UsecaseBase<TRequest, TResponse> | Bookmarkly Documentation",
    "summary": "Class UsecaseBase<TRequest, TResponse> Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Base class for implementing use cases following the Clean Architecture pattern. public abstract class UsecaseBase<TRequest, TResponse> where TRequest : IUsecaseRequest where TResponse : IUsecaseResponse Type Parameters TRequest The type of request that implements IUsecaseRequest. TResponse The type of response that implements IUsecaseResponse. Inheritance object UsecaseBase<TRequest, TResponse> Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Remarks Initializes a new instance of the UsecaseBase<TRequest, TResponse> class. Constructors UsecaseBase(TRequest, ICallback<TResponse>) Base class for implementing use cases following the Clean Architecture pattern. protected UsecaseBase(TRequest request, ICallback<TResponse> callback) Parameters request TRequest The request containing input parameters for the use case. callback ICallback<TResponse> The callback handler to receive operation results. Remarks Initializes a new instance of the UsecaseBase<TRequest, TResponse> class. Fields Callback Gets the callback handler to receive operation results. protected readonly ICallback<TResponse> Callback Field Value ICallback<TResponse> Request Gets the request containing input parameters for this use case. protected readonly TRequest Request Field Value TRequest Methods ActionAsync() Performs the main use case operation asynchronously. protected abstract Task ActionAsync() Returns Task A Task representing the asynchronous operation. Remarks Override this method to implement the core business logic of the use case. This method is called after cache check (if applicable) and cancellation check. Execute() Executes the use case operation. public void Execute() Remarks This method orchestrates the use case execution: Attempts to serve from cache if the request is a local request Runs the main operation asynchronously via ActionAsync() Checks for cancellation before executing the main operation Handles exceptions and invokes appropriate callback methods The method executes asynchronously without blocking the calling thread. TryServeFromCache() Attempts to serve the response from cache for local requests. protected virtual bool TryServeFromCache() Returns bool true if the response was successfully served from cache; otherwise, false. Remarks Override this method to implement caching logic for local requests. If this method returns true, the ActionAsync() method will not be called. Default implementation returns false."
  },
  "api/Cyclotron.Utilities.CleanArchitecture.UsecaseRequest.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.UsecaseRequest.html",
    "title": "Class UsecaseRequest | Bookmarkly Documentation",
    "summary": "Class UsecaseRequest Namespace Cyclotron.Utilities.CleanArchitecture Assembly Cyclotron.Utilities.dll Default implementation of IUsecaseRequest. public abstract class UsecaseRequest : IUsecaseRequest Inheritance object UsecaseRequest Implements IUsecaseRequest Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods RequestExtensions.HasLocalRequest(IUsecaseRequest) RequestExtensions.HasNetworkRequest(IUsecaseRequest) RequestExtensions.IsLocalRequest(IUsecaseRequest) RequestExtensions.IsNetworkRequest(IUsecaseRequest) Remarks Initializes a new instance of the UsecaseRequest class. Constructors UsecaseRequest(RequestType, string, CancellationToken) Default implementation of IUsecaseRequest. protected UsecaseRequest(RequestType requestType, string userId, CancellationToken cancellationToken = default) Parameters requestType RequestType The type of the request. userId string The user ID associated with the request. cancellationToken CancellationToken The cancellation token for the request (optional). Remarks Initializes a new instance of the UsecaseRequest class. Properties CancellationToken Gets the CancellationToken associated with the request. public CancellationToken CancellationToken { get; } Property Value CancellationToken RequestType Gets the type of the request. public RequestType RequestType { get; } Property Value RequestType UserId Gets the user ID associated with the request. public string UserId { get; } Property Value string"
  },
  "api/Cyclotron.Utilities.CleanArchitecture.html": {
    "href": "api/Cyclotron.Utilities.CleanArchitecture.html",
    "title": "Namespace Cyclotron.Utilities.CleanArchitecture | Bookmarkly Documentation",
    "summary": "Namespace Cyclotron.Utilities.CleanArchitecture Classes CallbackExtensions Provides extension methods for ICallback<R> to simplify error handling. ErrorResponse Represents an error response for a use case operation. RequestExtensions Provides extension methods for IUsecaseRequest to simplify request type checking. UsecaseBase<TRequest, TResponse> Base class for implementing use cases following the Clean Architecture pattern. UsecaseRequest Default implementation of IUsecaseRequest. Interfaces ICallback<R> Represents a callback handler for use case operations. IUsecaseRequest Represents a request for a use case operation. IUsecaseResponse Represents a response for a use case operation. Enums ErrorType Specifies the type of error that can occur in a use case operation. RequestType Specifies the type of request for a use case operation. ResponseType Specifies the type of response for a use case operation."
  },
  "api/Instapaper.Entities.ArticleContent.html": {
    "href": "api/Instapaper.Entities.ArticleContent.html",
    "title": "Class ArticleContent | Bookmarkly Documentation",
    "summary": "Class ArticleContent Namespace Instapaper.Entities Assembly Instapaper.Entities.dll public class ArticleContent : IArticleContent Inheritance object ArticleContent Implements IArticleContent Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties ArticleId public string ArticleId { get; set; } Property Value string Content public string Content { get; set; } Property Value string"
  },
  "api/Instapaper.Entities.ArticleMetaData.html": {
    "href": "api/Instapaper.Entities.ArticleMetaData.html",
    "title": "Class ArticleMetaData | Bookmarkly Documentation",
    "summary": "Class ArticleMetaData Namespace Instapaper.Entities Assembly Instapaper.Entities.dll public class ArticleMetaData : IArticleMetaData Inheritance object ArticleMetaData Implements IArticleMetaData Derived UserArticleMetaData Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties Id public string Id { get; set; } Property Value string Summary public string Summary { get; set; } Property Value string ThumbnailUrl public string ThumbnailUrl { get; set; } Property Value string Title public string Title { get; set; } Property Value string Url public string Url { get; set; } Property Value string"
  },
  "api/Instapaper.Entities.Folder.html": {
    "href": "api/Instapaper.Entities.Folder.html",
    "title": "Class Folder | Bookmarkly Documentation",
    "summary": "Class Folder Namespace Instapaper.Entities Assembly Instapaper.Entities.dll public class Folder : IFolder Inheritance object Folder Implements IFolder Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties Id public string Id { get; set; } Property Value string Name public string Name { get; set; } Property Value string ParentFolderId public string ParentFolderId { get; set; } Property Value string UserId public string UserId { get; set; } Property Value string"
  },
  "api/Instapaper.Entities.User.html": {
    "href": "api/Instapaper.Entities.User.html",
    "title": "Class User | Bookmarkly Documentation",
    "summary": "Class User Namespace Instapaper.Entities Assembly Instapaper.Entities.dll public class User : IUser Inheritance object User Implements IUser Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties DisplayName public string DisplayName { get; set; } Property Value string Id public string Id { get; set; } Property Value string Username public string Username { get; set; } Property Value string"
  },
  "api/Instapaper.Entities.UserArticleMetaData.html": {
    "href": "api/Instapaper.Entities.UserArticleMetaData.html",
    "title": "Class UserArticleMetaData | Bookmarkly Documentation",
    "summary": "Class UserArticleMetaData Namespace Instapaper.Entities Assembly Instapaper.Entities.dll public class UserArticleMetaData : ArticleMetaData, IUserArticleMetaData, IArticleMetaData Inheritance object ArticleMetaData UserArticleMetaData Implements IUserArticleMetaData IArticleMetaData Inherited Members ArticleMetaData.Id ArticleMetaData.Title ArticleMetaData.Url ArticleMetaData.Summary ArticleMetaData.ThumbnailUrl object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties CreatedAt public DateTimeOffset CreatedAt { get; set; } Property Value DateTimeOffset FolderId public string FolderId { get; set; } Property Value string IsFavorite public bool IsFavorite { get; set; } Property Value bool IsRead public bool IsRead { get; set; } Property Value bool UpdatedAt public DateTimeOffset UpdatedAt { get; set; } Property Value DateTimeOffset UserId public string UserId { get; set; } Property Value string"
  },
  "api/Instapaper.Entities.html": {
    "href": "api/Instapaper.Entities.html",
    "title": "Namespace Instapaper.Entities | Bookmarkly Documentation",
    "summary": "Namespace Instapaper.Entities Classes ArticleContent ArticleMetaData Folder User UserArticleMetaData"
  },
  "docs/CLOUDFLARE_CDN_SETUP.html": {
    "href": "docs/CLOUDFLARE_CDN_SETUP.html",
    "title": "Cloudflare Pages CDN Deployment | Bookmarkly Documentation",
    "summary": "Cloudflare Pages CDN Deployment This document describes how to configure Cloudflare Pages deployment for the Bookmarkly app release landing page. Overview The build workflow automatically deploys a landing page to Cloudflare Pages CDN after each release. The landing page includes: App icon and branding Current version and commit SHA Download buttons for MSIX installer and ZIP archive Release notes history Prerequisites A Cloudflare account A Cloudflare Pages project (created in the Cloudflare dashboard) Cloudflare API credentials with appropriate permissions Setup Steps 1. Create a Cloudflare Pages Project Log in to your Cloudflare Dashboard Navigate to Workers & Pages > Pages Click Create a project > Direct Upload Name your project (e.g., bookmarkly-releases) Upload a placeholder file to create the project Note down the project name for later use 2. Get Your Cloudflare Account ID In the Cloudflare Dashboard, go to any domain or the main dashboard On the right sidebar, find Account ID under the API section Copy this value - you'll need it for the GitHub secret 3. Create a Cloudflare API Token Go to your Cloudflare API Tokens page Click Create Token Use the Custom token template Configure the token with the following permissions: Account > Cloudflare Pages > Edit Under Account Resources, select your account Click Continue to summary and then Create Token Copy the token immediately (you won't be able to see it again) 4. Configure GitHub Repository Secrets Add the following secrets to your GitHub repository: Go to your repository on GitHub Navigate to Settings > Secrets and variables > Actions Click New repository secret and add each of the following: Secret Name Description Example Value CLOUDFLARE_API_TOKEN The API token created in step 3 abcdef1234567890... CLOUDFLARE_ACCOUNT_ID Your Cloudflare account ID from step 2 1234567890abcdef... CLOUDFLARE_PROJECT_NAME The name of your Cloudflare Pages project bookmarkly-releases 5. Verify the Setup After configuring the secrets: Trigger a new build by pushing to the main or ci branch Check the GitHub Actions workflow run Look for the \"Deploy to Cloudflare Pages\" job Verify the deployment URL in the job output Deployment URL Once deployed, your landing page will be available at: Production: https://<project-name>.pages.dev Preview (for non-main branches): https://<commit-hash>.<project-name>.pages.dev Troubleshooting Common Issues \"Authentication error\" during deployment Verify that CLOUDFLARE_API_TOKEN is correct and has not expired Ensure the token has Cloudflare Pages - Edit permission Check that the account ID matches the account where the Pages project exists \"Project not found\" error Verify that CLOUDFLARE_PROJECT_NAME exactly matches the project name in Cloudflare Ensure the API token has access to the correct account \"Permission denied\" error The API token may not have sufficient permissions Recreate the token with Account > Cloudflare Pages > Edit permission Checking Deployment Status Go to your Cloudflare Dashboard Navigate to Workers & Pages > Pages Click on your project to see deployment history and logs Security Considerations Never commit API tokens or account IDs directly in code Use GitHub repository secrets for all sensitive values Rotate API tokens periodically Use the minimum required permissions for API tokens File Structure The deployment creates the following structure on Cloudflare Pages: / ├── index.html # Landing page ├── assets/ │ └── app-icon.png # Application icon └── downloads/ ├── Bookmarkly_<version>.zip # Release archive ├── Bookmarkly.App_<version>_Test/ # MSIX bundle folder │ ├── Bookmarkly.App_<version>.msixbundle # App Installer compatible │ ├── Bookmarkly.App_<version>.cer # Certificate file │ └── Dependencies/ # Runtime dependencies └── ... Users can install using: App Installer: Direct installation via the .msixbundle file ZIP Archive: Manual installation with all files included Custom Domain (Optional) To use a custom domain for your landing page: In Cloudflare Dashboard, go to your Pages project Click Custom domains > Set up a custom domain Follow the prompts to add and verify your domain Additional Resources Cloudflare Pages Documentation Cloudflare Pages GitHub Action Cloudflare API Token Guide"
  },
  "docs/index.html": {
    "href": "docs/index.html",
    "title": "Bookmarkly Documentation | Bookmarkly Documentation",
    "summary": "Bookmarkly Documentation Welcome to the Bookmarkly documentation! This documentation is built using DocFX. About Bookmarkly Bookmarkly is a bookmark management application built with .NET and WinUI. Contents API Documentation - Auto-generated API documentation from source code Cloudflare CDN Setup - Guide for setting up Cloudflare Pages deployment Project Structure The Bookmarkly solution consists of several projects: Bookmarkly.App - Main WinUI application Bookmarkly.Views - UI views and controls Bookmarkly.ViewModels - MVVM view models Bookmarkly.Abstractions - Core abstractions and interfaces Bookmarkly.Entities.Abstractions - Entity abstractions Bookmarkly.Library.Abstractions - Library abstractions Instapaper.Library - Instapaper integration library Instapaper.Entities - Instapaper entity models Contributing Please see CONTRIBUTING.md for guidelines on contributing to this project. License This project is licensed under the terms specified in the LICENSE file."
  }
}