Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Blog

The Blog system in Kinesis API provides a powerful publishing platform that allows users to create, manage, and share content. It's designed to facilitate content creation with rich formatting while supporting interactive features like comments and likes.

Overview

The blog system serves as a content hub for:

  • Publishing articles and announcements
  • Sharing technical documentation
  • Engaging users through comments
  • Organizing content with tags and categories

All blog posts can be formatted with Markdown, allowing for rich content including code snippets, images, links, and formatting.

Key Features

Blog Post Management

  • Create Posts: Authors can create blog posts with titles, content, and metadata
  • Rich Formatting: Full Markdown support with preview
  • Drafts: Save posts as unpublished drafts before making them public
  • Image Support: Add preview images and carousel galleries
  • Public/Private: Control visibility of posts to other users
  • Tags: Add custom tags for better organization and searchability
  • Slugs: Custom URL-friendly identifiers for SEO

User Interactions

  • Comments: Add discussions and feedback to blog posts
  • Likes: Express appreciation for posts and comments
  • View Tracking: Monitor post popularity through view counts
  • Anonymous Comments: Allow feedback without requiring user registration

Organization and Discovery

  • Filtering: Filter posts by public/private status, publication status, and content
  • Sorting: Sort by title, creation date, or last update
  • Pagination: Navigate through large numbers of posts efficiently
  • Search: Find posts by keywords in title, subtitle, content, or tags

User Permissions

Different user roles have different capabilities within the blog system:

All Users (Including Anonymous)

  • View public blog posts
  • Comment on public blog posts (anonymously if not logged in)
  • Like posts and comments (if logged in)

Authors

  • Create new blog posts
  • Edit and delete their own posts
  • Toggle public/private status of their own posts
  • Publish/unpublish their own posts
  • Edit and delete their own comments

Administrators (ROOT/ADMIN)

  • Full control over all blog posts
  • Edit and delete any post or comment
  • Access both public and private posts
  • Publish/unpublish any post

Using the Blog List Page

Blog Page

The blog list page provides a comprehensive view of all accessible blog posts with powerful organization tools:

Filtering and Sorting

  • Use the search bar to filter posts by content
  • Filter by post status (Public/Private, Published/Unpublished)
  • Sort by various criteria:
    • Title (ascending/descending)
    • Creation date (newest/oldest)
    • Last update

Creating Blog Posts

  1. Click the "Create a new blog post" button
  2. Enter a title (a slug will be automatically generated)
  3. Provide a subtitle that summarizes the post
  4. Write your content using the Markdown editor
  5. Add a preview image (optional)
  6. Add carousel images (optional)
  7. Add relevant tags (comma-separated)
  8. Set visibility (public/private)
  9. Set publication status (published/unpublished)
  10. Click "Create"

Using the Individual Blog Post Page

Blog View Page

Each blog post has its own dedicated page that shows all details and allows for interactions:

Viewing Blog Post Information

  • Post title and subtitle
  • Author information and publication date
  • Full content with Markdown rendering
  • Preview image and carousel gallery (if added)
  • Tags and visibility status
  • View count and like count

Interacting with Blog Posts

  • Liking: Click the like button to show appreciation for the post
  • Sharing: Copy the post URL to share with others
  • Editing: Authors and admins can edit the post
  • Deleting: Authors and admins can delete the post

Comment Management

  • Add formatted comments with the Markdown editor
  • Edit your own comments if needed
  • Like comments to show appreciation
  • Delete your own comments or, as an admin, any comment

Reading Progress

A progress bar at the top of the post indicates how far you've read, helping you keep track of your position in longer articles.

Editing Blog Posts

Blog Edit Page

Authors and administrators can edit existing blog posts:

  1. From the blog post view page, click "Edit"
  2. Modify any field including title, content, images, etc.
  3. Click "Update Blog Post" to save your changes

Managing Comments

The comment system allows for rich interaction with blog posts:

Adding Comments

  1. Scroll to the comments section at the bottom of a blog post
  2. Click "Add a new Comment"
  3. Write your comment using the Markdown editor
  4. If not logged in, provide your name and email
  5. Submit your comment

Editing and Deleting Comments

  1. Locate your comment in the comments section
  2. Use the edit (pencil) or delete (trash) icons
  3. For editing, modify your comment and click "Submit"
  4. For deletion, confirm your choice in the confirmation dialog

Best Practices

For effective use of the blog system:

  • Use Clear Titles: Create descriptive, compelling titles
  • Add Subtitles: Provide a brief summary that entices readers
  • Format Content Well: Use Markdown to organize content with headings, lists, and emphasis
  • Include Images: Add visual interest with relevant images
  • Use Tags Consistently: Develop a tagging system for better organization
  • Draft First: Use the unpublished status to work on posts before making them public
  • Moderate Comments: Keep discussions constructive and on-topic

Content Guidelines

When creating blog posts:

  • Be Original: Avoid plagiarism and duplicate content
  • Add Value: Focus on providing useful, informative content
  • Stay Relevant: Keep content on-topic and aligned with your audience's interests
  • Use Clear Language: Write in a clear, concise style
  • Include Links: Reference related content and sources
  • Proofread: Check spelling, grammar, and formatting before publishing