/// <summary> /// Renders the Twitter header tags for <see cref="ITwitterTags"/> /// </summary> /// <param name="htmlHelper">The HTML helper.</param> /// <param name="content">The content.</param> /// <returns>The <see cref="IHtmlString"/>.</returns> /// <exception cref="T:System.Web.HttpException">The Web application is running under IIS 7 in Integrated mode.</exception> /// <exception cref="T:System.ArgumentException">The specified <see cref="UriPartial.Authority"/> is not valid.</exception> /// <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Uri" /> instance is not an absolute instance.</exception> /// <exception cref="T:System.MemberAccessException">The <see cref="T:System.Lazy`1" /> instance is initialized to use the default constructor of the type that is being lazily initialized, and permissions to access the constructor are missing.</exception> /// <exception cref="T:System.MissingMemberException">The <see cref="T:System.Lazy`1" /> instance is initialized to use the default constructor of the type that is being lazily initialized, and that type does not have a public, parameterless constructor.</exception> public static IHtmlString SummaryTwitterCard(this HtmlHelper htmlHelper, ITwitterTags content) { SummaryTwitterCard twitterContent = content.ToSummaryTwitterCard(); return(twitterContent == null ? MvcHtmlString.Empty : htmlHelper.TwitterCard(twitterCard: twitterContent)); }
/// <summary> /// Converts the <param name="content"></param> to an <see cref="Boilerplate.Web.Mvc.Twitter.SummaryTwitterCard"/>. /// </summary> /// <param name="content">The content.</param> /// <returns>The <see cref="Boilerplate.Web.Mvc.Twitter.SummaryTwitterCard"/> for the <param name="content"></param>.</returns> /// <exception cref="T:System.Web.HttpException">The Web application is running under IIS 7 in Integrated mode.</exception> /// <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Uri" /> instance is not an absolute instance.</exception> /// <exception cref="T:System.ArgumentException">The specified <see cref="UriPartial.Authority"/> is not valid.</exception> /// <exception cref="T:System.MemberAccessException">The <see cref="T:System.Lazy`1" /> instance is initialized to use the default constructor of the type that is being lazily initialized, and permissions to access the constructor are missing.</exception> /// <exception cref="T:System.MissingMemberException">The <see cref="T:System.Lazy`1" /> instance is initialized to use the default constructor of the type that is being lazily initialized, and that type does not have a public, parameterless constructor.</exception> public static SummaryTwitterCard ToSummaryTwitterCard(this ITwitterTags content) { string imageUrl = content.TeaserImage.GetUrl(); if (!string.IsNullOrWhiteSpace(value: imageUrl)) { return(new SummaryTwitterCard(username: content.TwitterUsername) { Description = content.Description ?? string.Empty, Image = new TwitterImage(imageUrl: imageUrl), Title = content.DisplayName }); } Log.Debug($"[Social Tags] Page with id '{content.ContentLink.ID}' has no teaser image defined."); return(null); }