protected void AddParameter(string name, string value, WikiPlex.Legacy.HtmlTextWriter writer) { writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Name, name); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Value, value); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Param); writer.RenderEndTag(); }
public void Render(string url, WikiPlex.Legacy.HtmlTextWriter writer) { if (Dimensions.Height.Value.Type != WikiPlex.Legacy.UnitType.Pixel) { throw new WikiPlex.Common.RenderException(string.Format(DimensionErrorText, "height")); } if (Dimensions.Width.Value.Type != WikiPlex.Legacy.UnitType.Pixel) { throw new WikiPlex.Common.RenderException(string.Format(DimensionErrorText, "width")); } var actualUri = new System.Uri(url); url = actualUri.GetLeftPart(System.UriPartial.Path); if (url[url.Length - 1] != '/') { url += "/"; } if (!url.EndsWith("/player/", System.StringComparison.OrdinalIgnoreCase)) { url += "player"; } writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Src, url + "?h=" + Dimensions.Height.Value.Value + "&w=" + Dimensions.Width.Value.Value, false); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Width, Dimensions.Width.ToString()); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Height, Dimensions.Height.ToString()); writer.AddAttribute("scrolling", "no"); writer.AddAttribute("frameborder", "0"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Iframe); writer.RenderEndTag(); }
/// <summary> /// Handles rendering the accent bar. /// </summary> /// <param name="writer">The text writer to write to.</param> /// <param name="title">The title to write.</param> protected static void RenderAccentBar(WikiPlex.Legacy.HtmlTextWriter writer, string title) { writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "accentbar"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Div); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "left"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Span); writer.Write(" "); writer.RenderEndTag(); // span writer.Write(title + " News Feed"); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "right"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Span); writer.Write(" "); writer.RenderEndTag(); // span writer.RenderEndTag(); // div }
public void AddDownloadLink(WikiPlex.Legacy.HtmlTextWriter writer) { writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.P); writer.Write("You need to install Microsoft Silverlight to view this content. "); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Href, DownloadUrl, false); writer.AddStyleAttribute(WikiPlex.Legacy.HtmlTextWriterStyle.TextDecoration, "none"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.A); writer.Write("Get Silverlight!<br />"); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Src, "http://go.microsoft.com/fwlink/?LinkID=108181", false); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Alt, "Get Microsoft Silverlight"); writer.AddStyleAttribute(WikiPlex.Legacy.HtmlTextWriterStyle.BorderStyle, "none"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Img); writer.RenderEndTag(); // img writer.RenderEndTag(); // a writer.RenderEndTag(); // p }
/// <summary> /// Will expand the input into the appropriate content based on scope. /// </summary> /// <param name="scopeName">The scope name.</param> /// <param name="input">The input to be expanded.</param> /// <param name="htmlEncode">Function that will html encode the output.</param> /// <param name="attributeEncode">Function that will html attribute encode the output.</param> /// <returns>The expanded content.</returns> protected override string PerformExpand(string scopeName, string input, Func <string, string> htmlEncode, Func <string, string> attributeEncode) { if (scopeName == ScopeName.InvalidVideo) { throw new ArgumentException("Invalid video type.", "type"); } string[] parameters = input.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string url = Parameters.ExtractUrl(parameters); WikiPlex.Legacy.HorizontalAlign align = Parameters.ExtractAlign(parameters, WikiPlex.Legacy.HorizontalAlign.Center); IVideoRenderer videoRenderer = GetVideoRenderer(scopeName); videoRenderer.Dimensions = Parameters.ExtractDimensions(parameters, 285, 320); var content = new StringBuilder(); using (var tw = new StringWriter(content)) using (var writer = new WikiPlex.Legacy.HtmlTextWriter(tw, string.Empty)) { writer.NewLine = string.Empty; writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "video"); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Style, string.Format("text-align:{0}", align)); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Div); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "player"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Span); videoRenderer.Render(url, writer); writer.RenderEndTag(); // </span> writer.Write("<br />"); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "external"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Span); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Href, url); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Target, "_blank"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.A); writer.Write("Launch in another window"); writer.RenderEndTag(); writer.RenderEndTag(); writer.RenderEndTag(); // </div> } return(content.ToString()); }
public void AddObjectTagAttributes(WikiPlex.Legacy.HtmlTextWriter writer) { writer.AddAttribute("data", DataMimeType); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Type, ObjectType); }
/// <summary> /// Handles rendering a feed. /// </summary> /// <param name="url">The url to read the feed from.</param> /// <param name="titlesOnly">Indicates if only titles should be displayed.</param> /// <param name="max">The maximum number of entries to display.</param> /// <param name="writer">The text writer to write to.</param> protected virtual void RenderFeed(string url, bool titlesOnly, int max, WikiPlex.Legacy.HtmlTextWriter writer) { XmlDocument xdoc = xmlDocumentReader.Read(url); Guard.NotNull(xdoc, "url"); SyndicationFeed feed = syndicationReader.Read(xdoc); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "rss"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Div); RenderAccentBar(writer, feed.Title); for (int i = 0; i < feed.Items.Count(); i++) { if (i >= max) { break; } SyndicationItem item = feed.Items.ElementAt(i); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "entry"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Div); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "title"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Div); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Href, item.Link, false); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.A); writer.Write(item.Title); writer.RenderEndTag(); //a writer.RenderEndTag(); // div writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "moreinfo"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Div); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "date"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Span); writer.Write(item.Date); writer.RenderEndTag(); // span writer.Write(" | "); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Class, "source"); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.Span); writer.Write("From "); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Target, "_blank"); writer.AddAttribute(WikiPlex.Legacy.HtmlTextWriterAttribute.Href, url, false); writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.A); writer.Write(feed.Title); writer.RenderEndTag(); // a writer.RenderEndTag(); // span writer.RenderEndTag(); // div if (!titlesOnly) { writer.RenderBeginTag(WikiPlex.Legacy.HtmlTextWriterTag.P); writer.Write(item.Description); writer.RenderEndTag(); // p } writer.RenderEndTag(); // div } RenderAccentBar(writer, feed.Title); writer.RenderEndTag(); // div }
protected void AddAttribute(string key, string value) { writer.AddAttribute(key, value); }