ZYVOPDOCS
MULTI-PLATFORM SYNC
Platform Features

Reader Engagement & Community

Nested threaded comments, accepted answers, reader bookmarks, author follows, and content moderation.

Reader Engagement & Community

ZyVOP provides an interactive discussion layer that turns static technical blog posts into vibrant developer discussions. Readers can participate in threaded conversations, bookmark reference material, follow favorite authors, and highlight accepted answers.


Threaded Comments

Every article supports an optional discussion thread enabled by default or controlled via frontmatter (comments_enabled: true).

graph TD
    RootComment[Top-Level Comment / Question] --> Reply1[Author Answer / Clarification]
    RootComment --> Reply2[Reader Observation]
    Reply1 --> NestedReply[Follow-up Question]
    Reply1 --> AcceptedBadge[Accepted Answer Badge]

Key Commenting Features

  1. Arbitrary Depth Nesting: Comments support recursive tree structures (commentsByPostTree) so deep technical debates remain organized and readable.
  2. Markdown & Code Syntax Highlighting: Readers can post formatted code snippets, terminal logs, and clickable links directly in comments.
  3. Likes & Reactions: Developers can upvote helpful comments or insightful clarifications.
  4. Accepted Answer Distinction: The article author or moderators can mark a specific comment as the Accepted Answer (markAcceptedAnswer), pinning it to the top with a verified solution badge.

GraphQL API Reference

1. Fetching Nested Comment Trees

GraphQL Query
query GetComments($postId: ID!, $maxDepth: Float) {
  commentsByPostTree(postId: $postId, maxDepth: $maxDepth) {
    id
    content
    createdAt
    isAcceptedAnswer
    likesCount
    isLiked
    author {
      id
      name
      username
      avatar
    }
    children {
      id
      content
      likesCount
      author {
        name
      }
    }
  }
}

2. Creating a Comment or Reply

GraphQL Mutation
mutation AddComment($postId: ID!, $content: String!, $parentId: ID) {
  createComment(input: {
    postId: $postId
    content: $content
    parentId: $parentId
  }) {
    id
    content
    createdAt
  }
}

3. Marking an Accepted Answer

GraphQL Mutation
mutation MarkAccepted($commentId: ID!) {
  markAcceptedAnswer(commentId: $commentId) {
    id
    isAcceptedAnswer
  }
}

Author Follows & Bookmarks

Following Authors

Readers can follow engineering authors to receive notifications when new tutorials or series parts are released:

  • Followed authors appear in the reader's personalized feed.
  • Authors can track follower growth in Dashboard → Analytics.

Bookmarks (/bookmarks)

Readers can bookmark articles for quick offline or future reference:

  • Accessible anytime from the top navigation bar or /bookmarks.
  • Grouped by reading lists or technical categories.

Community Safety & Moderation

To protect community discussions from spam, abuse, or malicious links:

  • Rate Limiting: Comment submissions are throttled per IP and user account.
  • Reporting System: Readers can report offending comments or articles with predefined violation codes (SPAM, HARASSMENT, INACCURATE, PLAGIARISM).
  • Moderator Controls: Workspace admins have one-click moderation tools to hide, delete, or shadowban abusive accounts.

On this page