65 lines
2.2 KiB
C#
65 lines
2.2 KiB
C#
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);
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|