Skip to content

Posts & Editor

Posts are the primary content type on the platform. They are published to communities or on a user's personal page.

Creating a Post

The create post button is available in the site header and on any community page. Posts open in the block editor.

Block Editor (Editor.js)

The editor is built on Editor.js and supports:

Block typePurpose
Text (paragraph)Main text content
HeadingH2, H3, H4
ImageUpload or insert URL
QuoteHighlighted quote
DelimiterHorizontal divider
Poll / QuizInteractive poll with answer options
EmbedYouTube, Vimeo, and others
CodeCode block

Title and Intro

Each post has:

  • Title — displayed prominently at the top
  • Intro — short description for the feed preview card
  • Body (blocks) — main content in JSON format (stored in the blocks field)

Cover Image

A cover image can be uploaded — it is displayed in the feed card.

Draft Autosave

The editor automatically saves drafts. While is_publish = false, the post is not visible to others. Closing the browser tab won't lose data.

Version History

Every save creates a version. The version list is accessible via the Version History button in the editor. Any previous version can be restored.

Versions are stored in the post_version_histories table.

Publication Settings

When publishing:

SettingPurpose
CommunityWhich community to publish to
TagsAttach tags (#hashtag in editor or separate field)
CommentsAllow or disable comments
18+Mark post as adult content
EditorialAdd an "editorial" label

Polls (Quiz)

The poll block adds interactive voting directly in the post. Users select one option; results are displayed in real time.

Votes are stored in a separate table linked to the post.

Tags

Tags are added via #hashtag in the editor (with autocomplete) or through a dedicated field. A tag is created automatically if it doesn't exist yet.

Tag page: /tag/{slug} — a feed of all posts with that tag.

Post Reactions

Users react to posts via POST /reaction. Available reactions are configured in Admin Panel → Reactions (/admin-panel/like-reactions).

Post Management

For the Author

  • Edit — modify any block, title, settings
  • Unpublish — set is_publish = false
  • Delete — delete the post (soft delete)
  • Pin — pin the post in the community or profile

For Administrators

Admin Panel → Posts (/admin-panel/posts):

  • Search and filter posts
  • Unpublish
  • Block
  • Delete

Post Statuses

Post state is determined by the boolean fields is_publish and is_block:

is_publishis_blockState
falsefalseDraft, not visible to others
truefalsePublished, visible to all
truetrueBlocked by administrator
falsetrueBlocked (unpublished)

Feeds

Posts appear in multiple feeds:

FeedURLDescription
Personal/myPosts from followed communities and authors (requires login)
Popular/popularBy rating and views (default feed at /)
New/newChronologically newest posts
Editorial/editorialPosts with the editorial label
News/newsAggregated news
By tag/tag/{name}Posts with a specific tag

Views & Rating

Post views are tracked in the post_showings table. Post rating is calculated based on reactions, views, and comments. The formula is configurable via Admin Panel → Rating (/admin-panel/settings/rating).

Reposts

A user can repost another user's post — it appears on their profile with a link to the original.

Post SEO

For each post the platform automatically generates:

  • <title> based on the heading
  • OpenGraph meta with the post cover
  • JSON-LD Article markup
  • Inclusion in sitemap.xml

Released under the MIT License.