// ------------------------------------------------------------------------ public bool Export(TaskList srcTasks, string sDestFilePath, bool bSilent, Preferences prefs, string sKey) { InitialiseAttributeList(srcTasks); BulletedMarkdownContainer mdTasks = new BulletedMarkdownContainer(); Task task = srcTasks.GetFirstTask(); while (task.IsValid()) { ExportTask(task, mdTasks, true); task = task.GetNextTask(); } StringBuilder mdFile = new StringBuilder(); mdFile.AppendLine("<meta charset=\"utf-8\">"); mdFile.AppendLine(mdTasks.ToMarkdown()); mdFile.AppendLine("<!-- Markdeep: -->"); mdFile.AppendLine("<style class=\"fallback\">body{visibility:hidden;white-space:pre;font-family:monospace}</style>"); mdFile.AppendLine("<script src=\"markdeep.min.js\" charset=\"utf-8\"></script>"); mdFile.AppendLine("<script src=\"https://casual-effects.com/markdeep/latest/markdeep.min.js\" charset=\"utf-8\"></script>"); mdFile.AppendLine("<script>window.alreadyProcessedMarkdeep||(document.body.style.visibility=\"visible\")</script>"); Debug.Write(mdFile.ToString()); System.IO.File.WriteAllText(sDestFilePath, mdFile.ToString(), Encoding.UTF8); return(true); }
protected bool ExportTask(Task task, BulletedMarkdownContainer mdParent, bool root) { // add ourselves mdParent.Append(new RawMarkdown(FormatTaskAttributes(task, root))); Task subtask = task.GetFirstSubtask(); if (subtask.IsValid()) { // then our subtasks in a container BulletedMarkdownContainer mdSubtasks = new BulletedMarkdownContainer(); while (subtask.IsValid()) { ExportTask(subtask, mdSubtasks, false); subtask = subtask.GetNextTask(); } mdParent.Append(mdSubtasks); } return(true); }