internal virtual HTMLParserSettings GetParserSettings() { HTMLParserSettings settings = new HTMLParserSettings(); //TODO: Apply setting values. return(settings); }
protected virtual void ParseHtmlContents(string source, string html, IPDFContainerComponent container, int insertIndex) { HTMLParserSettings settings = GetParserSettings(); if (this.Format == HtmlFormatType.Markdown) { Markdown md = new Markdown(); html = md.Transform(html); } HTMLParser parser = new HTMLParser(html, settings); Stack <IPDFComponent> route = new Stack <IPDFComponent>(); IPDFComponentList contents = container.Content; //int codeDepth = 0; foreach (Scryber.Html.Parsing.HTMLParserResult result in parser) { if (result.Valid && null != result.Parsed) { IPDFComponent parsed = result.Parsed; if (result.IsEnd) { route.Pop(); } else { if (route.Count == 0) { _added.Add(parsed); contents.Insert(insertIndex, parsed); insertIndex++; if (parsed is IPDFLoadableComponent) { ((IPDFLoadableComponent)parsed).LoadedSource = source; } } else { IPDFContainerComponent parent = (IPDFContainerComponent)route.Peek(); ((IPDFComponentList)parent.Content).Add(parsed); } route.Push(result.Parsed); } } } }
internal virtual HTMLParserSettings GetParserSettings(PDFContextBase context) { HTMLParserSettings settings = new HTMLParserSettings(context); return(settings); }