Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
        /// <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);
        }