Docusaurus blog schema
Built-in id: docusaurus:blog:3.10
Published at https://hawkeyexl.github.io/manni/schemas/docusaurus-blog/3.10.json.
A $schema that names this URL resolves to the bundled copy, with no network
call.
As of Docusaurus 3.10, docusaurus:blog:3.10 checks the front matter
@docusaurus/plugin-content-blog reads on a post. Like the docs schema, it
requires no field and checks the shape of every field it describes. It is one of three
Docusaurus schemas, one per content
plugin. The rules the three share, and what none of them checks, live on that
page.
| Property | Value |
|---|---|
| Id | docusaurus:blog:3.10 |
| Title | Docusaurus blog front matter v3.10 |
| Dialect | Draft 2020-12 |
| Required fields | None |
| Additional properties | Allowed (additionalProperties: true) |
| Reference kind | builtin |
| On by default | No |
| Upstream reference | Blog front matter |
| JSON | docusaurus-blog/3.10.json |
Use it
Section titled “Use it”Posts live under their own root, so the schema reaches them through an override
rather than the site-wide schemas: list:
meta: overrides: - files: "blog/**" schemas: - docusaurus:blog:3.10For a one-off run, pass the id directly:
manni meta validate blog/ -s docusaurus:blog:3.10Wire them up shows the blog beside the docs and pages roots, each declared as a collection.
Fields
Section titled “Fields”| Field | Type | Constraint |
|---|---|---|
authors | string, object, or array | an authors.yml key, an inline author, or a list of either |
author | string | deprecated in favor of authors |
author_url | string | uri-reference, deprecated |
author_image_url | string | uri-reference, deprecated |
author_title | string | deprecated |
title | string | n/a |
title_meta | string | n/a |
sidebar_label | string | n/a |
date | string | n/a |
description | string | may be empty |
slug | string | n/a |
keywords | array of string | n/a |
image | string | uri-reference |
tags | array | string, or object with label and permalink |
draft | boolean | not both with unlisted |
unlisted | boolean | not both with draft |
hide_table_of_contents | boolean | n/a |
toc_min_heading_level | number | 2–6 |
toc_max_heading_level | number | 2–6 |
last_update | object | author and/or date, at least one, nothing else |
authors is loose on purpose. Docusaurus resolves each entry against
authors.yml rather than validating it strictly, so the schema checks the
shape and not whether the key exists. The single-author author* keys are the
older spelling that authors replaces. They still pass when their values have
the right type.
The cross-field rules behind draft, unlisted, tags and last_update are
the same in all three Docusaurus schemas. The rules worth
knowing
covers each of them. A post written with TOML front matter has one more trap,
covered under Versioning.
Additional properties
Section titled “Additional properties”Allowed. Docusaurus tolerates theme and plugin front matter, and so does this
schema. The one exception is inside last_update, which takes author and
date and nothing else.
Example page
Section titled “Example page”A post carrying the fields the blog plugin documents. This is
test/fixtures/docusaurus/blog-valid.md less its title_meta line, and it
passes.
---title: Shipping v2sidebar_label: v2date: 2026-03-14authors: - dana - name: Sam Rivera title: Staff engineer url: https://example.com/sam imageURL: /img/sam.pngtags: - release - label: Announcements permalink: /tags/announcementsdraft: falseunlisted: falsehide_table_of_contents: falsetoc_min_heading_level: 2toc_max_heading_level: 3keywords: - releasedescription: What changed in v2 and how to upgrade.image: /img/social/v2.pngslug: shipping-v2last_update: date: 2026-03-20---A common mistake
Section titled “A common mistake”An author is a key, an inline object, or a list of either. A bare number is none of those:
---title: Shipping v2authors: 42---✗ test/fixtures/docusaurus/blog-bad-authors.md /authors must be string,object,array (line 3) [docusaurus:blog:3.10]
1 file checked, 0 passed, 1 failed, 1 errorName the author by their authors.yml key, or write the author inline.