using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Markdig; namespace NotesDataAnalyst.NoteContent { public static class MarkdownExtensions { public static string ToHtml(string markdownText) { // Создание конвейера с необходимыми расширениями var pipeline = new MarkdownPipelineBuilder() .UseAdvancedExtensions() // Подключение большинства популярных расширений .UseEmojiAndSmiley() // Поддержка эмодзи и смайлов .UseTaskLists() // Поддержка списков задач .UseDiagrams() // Поддержка диаграмм .Build(); return Markdown.ToHtml(markdownText, pipeline); } } public class Note { public string Id { get; set; } = Guid.NewGuid().ToString(); // Уникальный идентификатор для заметки // Категория заметки (например, "Личное", "Работа", и т.д.) public string Category { get; set; } // Заголовок заметки, используется также как часть имени файла public string Title { get; set; } // Поле для хранения ссылки на изображение public string Image { get; set; } // Основной текст заметки, который пользователь может вводить в формате Markdown public string Text { get; set; } // Свойство для пути к файлу заметки public string FilePath { get; set; } public DateTime DateCreated { get; set; } = DateTime.UtcNow; // Свойство для отображения текста в формате HTML // Используем Markdig для преобразования текста из Markdown в HTML public string FormattedText => MarkdownExtensions.ToHtml(Text); public string FormattedTitle => MarkdownExtensions.ToHtml(Title); } }