public async ValueTask ExecuteAsync(IConsole console) { var(draftFileInfo, draftFrontMatter) = await BlogUtils.AskUserToSelectDraft("Which draft do you want to publish?"); var blogPostPath = Path.Combine(BlogSettings.PostsFolder, draftFileInfo.Name); if (!Overwrite && File.Exists(blogPostPath)) { await console.Output.WriteLineAsync($"File exists, please use {nameof(Overwrite)} parameter."); return; } var updatedDraftLines = await GetUpdatedDraftFrontMatterLines(draftFileInfo.FullName, draftFrontMatter); await File.WriteAllLinesAsync(blogPostPath, updatedDraftLines); File.Delete(draftFileInfo.FullName); AnsiConsole.Markup($"Published [green]{blogPostPath}[/]"); }
public async ValueTask ExecuteAsync(IConsole console) { var(fileInfo, _) = await BlogUtils.AskUserToSelectDraft("Which draft do you want to edit?"); await Command.RunAsync("cmd.exe", $"/c code {fileInfo.FullName}", "./"); }