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 password of the post.
///
/// The password of the post.
string? Password { 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 tags of the post.
///
/// The tags of the post.
IReadOnlyList Tags { 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 visibility of the post.
///
/// The visibility of the post.
Visibility Visibility { get; }
///
/// Gets the WordPress ID of the post.
///
///
/// The WordPress ID of the post, or if the post was not imported from WordPress.
///
int? WordPressId { 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();
}