public static OpenGraphObject IsSong(this OpenGraphObject obj, TimeSpan?duration = null, string album = null, int?disk = null, int?track = null, string musician = null) { obj.SetType("music.song"); if (duration != null) { obj.Tags.Add(new OpenGraphTag(new OpenGraphName("music:duration"), duration.Value.TotalSeconds.ToString(CultureInfo.InvariantCulture))); } if (disk != null) { obj.Tags.Add(new OpenGraphTag(new OpenGraphName("music:album:disk"), disk.Value.ToString(CultureInfo.InvariantCulture))); } if (track != null) { obj.Tags.Add(new OpenGraphTag(new OpenGraphName("music:album:disk"), track.Value.ToString(CultureInfo.InvariantCulture))); } if (album != null) { obj.Tags.Add(new OpenGraphTag(new OpenGraphName("music:album"), album)); } if (musician != null) { obj.Tags.Add(new OpenGraphTag(new OpenGraphName("music:musician"), musician)); } return(obj); }
public static OpenGraphObject IsImage(this OpenGraphObject obj, Uri imageUri = null, Uri imageSecureUri = null, string mimeType = null, int?width = null, int?height = null) { if (imageUri != null) { obj.Add(new OpenGraphTag(new OpenGraphName("image"), imageUri.ToString())); } if (imageSecureUri != null) { obj.Add(new OpenGraphTag(new OpenGraphName("image:secure_url"), imageSecureUri.ToString())); } if (mimeType != null) { obj.Add(new OpenGraphTag(new OpenGraphName("image:type"), mimeType)); } if (width != null) { obj.Add(new OpenGraphTag(new OpenGraphName("image:width"), width.Value.ToString(CultureInfo.InvariantCulture))); } if (height != null) { obj.Add(new OpenGraphTag(new OpenGraphName("image:height"), height.Value.ToString(CultureInfo.InvariantCulture))); } return(obj); }
/// <summary> /// Sets the specified page information item. /// </summary> /// <param name="pageInfoItem">The page information item.</param> /// <param name="value">The value.</param> /// <returns></returns> public PageInfo Set(PageInfoItem pageInfoItem, string value) { if (pageInfoItem.Value == null) { pageInfoItem.SetValue(value); } this.items.Add(pageInfoItem); var ogItems = pageInfoItem.Where(o => o.Section == PageInfoObjectSection.OpenGraph).ToArray(); foreach (var ogItem in ogItems) { var openGraph = this.openGraph ?? (this.openGraph = new OpenGraphObject()); openGraph.Add(ogItem.OpenGraphTag); } return(this); }