ZYVOPDOCS
MULTI-PLATFORM SYNC
Content Format

Frontmatter Specification

Complete reference for all supported YAML frontmatter metadata fields in ZyVOP.

Frontmatter Specification

Every article processed by ZyVOP begins with a YAML frontmatter block demarcated by triple dashes (---). The parser supports standard Markdown frontmatter conventions as well as camelCase and snake_case aliases.


Full Example

sample-post.md
---
title: "Zero-Downtime Database Migrations with PostgreSQL"
subtitle: "Expand-contract patterns, lock contention mitigation, and live schema updates."
excerpt: "A production guide to zero-downtime database migrations with PostgreSQL."
canonical_url: "https://myblog.dev/posts/postgres-zero-downtime"
base_url: "https://myblog.dev"
cover_image: "https://myblog.dev/assets/postgres-cover.png"
tags: ["postgresql", "database", "devops", "backend"]
status: "PUBLISHED"
category: "engineering"
series: "postgres-production-guide"
toc: true
comments_enabled: true
syndication_mode: "all"
meta_title: "PostgreSQL Zero-Downtime Migrations | Production Guide"
meta_description: "How to run safe database schema migrations at scale without downtime."
og_title: "PostgreSQL Zero-Downtime Migrations"
og_description: "Eliminating table locks and running seamless database migrations in production."
cross_post:
  devto: true
  hashnode: true
  medium: true
  bluesky: true
  wordpress: false
  mastodon: true
  linkedin: true
---

Core Fields

FieldTypeRequiredDefaultDescription
titlestringYesFile basenameThe title of the article
subtitlestringNoundefinedSubtitle / description summary (aliases: description, excerpt)
excerptstringNoundefinedShort summary used for RSS, sitemaps, and GEO/LLM discovery
canonical_urlstringRecommendedundefinedPrimary canonical URL where original authority lives (alias: canonicalUrl)
base_urlstringNoOrigin of canonicalBase URL used to convert relative images (./img.png) into absolute URLs (alias: baseUrl)
cover_imagestringNoundefinedCover / hero image URL (aliases: coverImage, image)
tagsstring[] or stringNo[]List of tags or comma-separated string (e.g. ["go", "docker"])
statusstringNoPUBLISHEDPublication status: PUBLISHED, DRAFT, or SCHEDULED
draftbooleanNofalseConvenience flag: if true, sets status: DRAFT
publishedbooleanNotrueConvenience flag: if false, sets status: DRAFT
syndication_modestringNo"all"Mode: "all" (dispatch to enabled destinations) or "local" (publish only on ZyVOP without external dispatch)

Cross-Posting Controls (cross_post)

The cross_post block allows fine-grained toggling of individual publishing targets:

cross_post:
  devto: true        # Cross-post to DEV.to
  hashnode: true     # Cross-post to Hashnode
  medium: true       # Cross-post to Medium
  bluesky: true      # Broadcast summary card to Bluesky
  wordpress: false   # Disable WordPress publishing
  mastodon: true     # Syndicate to Mastodon instance
  linkedin: true     # Share to LinkedIn (personal / organization)

CLI Override Precedence

Command-line flags override frontmatter toggles. For example, if devto: false in frontmatter, running zyvop publish post.md --devto forces DEV.to publishing.

Top-level camelCase aliases are also supported for programmatic API calls: crossPostToLinkedin: true, crossPostToBluesky: true.


SEO & Social Overrides

FieldTypeDescription
meta_titlestringExplicit <title> tag for search engines (alias: metaTitle)
meta_descriptionstringMeta description tag for search engines (alias: metaDescription)
og_titlestringOpen Graph title for social sharing cards (alias: ogTitle)
og_descriptionstringOpen Graph description for social cards (alias: ogDescription)

Scheduling, Series & Taxonomy

FieldTypeDescription
scheduled_atISO 8601 stringDate and time to publish automatically (e.g. 2026-10-01T14:00:00Z, alias: scheduledAt)
published_atISO 8601 stringBackdate original publication date (alias: publishedAt)
categorystringCategory slug (e.g. engineering, architecture, alias: category_slug, categorySlug)
seriesstringSeries identifier to group multi-part articles (alias: series_id, seriesId)
tocbooleanAutomatically render a dynamic table of contents (alias: generate_toc)
comments_enabledbooleanEnable or disable reader comments (default: true, alias: commentsEnabled)

On this page