Example #1
0
        private void ForceParsing()
        {
            var elements = new EMElements(this, new EMElementOrigin(0, preprocessedText), null);

            elements.Parse(preprocessedText, TransformationData);

            data = elements;
        }
Example #2
0
        private void ForceParsing()
        {
            var elements = new EMElements(this, new EMElementOrigin(0, preprocessedText), null);

            elements.Parse(preprocessedText, TransformationData);

            data = elements;
        }
Example #3
0
        public static EMElements ExcerptLazyParser(EMDocument doc, EMElement parent, string content, TransformationData data)
        {
            content = Preprocessor.CutoutComments(content, null);

            var elements = new EMElements(doc, new EMElementOrigin(0, content), parent);

            var previousCurrentFolder = data.CurrentFolderDetails.CurrentFolderFromMarkdownAsTopLeaf;
            var newCurrentFolder      = doc.GetAbsoluteMarkdownPath();

            data.CurrentFolderDetails.CurrentFolderFromMarkdownAsTopLeaf = newCurrentFolder;

            elements.Parse(content, data);

            data.CurrentFolderDetails.CurrentFolderFromMarkdownAsTopLeaf = previousCurrentFolder;

            return(elements);
        }
        public static EMElements ExcerptLazyParser(EMDocument doc, EMElement parent, string content, TransformationData data)
        {
            content = Preprocessor.CutoutComments(content, null);

            var elements = new EMElements(doc, new EMElementOrigin(0, content), parent);

            var previousCurrentFolder = data.CurrentFolderDetails.CurrentFolderFromMarkdownAsTopLeaf;
            var newCurrentFolder = doc.GetAbsoluteMarkdownPath();

            data.CurrentFolderDetails.CurrentFolderFromMarkdownAsTopLeaf = newCurrentFolder;

            elements.Parse(content, data);

            data.CurrentFolderDetails.CurrentFolderFromMarkdownAsTopLeaf = previousCurrentFolder;

            return elements;
        }
        public void Parse(EMDocument doc, Match match, TransformationData data)
        {
            var itemContent = match.Groups["listItemContent"];

            var lineEnding          = itemContent.Value.IndexOf('\n');
            var definitionSeparator = itemContent.Value.LastIndexOf(':', lineEnding);

            var dt = itemContent.Value.Substring(0, definitionSeparator > 0 ? definitionSeparator : itemContent.Length);

            Declaration = new EMSpanElements(doc, new EMElementOrigin(itemContent.Index - Origin.Start, dt), this);
            Declaration.Parse(dt, data);

            if (definitionSeparator > 0)
            {
                var dd = itemContent.Value.Substring(definitionSeparator + 1);

                Elements = new EMElements(doc, new EMElementOrigin(itemContent.Index + definitionSeparator + 1 - Origin.Start, dd), this);
                Elements.Parse(0, Markdown.Outdent(dd, Elements.TextMap), data);
            }
            else
            {
                Elements = null;
            }
        }