namespace OliverBooth.Data.Blog; /// /// Represents a blog post. /// public interface IBlogPost { /// /// Gets the author of the post. /// /// The author of the post. IBlogAuthor Author { get; } /// /// Gets the body of the post. /// /// The body of the post. string Body { get; } /// /// Gets a value indicating whether comments are enabled for the post. /// /// /// if comments are enabled for the post; otherwise, . /// bool EnableComments { get; } /// /// Gets the ID of the post. /// /// The ID of the post. Guid Id { get; } /// /// Gets a value indicating whether the post redirects to another URL. /// /// /// if the post redirects to another URL; otherwise, . /// bool IsRedirect { get; } /// /// Gets the date and time the post was published. /// /// The publication date and time. DateTimeOffset Published { get; } /// /// Gets the URL to which the post redirects. /// /// The URL to which the post redirects, or if the post does not redirect. Uri? RedirectUrl { get; } /// /// Gets the slug of the post. /// /// The slug of the post. string Slug { get; } /// /// Gets the title of the post. /// /// The title of the post. string Title { get; } /// /// Gets the date and time the post was last updated. /// /// The update date and time, or if the post has not been updated. DateTimeOffset? Updated { get; } /// /// Gets the Disqus identifier for the post. /// /// The Disqus identifier for the post. string GetDisqusIdentifier(); /// /// Gets the Disqus URL for the post. /// /// The Disqus URL for the post. string GetDisqusUrl(); /// /// Gets the Disqus post ID for the post. /// /// The Disqus post ID for the post. string GetDisqusPostId(); }