Social Platform
Schema for social-platform records in the pptx.gallery library. Each record describes a single social-media platform — its base URL, profile-URL pattern, handle prefix, brand color, and themed icons. Records a…
https://openpresentation.org/schema/opf-social-platform/v1
spec/schemas/social-platform.schema.json
Field index
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
| $schema | const | yes | — | Identifies this record as a social-platform entry in the openpresentation.org catalog. |
| id | string | yes | — | Stable slug used by OPF documents to reference this platform — appears as a property key on Socials objects. Lowercase kebab-case. |
| name | string | yes | — | Human-readable platform name shown in pickers and footers. |
| summary | string | — | — | One-sentence positioning of the platform — what it's used for and who's on it. |
| description | string | — | — | Longer prose describing the platform and any rendering conventions (e.g., handle prefixes, distributed instances). |
| baseUrl | string | — | — | Canonical base URL of the platform — used as the prefix when normalizing handles to full URLs. |
| profileUrlPattern | string | — | — | URL pattern for individual member profiles. Use '{handle}' as the placeholder for the handle (with the prefix already stripped). |
| companyUrlPattern | string | — | — | Optional URL pattern for organization / company pages, when the platform distinguishes them from member profiles. Use '{handle}' as the placeholder. |
| handlePrefix | string | — | — | Conventional prefix character displayed before the handle (e.g. '@' for X / Mastodon / Threads / TikTok). Empty string when no prefix is used. Renderers strip it before substituting into URL patterns. |
| handleExample | string | — | — | Example handle in its conventional rendered form, used by picker UIs and validation hints. |
| brandColor | string | — | — | Brand color (hex) used for branded icon chips, link styling, or section accents. |
| icon | string | — | — | Default icon source. Accepts an HTTPS URL, data URI, relative path, or asset reference. Used as the fallback when a themed (Light/Dark) variant isn't set. |
| iconLight | string | — | — | Light-colored icon variant intended for rendering on dark backgrounds. |
| iconDark | string | — | — | Dark-colored icon variant intended for rendering on light backgrounds. |
| tags | array<string> | — | — | Free-form labels for filtering and search. |
| preview | object | — | — | Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available. |
$schema
Type: const · Required · Default: —
Identifies this record as a social-platform entry in the openpresentation.org catalog.
{
"$schema": "https://openpresentation.org/schema/opf-social-platform/v1"
}id
Type: string · Required · Default: — · Pattern: ^[a-z][a-z0-9-]*$
Stable slug used by OPF documents to reference this platform — appears as a property key on Socials objects. Lowercase kebab-case.
{
"id": "linkedin"
}name
Type: string · Required · Default: —
Human-readable platform name shown in pickers and footers.
{
"name": "LinkedIn"
}summary
Type: string · Optional · Default: —
One-sentence positioning of the platform — what it's used for and who's on it.
{
"summary": "Professional social network for individuals and companies."
}description
Type: string · Optional · Default: —
Longer prose describing the platform and any rendering conventions (e.g., handle prefixes, distributed instances).
{
"description": "LinkedIn distinguishes between member profiles ('/in/<handle>') and company pages ('/company/<handle>'). Renderers should pick the appropriate URL pattern based on whether the parent is an Organization or a Speaker."
}baseUrl
Type: string · Optional · Default: —
Canonical base URL of the platform — used as the prefix when normalizing handles to full URLs.
{
"baseUrl": "https://linkedin.com"
}profileUrlPattern
Type: string · Optional · Default: —
URL pattern for individual member profiles. Use '{handle}' as the placeholder for the handle (with the prefix already stripped).
{
"profileUrlPattern": "https://linkedin.com/in/{handle}"
}companyUrlPattern
Type: string · Optional · Default: —
Optional URL pattern for organization / company pages, when the platform distinguishes them from member profiles. Use '{handle}' as the placeholder.
{
"companyUrlPattern": "https://linkedin.com/company/{handle}"
}handlePrefix
Type: string · Optional · Default: —
Conventional prefix character displayed before the handle (e.g. '@' for X / Mastodon / Threads / TikTok). Empty string when no prefix is used. Renderers strip it before substituting into URL patterns.
{
"handlePrefix": "@"
}handleExample
Type: string · Optional · Default: —
Example handle in its conventional rendered form, used by picker UIs and validation hints.
{
"handleExample": "alice-chen"
}brandColor
Type: string · Optional · Default: —
Brand color (hex) used for branded icon chips, link styling, or section accents.
{
"brandColor": "#0A66C2"
}icon
Type: string · Optional · Default: —
Default icon source. Accepts an HTTPS URL, data URI, relative path, or asset reference. Used as the fallback when a themed (Light/Dark) variant isn't set.
{
"icon": "https://www.pptx.gallery/social-platforms/linkedin.svg"
}iconLight
Type: string · Optional · Default: —
Light-colored icon variant intended for rendering on dark backgrounds.
{
"iconLight": "https://www.pptx.gallery/social-platforms/linkedin-light.svg"
}iconDark
Type: string · Optional · Default: —
Dark-colored icon variant intended for rendering on light backgrounds.
{
"iconDark": "https://www.pptx.gallery/social-platforms/linkedin-dark.svg"
}preview
Type: object · Optional · Default: —
Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
{
"preview": {}
}