API Reference PhoenixKitPosts v#0.5.0

Copy Markdown View Source

Modules

Context for managing posts, likes, tags, and groups.

Legacy schema for comment dislikes.

Legacy schema for comment likes.

Gettext backend for the posts module's own translations.

Module-owned versioned migrations for phoenix_kit_posts — the decentralized-migrations protocol that core's mix phoenix_kit.update discovers via migration_module/0. This follows the canonical shape documented in phoenix_kit_hello_world's README ("Versioned migrations", "Adopting a table core already creates") and its mix phoenix_kit_hello_world.audit_migrations task: two readers (migrated_version/1 for migration context, migrated_version_runtime/1 for Mix-task context), up/1 re-reading the version before it changes anything, and a namespaced COMMENT ON TABLE marker on one anchor table for a chain that spans 13. phoenix_kit_warehouse (v1_statements/2, 8 adopted tables in one version) and phoenix_kit_billing (ten adopted tables in one version) are the closest sibling examples of this exact adoption situation, scaled up further here.

Schema for user posts with media attachments.

Legacy schema for post comments.

Schema for post dislikes.

Schema for user-created post groups (Pinterest-style boards).

Junction schema for post-group assignments.

Schema for post likes.

Junction schema for post media attachments.

Schema for post mentions (tagged users).

Schema for post tags (hashtags).

Junction schema for post-tag assignments.

Schema for post view tracking (analytics).

Handler for scheduled post publishing.

LiveView for displaying a single post with all details and interactions.

LiveView for creating and editing posts.

LiveView for creating and editing post groups (collections).

LiveView for managing user's post groups (collections).

LiveView for displaying and managing posts in PhoenixKit admin panel.

The scheduled_at field of the post editor is a datetime-local input: a wall clock with no zone. It is read and written in the EDITOR's timezone — their profile value, else the site's time_zone setting, else UTC (core's PhoenixKit.Utils.Date.get_user_timezone/1) — and stored as a UTC instant.

LiveView for posts module configuration and settings management.

Oban cron job for publishing scheduled posts.