private void ForceParsing() { var elements = new EMElements(this, new EMElementOrigin(0, preprocessedText), null); elements.Parse(preprocessedText, TransformationData); data = elements; }
// empty document constructor private EMDocument() { LocalPath = null; TransformationData = null; data = new EMElements(this, new EMElementOrigin(0, ""), null); preprocessedData = null; publish = true; }
private void ForceParsing() { var elements = new EMElements(this, new EMElementOrigin(0, preprocessedText), null); elements.Parse(preprocessedText, TransformationData); data = elements; }
// empty document constructor private EMDocument() { LocalPath = null; TransformationData = null; data = new EMElements(this, new EMElementOrigin(0, ""), null); preprocessedData = null; publish = true; }
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 static EMElement CreateIncludeFilesFromText(string text, EMDocument doc, EMElementOrigin origin, EMElement parent, TransformationData data) { var specs = Preprocessor.UnescapeChars(IncludeFilesPattern.Match(text).Groups["specs"].Value, true); var paths = GetIncludesFromPathSpecs(specs, data); var inclusions = new EMElements(doc, origin, parent); var i = 0; foreach (var path in paths) { var pathOrigin = new EMElementOrigin(i, ""); try { bool languageChanged; var excerpt = ExcerptsManager.Get(data.ProcessedDocumentCache, Path.Combine(data.CurrentFolderDetails.AbsoluteMarkdownPath, path), data.CurrentFolderDetails.Language, "", out languageChanged); inclusions.Add(new EMInclude(doc, pathOrigin, inclusions, excerpt, 0, languageChanged, false)); } catch (ExcerptsManagerException e) { inclusions.Add(EMErrorElement.Create(doc, pathOrigin, inclusions, data, e.MessageId, e.MessageArgs)); } ++i; } return(inclusions); }
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; } }
protected EMElementWithElements(EMDocument doc, EMElementOrigin origin, EMElement parent, int elementsOriginOffset, int elementsOriginLength) : base(doc, origin, parent) { Elements = new EMElements(doc, new EMElementOrigin(elementsOriginOffset, origin.Text.Substring(elementsOriginOffset, elementsOriginLength)), this); }