Beispiel #1
0
        public MDGenerator(NotebookParser parser)
        {
            this.parser     = parser;
            this.onenoteApp = this.parser.GetOneNoteApp();

            var doc = parser.GetXDocument(
                null, Microsoft.Office.Interop.OneNote.HierarchyScope.hsNotebooks);

            ns = doc.Root.Name.Namespace;
        }
Beispiel #2
0
        protected MarkdownPage DoGenerateMD(string parentId, IWriter writer)
        {
            MarkdownPage markdownPage = new MarkdownPage();

            var scope = Microsoft.Office.Interop.OneNote.HierarchyScope.hsChildren;
            var doc   = parser.GetXDocument(parentId, scope);

            StringBuilder mdContent = new StringBuilder();

            // create context
            var quickStyles = GetQuickStyleDef(doc);
            var tags        = GetTagDef(doc);
            var context     = new MarkdownGeneratorContext(writer, parentId, quickStyles, tags);
            var pageTitle   = GetPageTitle(doc);

            context.SetPageTitle(pageTitle);

            var titleElement = GetTitleElement(doc);

            GenerateChildObjectMD(titleElement, context, 0, mdContent);


            var childenContent = DoGenerateMDRoots("OEChildren", doc, context);

            if (String.IsNullOrWhiteSpace(childenContent))
            {
                var directImageContent = DoGenerateMDRoots("Image", doc, context);
                if (!String.IsNullOrWhiteSpace(directImageContent))
                {
                    mdContent.Append(directImageContent);
                }
            }
            else
            {
                mdContent.Append(childenContent);
            }


            markdownPage.Content  = mdContent.ToString();
            markdownPage.Title    = context.GetPageTitle();
            markdownPage.Filename = context.GetPageFullPath();

            return(markdownPage);
        }