Beispiel #1
0
        public IViewComponentResult Invoke(OpenGraphMetadata data)
        {
            Metadata metaData = _metaDataTool.GetMetaData(new OpenGraphMetadata
            {
                Title       = data.Title,
                Description = data.Description ?? _soundWordsConfiguration.MetaDescription,
                Url         = data.Url ?? GetRequest().ToFullUrl(),
                SiteName    = data.SiteName ?? _soundWordsConfiguration.SiteName,
                Type        = data.Type ?? "website",
                AppId       = data.AppId ?? _soundWordsConfiguration.FacebookAppId,
                Image       = data.Image ??
                              $"{_soundWordsConfiguration.SiteUrl}/content/images/metadata_logo_square.jpg",
                Musician = data.Musician
            });

            return(View(metaData));
        }
        /// <summary>
        /// Creates a <see cref="string"/> representing the Open Graph, Facebook and object namespaces. The namespaces are added to the HTML head element.
        /// </summary>
        /// <param name="htmlHelper">The HTML helper.</param>
        /// <param name="openGraphMetadata">The open graph metadata.</param>
        /// <returns>The Open Graph namespaces.</returns>
        public static IHtmlString OpenGraphNamespace(this HtmlHelper htmlHelper, OpenGraphMetadata openGraphMetadata)
        {
            string prefix;

            if ((openGraphMetadata.FacebookAdministrators == null) &&
                (openGraphMetadata.FacebookApplicationId == null) &&
                (openGraphMetadata.FacebookProfileId == null))
            {
                prefix = "prefix=\"" + OgNamespace + openGraphMetadata.Namespace + "\"";
            }
            else
            {
                prefix = "prefix=\"" + OgNamespace + FacebookNamespace + openGraphMetadata.Namespace + "\"";
            }

            return(new MvcHtmlString(prefix));
        }
        public void Deserialize_NestedComponentOfType_RetainsSerializedValues()
        {
            var serializer = new PageTypeComponentSerializer();

            PageMetadata      metadata = TestData.PageMetadataComponent;
            OpenGraphMetadata expected = metadata.OpenGraph;

            string componentXml = serializer.Serialize(metadata);

            var deserializer = new PageTypeComponentDeserializer();

            OpenGraphMetadata actual = deserializer.Deserialize <PageMetadata>(componentXml).OpenGraph;

            Assert.Multiple(() =>
            {
                Assert.That(actual.OpenGraphMetadataTitle, Is.EqualTo(expected.OpenGraphMetadataTitle));
                Assert.That(actual.OpenGraphMetadataDescription, Is.EqualTo(expected.OpenGraphMetadataDescription));
            });
        }
        public void Deserialize_NestedComponent_RetainsSerializedValues()
        {
            var serializer = new PageTypeComponentSerializer();

            PageMetadata      metadata = TestData.PageMetadataComponent;
            OpenGraphMetadata expected = metadata.OpenGraph;

            string componentXml = serializer.Serialize(metadata);

            var deserializer = new PageTypeComponentDeserializer();

            TreeNode actual = deserializer.Deserialize(PageMetadata.CLASS_NAME, componentXml)
                              .GetPageTypeComponent(OpenGraphMetadata.CLASS_NAME, nameof(PageMetadata.PageMetadataOpenGraph));

            Assert.Multiple(() =>
            {
                Assert.That(actual.GetStringValue(nameof(OpenGraphMetadata.OpenGraphMetadataTitle), string.Empty), Is.EqualTo(expected.OpenGraphMetadataTitle));
                Assert.That(actual.GetStringValue(nameof(OpenGraphMetadata.OpenGraphMetadataDescription), string.Empty), Is.EqualTo(expected.OpenGraphMetadataDescription));
            });
        }
Beispiel #5
0
 /// <summary>
 ///     Creates a <see cref="string" /> representing the Open Graph, Facebook and object
 ///     namespaces. The namespaces are added to the HTML head element.
 /// </summary>
 /// <param name="htmlHelper">        The HTML helper. </param>
 /// <param name="openGraphMetadata"> The open graph metadata. </param>
 /// <returns> The Open Graph namespaces. </returns>
 public static HtmlString OpenGraphNamespace(this IHtmlHelper htmlHelper, OpenGraphMetadata openGraphMetadata)
 {
     return(new HtmlString("prefix=\"" + openGraphMetadata.GetNamespaces() + "\""));
 }
Beispiel #6
0
 /// <summary>
 ///     Creates a string containing the Open Graph meta tags (Also used by Facebook).
 ///     <see cref="OpenGraphMetadata" /> for more information.
 /// </summary>
 /// <param name="htmlHelper">        The HTML helper. </param>
 /// <param name="openGraphMetadata"> The open graph metadata. </param>
 /// <returns> The meta tags. </returns>
 public static HtmlString OpenGraph(this IHtmlHelper htmlHelper, OpenGraphMetadata openGraphMetadata)
 {
     return(new HtmlString(openGraphMetadata.ToString()));
 }
 /// <summary>
 /// Creates a string containing the Open Graph meta tags (Also used by Facebook). <see cref="OpenGraphMetadata"/> for more information.
 /// </summary>
 /// <param name="htmlHelper">The HTML helper.</param>
 /// <param name="openGraphMetadata">The open graph metadata.</param>
 /// <returns>The meta tags.</returns>
 public static IHtmlString OpenGraph(this HtmlHelper htmlHelper, OpenGraphMetadata openGraphMetadata)
 {
     return(openGraphMetadata);
 }