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)); }); }
/// <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() + "\"")); }
/// <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); }