public static string FixReferences(string html, ReferenceFixer fixer, ReferenceFixedCallback referenceFixed)
 {
     TextWriter htmlWriter = new StringWriter(CultureInfo.InvariantCulture);
     HtmlReferenceFixer referenceFixer = new HtmlReferenceFixer(html);
     referenceFixer.FixReferences(htmlWriter, fixer, referenceFixed);
     return htmlWriter.ToString();
 }
        public static string FixReferences(string html, ReferenceFixer fixer, ReferenceFixedCallback referenceFixed)
        {
            TextWriter         htmlWriter     = new StringWriter(CultureInfo.InvariantCulture);
            HtmlReferenceFixer referenceFixer = new HtmlReferenceFixer(html);

            referenceFixer.FixReferences(htmlWriter, fixer, referenceFixed);
            return(htmlWriter.ToString());
        }
Exemplo n.º 3
0
        /// <summary>
        /// Iterates through the provided HTML and fixes up references.
        /// </summary>
        /// <param name="output">The TextWriter to write the output to.</param>
        /// <param name="externalReferenceFixer">A delegate that fixes up the references.</param>
        /// <param name="referenceFixed">A callback after the reference is fixed.</param>
        public void FixReferences(TextWriter output, ExternalReferenceFixer externalReferenceFixer, ReferenceFixedCallback referenceFixed)
        {
            var referenceFixer = new ReferenceFixer(
                delegate(BeginTag beginTag, string reference)
            {
                return(externalReferenceFixer(beginTag, reference, _sourceUrl));
            });

            _htmlReferenceFixer.FixReferences(output, referenceFixer, referenceFixed);
        }
Exemplo n.º 4
0
 public string PublishHtml()
 {
     TextWriter htmlWriter = new StringWriter(CultureInfo.InvariantCulture);
     HtmlReferenceFixer fixer = new HtmlReferenceFixer(_html);
     fixer.FixReferences(htmlWriter, ReferenceFixerForPublish, null);
     htmlWriter.Flush();
     return htmlWriter.ToString();
 }
        private static void ConvertImageReferencesToLocal(IBlogPostEditingContext editingContext)
        {
            ImageReferenceFixer refFixer = new ImageReferenceFixer(editingContext.ImageDataList, editingContext.BlogId);

            // Create a text writer that the new html will be written to
            TextWriter htmlWriter = new StringWriter(CultureInfo.InvariantCulture);
            // Check an html image fixer that will find references and rewrite them to new paths
            HtmlReferenceFixer referenceFixer = new HtmlReferenceFixer(editingContext.BlogPost.Contents);
            // We need to update the editing context when we change an image
            ContextImageReferenceFixer contextFixer = new ContextImageReferenceFixer(editingContext);
            // Do the fixing
            referenceFixer.FixReferences(htmlWriter, new ReferenceFixer(refFixer.FixImageReferences), contextFixer.ReferenceFixedCallback);
            // Write back the new html
            editingContext.BlogPost.Contents = htmlWriter.ToString();
        }