Files
meeting-assistant/MeetingAssistant/MeetingNotes/ObsidianMeetingNoteOpener.cs
T
2026-05-20 02:06:16 +02:00

27 lines
767 B
C#

using System.Diagnostics;
namespace MeetingAssistant.MeetingNotes;
public sealed class ObsidianMeetingNoteOpener : IMeetingNoteOpener
{
private readonly ILogger<ObsidianMeetingNoteOpener> logger;
public ObsidianMeetingNoteOpener(ILogger<ObsidianMeetingNoteOpener> logger)
{
this.logger = logger;
}
public Task OpenAsync(string notePath, CancellationToken cancellationToken)
{
var uri = $"obsidian://open?path={Uri.EscapeDataString(Path.GetFullPath(notePath))}";
Process.Start(new ProcessStartInfo
{
FileName = uri,
UseShellExecute = true
});
logger.LogInformation("Opened meeting note in Obsidian via {ObsidianUri}", uri);
return Task.CompletedTask;
}
}