{}OPF
DocsSchema referenceView source

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…

Schema $id
https://openpresentation.org/schema/opf-social-platform/v1
Type
object
Source
spec/schemas/social-platform.schema.json
Fields
16 · 3 required

Field index

FieldTypeReq.DefaultDescription
$schemaconstyesIdentifies this record as a social-platform entry in the openpresentation.org catalog.
idstringyesStable slug used by OPF documents to reference this platform — appears as a property key on Socials objects. Lowercase kebab-case.
namestringyesHuman-readable platform name shown in pickers and footers.
summarystringOne-sentence positioning of the platform — what it's used for and who's on it.
descriptionstringLonger prose describing the platform and any rendering conventions (e.g., handle prefixes, distributed instances).
baseUrlstringCanonical base URL of the platform — used as the prefix when normalizing handles to full URLs.
profileUrlPatternstringURL pattern for individual member profiles. Use '{handle}' as the placeholder for the handle (with the prefix already stripped).
companyUrlPatternstringOptional URL pattern for organization / company pages, when the platform distinguishes them from member profiles. Use '{handle}' as the placeholder.
handlePrefixstringConventional 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.
handleExamplestringExample handle in its conventional rendered form, used by picker UIs and validation hints.
brandColorstringBrand color (hex) used for branded icon chips, link styling, or section accents.
iconstringDefault 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.
iconLightstringLight-colored icon variant intended for rendering on dark backgrounds.
iconDarkstringDark-colored icon variant intended for rendering on light backgrounds.
tagsarray<string>Free-form labels for filtering and search.
previewobjectVisual 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

typeconstrequiredyesdefault

Identifies this record as a social-platform entry in the openpresentation.org catalog.

$schema.json
{
  "$schema": "https://openpresentation.org/schema/opf-social-platform/v1"
}

id

typestringrequiredyesdefaultpattern^[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.json
{
  "id": "linkedin"
}

name

typestringrequiredyesdefault

Human-readable platform name shown in pickers and footers.

name.json
{
  "name": "LinkedIn"
}

summary

typestringrequirednodefault

One-sentence positioning of the platform — what it's used for and who's on it.

summary.json
{
  "summary": "Professional social network for individuals and companies."
}

description

typestringrequirednodefault

Longer prose describing the platform and any rendering conventions (e.g., handle prefixes, distributed instances).

description.json
{
  "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

typestringrequirednodefault

Canonical base URL of the platform — used as the prefix when normalizing handles to full URLs.

baseUrl.json
{
  "baseUrl": "https://linkedin.com"
}

profileUrlPattern

typestringrequirednodefault

URL pattern for individual member profiles. Use '{handle}' as the placeholder for the handle (with the prefix already stripped).

profileUrlPattern.json
{
  "profileUrlPattern": "https://linkedin.com/in/{handle}"
}

companyUrlPattern

typestringrequirednodefault

Optional URL pattern for organization / company pages, when the platform distinguishes them from member profiles. Use '{handle}' as the placeholder.

companyUrlPattern.json
{
  "companyUrlPattern": "https://linkedin.com/company/{handle}"
}

handlePrefix

typestringrequirednodefault

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.json
{
  "handlePrefix": "@"
}

handleExample

typestringrequirednodefault

Example handle in its conventional rendered form, used by picker UIs and validation hints.

handleExample.json
{
  "handleExample": "alice-chen"
}

brandColor

typestringrequirednodefault

Brand color (hex) used for branded icon chips, link styling, or section accents.

brandColor.json
{
  "brandColor": "#0A66C2"
}

icon

typestringrequirednodefault

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.json
{
  "icon": "https://www.pptx.gallery/social-platforms/linkedin.svg"
}

iconLight

typestringrequirednodefault

Light-colored icon variant intended for rendering on dark backgrounds.

iconLight.json
{
  "iconLight": "https://www.pptx.gallery/social-platforms/linkedin-light.svg"
}

iconDark

typestringrequirednodefault

Dark-colored icon variant intended for rendering on light backgrounds.

iconDark.json
{
  "iconDark": "https://www.pptx.gallery/social-platforms/linkedin-dark.svg"
}

tags

typearray<string>requirednodefault

Free-form labels for filtering and search.

tags.json
{
  "tags": [
    "professional",
    "default"
  ]
}

preview

typeobjectrequirednodefault

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.json
{
  "preview": {}
}