public static MDNotesFile WriteNotesFileDefault(this LitOptions LO, LitNovel novel)
        {
            var retVal = new MDNotesFile();

            foreach (var reference in novel.References)
            {
                retVal.Lines.AddRange(LO.WriteNotesLines(novel, reference));
            }
            return(retVal);
        }
        public static IEnumerable <IEnumerable <String> > ExtractNotesRefsDefault(
            this LitOptions LO,
            MDNotesFile notesfile
            )
        {
            string pattern = @"^#[^#]";

            return(ParsingTools.PartitionLines(
                       notesfile.Lines,
                       (s => System.Text.RegularExpressions.Regex.IsMatch(s, pattern))
                       ));
        }
        public static MDNotesFile BuildNotesFileDefault(this LitOptions LO, MDAnnSourceInfo info, IEnumerable <String> files)
        {
            var retVal         = new MDNotesFile();
            var pattern        = String.Format(@"{0}notes.md", info.Prefix);
            var NotesFileLines = files.Where(s => System.Text.RegularExpressions.Regex.IsMatch(s, pattern));

            if (NotesFileLines.Count() > 0)
            {
                var NotesFile = new MDNotesFile();
                NotesFile.Lines = new List <string>(System.IO.File.ReadAllLines(NotesFileLines.First()));
                retVal          = NotesFile;
            }
            return(retVal);
        }
        /// <summary>
        /// Takes the lines of the notes, and populates the novel References and such appropiately
        /// </summary>
        /// <param name="novel"></param>
        /// <param name="lines"></param>
        public static void ParseNotesFileDefault(this LitOptions LO,
                                                 LitNovel novel,
                                                 MDNotesFile notesfile
                                                 )
        {
            var    PartitionedLines = LO.ExtractNotesRefs(notesfile);
            LitRef litref           = null;

            foreach (var refLines in PartitionedLines)
            {
                litref = LO.ParseToLitRef(novel, refLines);
                novel.AddReferenceDistinct(litref, false);
            }
        }