diff --git a/src/Markdowser/Processing/Processors/HtmlProcessor.cs b/src/Markdowser/Processing/Processors/HtmlProcessor.cs index edaa421..efb9b56 100644 --- a/src/Markdowser/Processing/Processors/HtmlProcessor.cs +++ b/src/Markdowser/Processing/Processors/HtmlProcessor.cs @@ -90,7 +90,10 @@ internal partial class HtmlProcessor : IContentProcessor _ = finalMarkdown.AppendLine(trimmedLine); } - return new MarkdownContentViewModel(title, finalMarkdown.ToString()); + return new MarkdownContentViewModel(title, finalMarkdown.ToString()) + { + RawContent = html.ToString() + }; } [GeneratedRegex("!\\[(.*?)\\]\\((.*?)\\)")] diff --git a/src/Markdowser/ViewModels/ContentViewModelBase.cs b/src/Markdowser/ViewModels/ContentViewModelBase.cs index 13e720a..ae14546 100644 --- a/src/Markdowser/ViewModels/ContentViewModelBase.cs +++ b/src/Markdowser/ViewModels/ContentViewModelBase.cs @@ -8,5 +8,7 @@ public abstract class ContentViewModelBase(string title) { public string Title { get; } = title; - public Logger Logger { get; } = GlobalState.Logger; + public string RawContent { get; init; } = string.Empty; + + public Logger Logger => GlobalState.Logger; } \ No newline at end of file diff --git a/src/Markdowser/ViewModels/MainWindowViewModel.cs b/src/Markdowser/ViewModels/MainWindowViewModel.cs index ab0cf7e..0e22407 100644 --- a/src/Markdowser/ViewModels/MainWindowViewModel.cs +++ b/src/Markdowser/ViewModels/MainWindowViewModel.cs @@ -84,9 +84,12 @@ public partial class MainWindowViewModel : ViewModelBase { CurrentTabState.Content = value; this.RaisePropertyChanged(); + this.RaisePropertyChanged(nameof(RawContent)); } } + public string RawContent => string.IsNullOrWhiteSpace(Content.RawContent) ? "No raw content." : Content.RawContent; + public string Url { get => CurrentTabState.Url; @@ -116,8 +119,6 @@ public partial class MainWindowViewModel : ViewModelBase } public SettingsViewModel SettingsViewModel => new SettingsViewModel(); - public RawHtmlViewModel RawHtmlViewModel => new RawHtmlViewModel(new()); - public RawMarkdownViewModel RawMarkdownViewModel => new RawMarkdownViewModel(() => new()); public bool CloseTabEnabled => Tabs.Count > 1; public bool BackEnabled => CurrentTabState.BackHistory.Count > 0; public bool ForwardEnabled => CurrentTabState.ForwardHistory.Count > 0; diff --git a/src/Markdowser/ViewModels/RawHtmlViewModel.cs b/src/Markdowser/ViewModels/RawHtmlViewModel.cs deleted file mode 100644 index 1d4832d..0000000 --- a/src/Markdowser/ViewModels/RawHtmlViewModel.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System.Text; - -namespace Markdowser.ViewModels; - -public class RawHtmlViewModel(StringBuilder html) : ViewModelBase -{ - public StringBuilder Html => html; -} \ No newline at end of file diff --git a/src/Markdowser/ViewModels/RawMarkdownViewModel.cs b/src/Markdowser/ViewModels/RawMarkdownViewModel.cs deleted file mode 100644 index 60f7ad3..0000000 --- a/src/Markdowser/ViewModels/RawMarkdownViewModel.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; -using System.Text; - -namespace Markdowser.ViewModels; - -public class RawMarkdownViewModel(Func markdown) : ViewModelBase -{ - public StringBuilder Markdown => markdown(); -} \ No newline at end of file diff --git a/src/Markdowser/Views/MainWindow.axaml b/src/Markdowser/Views/MainWindow.axaml index c0ddd1f..0ddbd58 100644 --- a/src/Markdowser/Views/MainWindow.axaml +++ b/src/Markdowser/Views/MainWindow.axaml @@ -73,14 +73,9 @@ - + - - - - - - + diff --git a/src/Markdowser/Views/RawHtmlView.axaml b/src/Markdowser/Views/RawHtmlView.axaml deleted file mode 100644 index 8533919..0000000 --- a/src/Markdowser/Views/RawHtmlView.axaml +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file diff --git a/src/Markdowser/Views/RawHtmlView.axaml.cs b/src/Markdowser/Views/RawHtmlView.axaml.cs deleted file mode 100644 index 76d1456..0000000 --- a/src/Markdowser/Views/RawHtmlView.axaml.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Avalonia.Controls; - -namespace Markdowser.Views; - -public partial class RawHtmlView : UserControl -{ - public RawHtmlView() - { - InitializeComponent(); - } -} \ No newline at end of file diff --git a/src/Markdowser/Views/RawMarkdownView.axaml b/src/Markdowser/Views/RawMarkdownView.axaml deleted file mode 100644 index e3e8921..0000000 --- a/src/Markdowser/Views/RawMarkdownView.axaml +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file diff --git a/src/Markdowser/Views/RawMarkdownView.axaml.cs b/src/Markdowser/Views/RawMarkdownView.axaml.cs deleted file mode 100644 index f23611f..0000000 --- a/src/Markdowser/Views/RawMarkdownView.axaml.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Avalonia.Controls; - -namespace Markdowser.Views; - -public partial class RawMarkdownView : UserControl -{ - public RawMarkdownView() - { - InitializeComponent(); - } -} \ No newline at end of file