@openpresentation/opf 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +103 -0
- package/dist/catalogs.d.ts +33933 -0
- package/dist/catalogs.js +19113 -0
- package/dist/catalogs.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +25815 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas.d.ts +12361 -0
- package/dist/schemas.js +6266 -0
- package/dist/schemas.js.map +1 -0
- package/dist/spec/catalogs/audiences/all-hands.json +23 -0
- package/dist/spec/catalogs/audiences/board.json +22 -0
- package/dist/spec/catalogs/audiences/candidates.json +23 -0
- package/dist/spec/catalogs/audiences/customers.json +23 -0
- package/dist/spec/catalogs/audiences/engineering-team.json +23 -0
- package/dist/spec/catalogs/audiences/executives.json +23 -0
- package/dist/spec/catalogs/audiences/index.json +67 -0
- package/dist/spec/catalogs/audiences/investors.json +23 -0
- package/dist/spec/catalogs/audiences/marketing-team.json +23 -0
- package/dist/spec/catalogs/audiences/regulators.json +23 -0
- package/dist/spec/catalogs/audiences/sales-team.json +23 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +90 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +102 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +78 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +90 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +102 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +78 -0
- package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +99 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +99 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +89 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +107 -0
- package/dist/spec/catalogs/chart-types/area.json +77 -0
- package/dist/spec/catalogs/chart-types/australia.json +70 -0
- package/dist/spec/catalogs/chart-types/bar.json +67 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +130 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +162 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker.json +98 -0
- package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +88 -0
- package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +100 -0
- package/dist/spec/catalogs/chart-types/bullet-bar.json +76 -0
- package/dist/spec/catalogs/chart-types/bullet-column-2x.json +88 -0
- package/dist/spec/catalogs/chart-types/bullet-column-3x.json +100 -0
- package/dist/spec/catalogs/chart-types/bullet-column.json +76 -0
- package/dist/spec/catalogs/chart-types/canada.json +80 -0
- package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/clustered-column.json +89 -0
- package/dist/spec/catalogs/chart-types/column.json +71 -0
- package/dist/spec/catalogs/chart-types/dot-plot-2x.json +98 -0
- package/dist/spec/catalogs/chart-types/dot-plot-3x.json +123 -0
- package/dist/spec/catalogs/chart-types/dot-plot-4x.json +148 -0
- package/dist/spec/catalogs/chart-types/dot-plot-5x.json +173 -0
- package/dist/spec/catalogs/chart-types/dot-plot-6x.json +198 -0
- package/dist/spec/catalogs/chart-types/dot-plot.json +73 -0
- package/dist/spec/catalogs/chart-types/doughnut.json +57 -0
- package/dist/spec/catalogs/chart-types/dumbbell.json +119 -0
- package/dist/spec/catalogs/chart-types/filled-radar.json +70 -0
- package/dist/spec/catalogs/chart-types/funnel.json +64 -0
- package/dist/spec/catalogs/chart-types/histogram.json +145 -0
- package/dist/spec/catalogs/chart-types/index.json +843 -0
- package/dist/spec/catalogs/chart-types/line-2x.json +99 -0
- package/dist/spec/catalogs/chart-types/line-3x.json +121 -0
- package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +143 -0
- package/dist/spec/catalogs/chart-types/line-with-high-low.json +143 -0
- package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/line-with-markers.json +78 -0
- package/dist/spec/catalogs/chart-types/line.json +77 -0
- package/dist/spec/catalogs/chart-types/pareto.json +163 -0
- package/dist/spec/catalogs/chart-types/pie.json +57 -0
- package/dist/spec/catalogs/chart-types/radar-with-markers.json +70 -0
- package/dist/spec/catalogs/chart-types/radar.json +70 -0
- package/dist/spec/catalogs/chart-types/scatter.json +91 -0
- package/dist/spec/catalogs/chart-types/sparkline-2x.json +137 -0
- package/dist/spec/catalogs/chart-types/sparkline-3x.json +173 -0
- package/dist/spec/catalogs/chart-types/sparkline-4x.json +209 -0
- package/dist/spec/catalogs/chart-types/sparkline-5x.json +245 -0
- package/dist/spec/catalogs/chart-types/sparkline-6x.json +281 -0
- package/dist/spec/catalogs/chart-types/sparkline.json +101 -0
- package/dist/spec/catalogs/chart-types/stacked-area-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/stacked-area-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +99 -0
- package/dist/spec/catalogs/chart-types/stacked-column-2x.json +89 -0
- package/dist/spec/catalogs/chart-types/stacked-column-3x.json +107 -0
- package/dist/spec/catalogs/chart-types/stacked-line-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/stacked-line-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +101 -0
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +123 -0
- package/dist/spec/catalogs/chart-types/treemap-2x.json +95 -0
- package/dist/spec/catalogs/chart-types/treemap-3x.json +116 -0
- package/dist/spec/catalogs/chart-types/treemap.json +66 -0
- package/dist/spec/catalogs/chart-types/united-kindom.json +62 -0
- package/dist/spec/catalogs/chart-types/united-states.json +76 -0
- package/dist/spec/catalogs/chart-types/waterfall.json +70 -0
- package/dist/spec/catalogs/chart-types/world.json +82 -0
- package/dist/spec/catalogs/color-schemes/black-and-white.json +17 -0
- package/dist/spec/catalogs/color-schemes/bold-red.json +17 -0
- package/dist/spec/catalogs/color-schemes/boost.json +17 -0
- package/dist/spec/catalogs/color-schemes/burnt-orange.json +17 -0
- package/dist/spec/catalogs/color-schemes/cool-horizon.json +17 -0
- package/dist/spec/catalogs/color-schemes/corporate-blue.json +17 -0
- package/dist/spec/catalogs/color-schemes/deep-purple.json +17 -0
- package/dist/spec/catalogs/color-schemes/forest-green.json +17 -0
- package/dist/spec/catalogs/color-schemes/golden-yellow.json +17 -0
- package/dist/spec/catalogs/color-schemes/index.json +77 -0
- package/dist/spec/catalogs/color-schemes/luxury.json +17 -0
- package/dist/spec/catalogs/color-schemes/pastel-red.json +17 -0
- package/dist/spec/catalogs/color-schemes/slate-gray.json +17 -0
- package/dist/spec/catalogs/color-schemes/steel-blue.json +17 -0
- package/dist/spec/catalogs/color-schemes/vibes.json +17 -0
- package/dist/spec/catalogs/font-schemes/angsana-new.json +14 -0
- package/dist/spec/catalogs/font-schemes/aparajita.json +15 -0
- package/dist/spec/catalogs/font-schemes/aptos.json +12 -0
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +14 -0
- package/dist/spec/catalogs/font-schemes/arial.json +12 -0
- package/dist/spec/catalogs/font-schemes/batang.json +14 -0
- package/dist/spec/catalogs/font-schemes/bookman.json +12 -0
- package/dist/spec/catalogs/font-schemes/calibri.json +12 -0
- package/dist/spec/catalogs/font-schemes/century-schoolbook.json +12 -0
- package/dist/spec/catalogs/font-schemes/consolas.json +12 -0
- package/dist/spec/catalogs/font-schemes/constantia.json +12 -0
- package/dist/spec/catalogs/font-schemes/courier-new.json +12 -0
- package/dist/spec/catalogs/font-schemes/daunpenh.json +14 -0
- package/dist/spec/catalogs/font-schemes/david.json +14 -0
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +14 -0
- package/dist/spec/catalogs/font-schemes/fangsong.json +14 -0
- package/dist/spec/catalogs/font-schemes/garamond.json +12 -0
- package/dist/spec/catalogs/font-schemes/gautami.json +14 -0
- package/dist/spec/catalogs/font-schemes/georgia.json +12 -0
- package/dist/spec/catalogs/font-schemes/gisha.json +15 -0
- package/dist/spec/catalogs/font-schemes/grandview.json +12 -0
- package/dist/spec/catalogs/font-schemes/gungsuh.json +14 -0
- package/dist/spec/catalogs/font-schemes/impact.json +12 -0
- package/dist/spec/catalogs/font-schemes/index.json +452 -0
- package/dist/spec/catalogs/font-schemes/kalinga.json +14 -0
- package/dist/spec/catalogs/font-schemes/kartika.json +14 -0
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +14 -0
- package/dist/spec/catalogs/font-schemes/latha.json +14 -0
- package/dist/spec/catalogs/font-schemes/lucida-sans.json +12 -0
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +14 -0
- package/dist/spec/catalogs/font-schemes/mangal.json +17 -0
- package/dist/spec/catalogs/font-schemes/meiryo.json +14 -0
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +14 -0
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +17 -0
- package/dist/spec/catalogs/font-schemes/mingliu.json +14 -0
- package/dist/spec/catalogs/font-schemes/miriam.json +14 -0
- package/dist/spec/catalogs/font-schemes/montserrat.json +12 -0
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +14 -0
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +16 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +17 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans.json +17 -0
- package/dist/spec/catalogs/font-schemes/nyala.json +14 -0
- package/dist/spec/catalogs/font-schemes/open-sans.json +12 -0
- package/dist/spec/catalogs/font-schemes/pmingliu.json +14 -0
- package/dist/spec/catalogs/font-schemes/poppins.json +12 -0
- package/dist/spec/catalogs/font-schemes/pt-serif.json +12 -0
- package/dist/spec/catalogs/font-schemes/raavi.json +14 -0
- package/dist/spec/catalogs/font-schemes/raleway.json +12 -0
- package/dist/spec/catalogs/font-schemes/roboto.json +12 -0
- package/dist/spec/catalogs/font-schemes/rockwell.json +12 -0
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +16 -0
- package/dist/spec/catalogs/font-schemes/seaford.json +12 -0
- package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +12 -0
- package/dist/spec/catalogs/font-schemes/segoe-ui.json +12 -0
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +15 -0
- package/dist/spec/catalogs/font-schemes/shruti.json +14 -0
- package/dist/spec/catalogs/font-schemes/simsun.json +14 -0
- package/dist/spec/catalogs/font-schemes/skeena.json +12 -0
- package/dist/spec/catalogs/font-schemes/sylfaen.json +15 -0
- package/dist/spec/catalogs/font-schemes/tahoma.json +12 -0
- package/dist/spec/catalogs/font-schemes/tenorite.json +12 -0
- package/dist/spec/catalogs/font-schemes/times-new-roman.json +12 -0
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +16 -0
- package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +12 -0
- package/dist/spec/catalogs/font-schemes/tunga.json +14 -0
- package/dist/spec/catalogs/font-schemes/verdana.json +12 -0
- package/dist/spec/catalogs/font-schemes/vrinda.json +14 -0
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +14 -0
- package/dist/spec/catalogs/languages/afrikaans.json +9 -0
- package/dist/spec/catalogs/languages/albanian.json +9 -0
- package/dist/spec/catalogs/languages/amharic.json +9 -0
- package/dist/spec/catalogs/languages/arabic.json +9 -0
- package/dist/spec/catalogs/languages/armenian.json +9 -0
- package/dist/spec/catalogs/languages/aymara.json +9 -0
- package/dist/spec/catalogs/languages/azerbaijani.json +9 -0
- package/dist/spec/catalogs/languages/bengali.json +9 -0
- package/dist/spec/catalogs/languages/berber-latin.json +9 -0
- package/dist/spec/catalogs/languages/bosnian-latin.json +9 -0
- package/dist/spec/catalogs/languages/bulgarian.json +9 -0
- package/dist/spec/catalogs/languages/catalan.json +9 -0
- package/dist/spec/catalogs/languages/cebuano.json +9 -0
- package/dist/spec/catalogs/languages/chinese-simplified.json +9 -0
- package/dist/spec/catalogs/languages/chinese-traditional.json +9 -0
- package/dist/spec/catalogs/languages/chittagonian.json +9 -0
- package/dist/spec/catalogs/languages/croatian.json +9 -0
- package/dist/spec/catalogs/languages/czech.json +9 -0
- package/dist/spec/catalogs/languages/danish.json +9 -0
- package/dist/spec/catalogs/languages/dutch.json +9 -0
- package/dist/spec/catalogs/languages/english-au.json +9 -0
- package/dist/spec/catalogs/languages/english-ca.json +9 -0
- package/dist/spec/catalogs/languages/english-gb.json +9 -0
- package/dist/spec/catalogs/languages/english-in.json +9 -0
- package/dist/spec/catalogs/languages/english-us.json +9 -0
- package/dist/spec/catalogs/languages/english.json +9 -0
- package/dist/spec/catalogs/languages/estonian.json +9 -0
- package/dist/spec/catalogs/languages/filipino.json +9 -0
- package/dist/spec/catalogs/languages/finnish.json +9 -0
- package/dist/spec/catalogs/languages/french.json +9 -0
- package/dist/spec/catalogs/languages/fulfulde.json +9 -0
- package/dist/spec/catalogs/languages/galician.json +9 -0
- package/dist/spec/catalogs/languages/georgian.json +9 -0
- package/dist/spec/catalogs/languages/german.json +9 -0
- package/dist/spec/catalogs/languages/greek.json +9 -0
- package/dist/spec/catalogs/languages/gujarati.json +9 -0
- package/dist/spec/catalogs/languages/hausa.json +9 -0
- package/dist/spec/catalogs/languages/hebrew.json +9 -0
- package/dist/spec/catalogs/languages/hindi.json +9 -0
- package/dist/spec/catalogs/languages/hungarian.json +9 -0
- package/dist/spec/catalogs/languages/igbo.json +9 -0
- package/dist/spec/catalogs/languages/index.json +565 -0
- package/dist/spec/catalogs/languages/indonesian.json +9 -0
- package/dist/spec/catalogs/languages/italian.json +9 -0
- package/dist/spec/catalogs/languages/japanese.json +9 -0
- package/dist/spec/catalogs/languages/kannada.json +9 -0
- package/dist/spec/catalogs/languages/kazakh.json +9 -0
- package/dist/spec/catalogs/languages/khmer.json +9 -0
- package/dist/spec/catalogs/languages/kinyarwanda.json +9 -0
- package/dist/spec/catalogs/languages/korean.json +9 -0
- package/dist/spec/catalogs/languages/kurmanji.json +9 -0
- package/dist/spec/catalogs/languages/latvian.json +9 -0
- package/dist/spec/catalogs/languages/lithuanian.json +9 -0
- package/dist/spec/catalogs/languages/macedonian.json +9 -0
- package/dist/spec/catalogs/languages/malagasy.json +9 -0
- package/dist/spec/catalogs/languages/malay.json +9 -0
- package/dist/spec/catalogs/languages/malayalam.json +9 -0
- package/dist/spec/catalogs/languages/maori.json +9 -0
- package/dist/spec/catalogs/languages/marathi.json +9 -0
- package/dist/spec/catalogs/languages/mongolian.json +9 -0
- package/dist/spec/catalogs/languages/nepali.json +9 -0
- package/dist/spec/catalogs/languages/norwegian.json +9 -0
- package/dist/spec/catalogs/languages/odia.json +9 -0
- package/dist/spec/catalogs/languages/oromo.json +9 -0
- package/dist/spec/catalogs/languages/pashto.json +9 -0
- package/dist/spec/catalogs/languages/persian.json +9 -0
- package/dist/spec/catalogs/languages/polish.json +9 -0
- package/dist/spec/catalogs/languages/portuguese.json +9 -0
- package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +9 -0
- package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +9 -0
- package/dist/spec/catalogs/languages/romanian.json +9 -0
- package/dist/spec/catalogs/languages/russian.json +9 -0
- package/dist/spec/catalogs/languages/serbian-cyrillic.json +9 -0
- package/dist/spec/catalogs/languages/serbian-latin.json +9 -0
- package/dist/spec/catalogs/languages/shona.json +9 -0
- package/dist/spec/catalogs/languages/slovak.json +9 -0
- package/dist/spec/catalogs/languages/slovenian.json +9 -0
- package/dist/spec/catalogs/languages/somali.json +9 -0
- package/dist/spec/catalogs/languages/spanish.json +9 -0
- package/dist/spec/catalogs/languages/swahili.json +9 -0
- package/dist/spec/catalogs/languages/swedish.json +9 -0
- package/dist/spec/catalogs/languages/tagalog.json +9 -0
- package/dist/spec/catalogs/languages/tajik.json +9 -0
- package/dist/spec/catalogs/languages/tamil.json +9 -0
- package/dist/spec/catalogs/languages/telugu.json +9 -0
- package/dist/spec/catalogs/languages/thai.json +9 -0
- package/dist/spec/catalogs/languages/turkish.json +9 -0
- package/dist/spec/catalogs/languages/ukrainian.json +9 -0
- package/dist/spec/catalogs/languages/urdu.json +9 -0
- package/dist/spec/catalogs/languages/uzbek-latin.json +9 -0
- package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +9 -0
- package/dist/spec/catalogs/languages/xhosa.json +9 -0
- package/dist/spec/catalogs/languages/yoruba.json +9 -0
- package/dist/spec/catalogs/languages/zulu.json +9 -0
- package/dist/spec/catalogs/layouts/blank.json +6 -0
- package/dist/spec/catalogs/layouts/chart-1x.json +16 -0
- package/dist/spec/catalogs/layouts/chart-2x.json +22 -0
- package/dist/spec/catalogs/layouts/chart-3x.json +28 -0
- package/dist/spec/catalogs/layouts/code-1x.json +16 -0
- package/dist/spec/catalogs/layouts/extract/canonical.json +487 -0
- package/dist/spec/catalogs/layouts/image-1x.json +16 -0
- package/dist/spec/catalogs/layouts/image-2x.json +22 -0
- package/dist/spec/catalogs/layouts/image-3x.json +28 -0
- package/dist/spec/catalogs/layouts/image-bleed.json +10 -0
- package/dist/spec/catalogs/layouts/index.json +147 -0
- package/dist/spec/catalogs/layouts/list-1x.json +13 -0
- package/dist/spec/catalogs/layouts/list-2x.json +16 -0
- package/dist/spec/catalogs/layouts/list-3x.json +19 -0
- package/dist/spec/catalogs/layouts/list-4x.json +22 -0
- package/dist/spec/catalogs/layouts/list-5x.json +25 -0
- package/dist/spec/catalogs/layouts/list-6x.json +28 -0
- package/dist/spec/catalogs/layouts/media-1x.json +16 -0
- package/dist/spec/catalogs/layouts/number-1x.json +13 -0
- package/dist/spec/catalogs/layouts/number-2x.json +16 -0
- package/dist/spec/catalogs/layouts/number-3x.json +19 -0
- package/dist/spec/catalogs/layouts/number-4x.json +22 -0
- package/dist/spec/catalogs/layouts/number-5x.json +25 -0
- package/dist/spec/catalogs/layouts/number-6x.json +28 -0
- package/dist/spec/catalogs/layouts/table-1x.json +16 -0
- package/dist/spec/catalogs/layouts/text-1x.json +13 -0
- package/dist/spec/catalogs/layouts/text-2x.json +16 -0
- package/dist/spec/catalogs/layouts/text-3x.json +19 -0
- package/dist/spec/catalogs/layouts/title-subtitle.json +13 -0
- package/dist/spec/catalogs/layouts/title.json +10 -0
- package/dist/spec/catalogs/narratives/board-meeting.json +192 -0
- package/dist/spec/catalogs/narratives/business-narrative.json +87 -0
- package/dist/spec/catalogs/narratives/business-review.json +119 -0
- package/dist/spec/catalogs/narratives/capacity-planning.json +88 -0
- package/dist/spec/catalogs/narratives/challenge-resolution.json +80 -0
- package/dist/spec/catalogs/narratives/classic-story.json +78 -0
- package/dist/spec/catalogs/narratives/company-intro.json +96 -0
- package/dist/spec/catalogs/narratives/conference-talk.json +54 -0
- package/dist/spec/catalogs/narratives/early-startup-pitch.json +119 -0
- package/dist/spec/catalogs/narratives/educate.json +95 -0
- package/dist/spec/catalogs/narratives/employee-review.json +87 -0
- package/dist/spec/catalogs/narratives/failure-analysis.json +104 -0
- package/dist/spec/catalogs/narratives/focus.json +120 -0
- package/dist/spec/catalogs/narratives/golden-circle.json +50 -0
- package/dist/spec/catalogs/narratives/index.json +358 -0
- package/dist/spec/catalogs/narratives/innovation.json +96 -0
- package/dist/spec/catalogs/narratives/justice.json +112 -0
- package/dist/spec/catalogs/narratives/marketing-strategy.json +111 -0
- package/dist/spec/catalogs/narratives/performance-improvement-plan.json +87 -0
- package/dist/spec/catalogs/narratives/performance-review.json +111 -0
- package/dist/spec/catalogs/narratives/persuade.json +94 -0
- package/dist/spec/catalogs/narratives/persuasive-sales.json +87 -0
- package/dist/spec/catalogs/narratives/pitch-deck.json +107 -0
- package/dist/spec/catalogs/narratives/problem-solution.json +61 -0
- package/dist/spec/catalogs/narratives/product-launch.json +104 -0
- package/dist/spec/catalogs/narratives/project-proposal.json +104 -0
- package/dist/spec/catalogs/narratives/qbr.json +85 -0
- package/dist/spec/catalogs/narratives/rags-to-riches.json +80 -0
- package/dist/spec/catalogs/narratives/reveal.json +87 -0
- package/dist/spec/catalogs/narratives/scqa.json +55 -0
- package/dist/spec/catalogs/narratives/status-update.json +72 -0
- package/dist/spec/catalogs/narratives/strategic-advisory.json +85 -0
- package/dist/spec/catalogs/narratives/strategic-narrative.json +61 -0
- package/dist/spec/catalogs/narratives/survey-analysis.json +104 -0
- package/dist/spec/catalogs/narratives/survival-story.json +103 -0
- package/dist/spec/catalogs/narratives/transformation-arc.json +50 -0
- package/dist/spec/catalogs/narratives/trend-analysis.json +79 -0
- package/dist/spec/catalogs/narratives/underdog-victory.json +87 -0
- package/dist/spec/catalogs/narratives/venture-pitch.json +109 -0
- package/dist/spec/catalogs/narratives/weekly-progress.json +103 -0
- package/dist/spec/catalogs/purposes/align.json +16 -0
- package/dist/spec/catalogs/purposes/decide.json +16 -0
- package/dist/spec/catalogs/purposes/educate.json +16 -0
- package/dist/spec/catalogs/purposes/index.json +61 -0
- package/dist/spec/catalogs/purposes/inform.json +16 -0
- package/dist/spec/catalogs/purposes/persuade.json +16 -0
- package/dist/spec/catalogs/purposes/pitch.json +16 -0
- package/dist/spec/catalogs/purposes/plan.json +16 -0
- package/dist/spec/catalogs/purposes/report.json +16 -0
- package/dist/spec/catalogs/purposes/sell.json +16 -0
- package/dist/spec/catalogs/social-platforms/bluesky.json +14 -0
- package/dist/spec/catalogs/social-platforms/facebook.json +14 -0
- package/dist/spec/catalogs/social-platforms/github.json +15 -0
- package/dist/spec/catalogs/social-platforms/index.json +68 -0
- package/dist/spec/catalogs/social-platforms/instagram.json +13 -0
- package/dist/spec/catalogs/social-platforms/linkedin.json +15 -0
- package/dist/spec/catalogs/social-platforms/mastodon.json +14 -0
- package/dist/spec/catalogs/social-platforms/threads.json +13 -0
- package/dist/spec/catalogs/social-platforms/tiktok.json +14 -0
- package/dist/spec/catalogs/social-platforms/x.json +14 -0
- package/dist/spec/catalogs/social-platforms/youtube.json +14 -0
- package/dist/spec/catalogs/themes/bold.json +13 -0
- package/dist/spec/catalogs/themes/classic.json +13 -0
- package/dist/spec/catalogs/themes/dark.json +13 -0
- package/dist/spec/catalogs/themes/index.json +31 -0
- package/dist/spec/catalogs/themes/minimal.json +13 -0
- package/dist/spec/catalogs/tones/authoritative.json +31 -0
- package/dist/spec/catalogs/tones/casual.json +31 -0
- package/dist/spec/catalogs/tones/conversational.json +31 -0
- package/dist/spec/catalogs/tones/formal.json +31 -0
- package/dist/spec/catalogs/tones/index.json +49 -0
- package/dist/spec/catalogs/tones/inspirational.json +31 -0
- package/dist/spec/catalogs/tones/persuasive.json +32 -0
- package/dist/spec/catalogs/tones/technical.json +31 -0
- package/dist/spec/openapi.yaml +776 -0
- package/dist/spec/reference/engine-defaults.json +35 -0
- package/dist/spec/schemas/audience.schema.json +156 -0
- package/dist/spec/schemas/chart-type.schema.json +537 -0
- package/dist/spec/schemas/color-scheme.schema.json +200 -0
- package/dist/spec/schemas/font-scheme.schema.json +174 -0
- package/dist/spec/schemas/language.schema.json +158 -0
- package/dist/spec/schemas/layout.schema.json +280 -0
- package/dist/spec/schemas/narrative.schema.json +207 -0
- package/dist/spec/schemas/opf.schema.json +2537 -0
- package/dist/spec/schemas/purpose.schema.json +92 -0
- package/dist/spec/schemas/social-platform.schema.json +184 -0
- package/dist/spec/schemas/theme.schema.json +168 -0
- package/dist/spec/schemas/tone.schema.json +146 -0
- package/dist/types.d.ts +1102 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/validator-Be5EzqAt.d.ts +2700 -0
- package/dist/validator.d.ts +3 -0
- package/dist/validator.js +6694 -0
- package/dist/validator.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openpresentation.org/schema/opf-color-scheme/v1",
|
|
4
|
+
"title": "OPF Color Scheme",
|
|
5
|
+
"description": "Schema for color-scheme records in the pptx.gallery library. Each scheme is a named palette with the twelve PowerPoint color slots (six accents, two darks, two lights, plus hyperlink and followed-hyperlink), suitable for being mapped directly into OOXML theme XML. Color schemes are referenced from OPF documents via design.colorScheme or design.colorScheme.id; the engine resolves the reference against catalogs.colorSchemes (inline) -> catalogs.colorSchemes.source -> the default catalog at https://www.pptx.gallery/color-schemes. Slot overrides on design.colorScheme take precedence over the resolved scheme.\n\nThe slot fields here mirror the inline-override fields on the in-document ColorScheme type (in opf.schema.json), so library entries and inline OPF overrides are interchangeable.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"$schema",
|
|
9
|
+
"id",
|
|
10
|
+
"name"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"$schema": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"const": "https://openpresentation.org/schema/opf-color-scheme/v1",
|
|
16
|
+
"description": "Identifies this record as a color scheme in the openpresentation.org catalog."
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable slug used by OPF documents to reference this color scheme. Lowercase kebab-case.",
|
|
22
|
+
"examples": [
|
|
23
|
+
"cool-horizon",
|
|
24
|
+
"boost",
|
|
25
|
+
"burnt-orange",
|
|
26
|
+
"forest-green"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"name": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Human-readable scheme name shown in pickers.",
|
|
32
|
+
"examples": [
|
|
33
|
+
"Cool Horizon",
|
|
34
|
+
"Boost",
|
|
35
|
+
"Burnt Orange",
|
|
36
|
+
"Forest Green"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"summary": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "One-sentence positioning of the palette — what mood it evokes and where to use it.",
|
|
42
|
+
"examples": [
|
|
43
|
+
"Cool blue-green palette tuned for B2B SaaS and finance decks.",
|
|
44
|
+
"High-energy warm palette built around burnt-orange accents."
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"description": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Longer prose describing the palette and its intended use.",
|
|
50
|
+
"examples": [
|
|
51
|
+
"A balanced cool-toned scheme: a deep navy dark slot pairs with mid-saturation blues and a teal accent for charts and callouts. Works well on both light and dark backgrounds."
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"accent1": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "Accent 1 color (hex). Mirrors the OOXML accent1 slot.",
|
|
57
|
+
"examples": [
|
|
58
|
+
"#2874A6",
|
|
59
|
+
"#FD3223",
|
|
60
|
+
"#F77F00"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"accent2": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"description": "Accent 2 color (hex). Mirrors the OOXML accent2 slot.",
|
|
66
|
+
"examples": [
|
|
67
|
+
"#1B4F72",
|
|
68
|
+
"#0308DB",
|
|
69
|
+
"#D62828"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"accent3": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "Accent 3 color (hex). Mirrors the OOXML accent3 slot.",
|
|
75
|
+
"examples": [
|
|
76
|
+
"#5499C7",
|
|
77
|
+
"#4F4955",
|
|
78
|
+
"#003049"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"accent4": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "Accent 4 color (hex). Mirrors the OOXML accent4 slot.",
|
|
84
|
+
"examples": [
|
|
85
|
+
"#7BDBB2",
|
|
86
|
+
"#A1DB30",
|
|
87
|
+
"#FCBF49"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"accent5": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Accent 5 color (hex). Mirrors the OOXML accent5 slot.",
|
|
93
|
+
"examples": [
|
|
94
|
+
"#3AC67A",
|
|
95
|
+
"#0682FE",
|
|
96
|
+
"#EAE2B7"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"accent6": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"description": "Accent 6 color (hex). Mirrors the OOXML accent6 slot.",
|
|
102
|
+
"examples": [
|
|
103
|
+
"#24A89E",
|
|
104
|
+
"#FC03BE",
|
|
105
|
+
"#BFBFBF"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"dark1": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"description": "Dark 1 color (hex). Typically the deepest neutral; OOXML dark1.",
|
|
111
|
+
"examples": [
|
|
112
|
+
"#000000"
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
"dark2": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"description": "Dark 2 color (hex). Secondary dark; OOXML dark2.",
|
|
118
|
+
"examples": [
|
|
119
|
+
"#011842"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"light1": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"description": "Light 1 color (hex). Typically the slide canvas; OOXML lt1.",
|
|
125
|
+
"examples": [
|
|
126
|
+
"#FFFFFF"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"light2": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"description": "Light 2 color (hex). Secondary light surface; OOXML lt2.",
|
|
132
|
+
"examples": [
|
|
133
|
+
"#F0F0F0"
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
"hyperlink": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"description": "Hyperlink color (hex). OOXML hlink.",
|
|
139
|
+
"examples": [
|
|
140
|
+
"#0563C1"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"followedHyperlink": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "Followed-hyperlink color (hex). OOXML folHlink.",
|
|
146
|
+
"examples": [
|
|
147
|
+
"#954F72"
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"tags": {
|
|
151
|
+
"type": "array",
|
|
152
|
+
"items": {
|
|
153
|
+
"type": "string"
|
|
154
|
+
},
|
|
155
|
+
"description": "Free-form labels for filtering and search.",
|
|
156
|
+
"examples": [
|
|
157
|
+
[
|
|
158
|
+
"corporate",
|
|
159
|
+
"blue",
|
|
160
|
+
"calm"
|
|
161
|
+
],
|
|
162
|
+
[
|
|
163
|
+
"bold",
|
|
164
|
+
"warm",
|
|
165
|
+
"high-energy"
|
|
166
|
+
]
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
"preview": {
|
|
170
|
+
"type": "object",
|
|
171
|
+
"description": "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.",
|
|
172
|
+
"properties": {
|
|
173
|
+
"src": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"format": "uri",
|
|
176
|
+
"description": "Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.",
|
|
177
|
+
"examples": [
|
|
178
|
+
"https://www.pptx.gallery/color-schemes/cool-horizon.png"
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
"thumbnailSrc": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"format": "uri",
|
|
184
|
+
"description": "Smaller thumbnail preview suited to dense grid views.",
|
|
185
|
+
"examples": [
|
|
186
|
+
"https://www.pptx.gallery/color-schemes/cool-horizon.thumbnail.png"
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
"vectorSrc": {
|
|
190
|
+
"type": "string",
|
|
191
|
+
"format": "uri",
|
|
192
|
+
"description": "SVG / vector preview for crisp scaling at any size.",
|
|
193
|
+
"examples": [
|
|
194
|
+
"https://www.pptx.gallery/color-schemes/cool-horizon.svg"
|
|
195
|
+
]
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openpresentation.org/schema/opf-font-scheme/v1",
|
|
4
|
+
"title": "OPF Font Scheme",
|
|
5
|
+
"description": "Schema for font-scheme records in the pptx.gallery library. Each scheme pairs a major (heading) and minor (body) font family in the OOXML majorFont/minorFont sense, scoped to a target app (PowerPoint or Google Slides) and a language family (Latin, East Asian, or Complex Script). Font schemes are referenced from OPF documents via design.fontScheme or design.fontScheme.id; the engine resolves the reference against catalogs.fontSchemes (inline) → catalogs.fontSchemes.source → the default catalog at https://www.pptx.gallery/font-schemes. Role overrides on design.fontScheme (heading, body, accent, code) take precedence over the resolved scheme.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"$schema",
|
|
9
|
+
"id",
|
|
10
|
+
"name",
|
|
11
|
+
"major",
|
|
12
|
+
"minor"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"$schema": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"const": "https://openpresentation.org/schema/opf-font-scheme/v1",
|
|
18
|
+
"description": "Identifies this record as a font scheme in the openpresentation.org catalog."
|
|
19
|
+
},
|
|
20
|
+
"id": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
23
|
+
"description": "Stable slug used by OPF documents to reference this font scheme. Lowercase kebab-case.",
|
|
24
|
+
"examples": [
|
|
25
|
+
"aptos",
|
|
26
|
+
"tenorite",
|
|
27
|
+
"seaford",
|
|
28
|
+
"noto-sans",
|
|
29
|
+
"microsoft-yahei"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"name": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Human-readable scheme name shown in pickers.",
|
|
35
|
+
"examples": [
|
|
36
|
+
"Aptos",
|
|
37
|
+
"Tenorite",
|
|
38
|
+
"Seaford",
|
|
39
|
+
"Noto Sans",
|
|
40
|
+
"Microsoft Yahei"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"major": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"description": "Heading (major) font family — mirrors the OOXML majorFont entry.",
|
|
46
|
+
"examples": [
|
|
47
|
+
"Aptos Display",
|
|
48
|
+
"Calibri",
|
|
49
|
+
"Microsoft YaHei"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"minor": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Body (minor) font family — mirrors the OOXML minorFont entry.",
|
|
55
|
+
"examples": [
|
|
56
|
+
"Aptos",
|
|
57
|
+
"Calibri",
|
|
58
|
+
"Microsoft YaHei"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
"type": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"enum": [
|
|
64
|
+
"sans-serif",
|
|
65
|
+
"serif",
|
|
66
|
+
"monospace"
|
|
67
|
+
],
|
|
68
|
+
"description": "High-level typographic class of the scheme."
|
|
69
|
+
},
|
|
70
|
+
"app": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"enum": [
|
|
73
|
+
"PowerPoint",
|
|
74
|
+
"Google Slides"
|
|
75
|
+
],
|
|
76
|
+
"description": "Target application this font pairing is intended for."
|
|
77
|
+
},
|
|
78
|
+
"languageFamily": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"enum": [
|
|
81
|
+
"latin",
|
|
82
|
+
"ea",
|
|
83
|
+
"cs"
|
|
84
|
+
],
|
|
85
|
+
"description": "OOXML font-language family this scheme is intended for: 'latin' for Latin-script content, 'ea' for East Asian scripts, 'cs' for Complex Scripts."
|
|
86
|
+
},
|
|
87
|
+
"languages": {
|
|
88
|
+
"type": "array",
|
|
89
|
+
"items": {
|
|
90
|
+
"type": "string"
|
|
91
|
+
},
|
|
92
|
+
"description": "Optional list of human-readable language names this scheme is curated for. Useful for picker UIs that group fonts by language coverage.",
|
|
93
|
+
"examples": [
|
|
94
|
+
[
|
|
95
|
+
"Chinese (simplified)",
|
|
96
|
+
"Chinese (traditional)",
|
|
97
|
+
"Japanese",
|
|
98
|
+
"Korean"
|
|
99
|
+
]
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"textSample": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"description": "Short specimen string used by picker UIs to preview the scheme.",
|
|
105
|
+
"examples": [
|
|
106
|
+
"Smooth professional look",
|
|
107
|
+
"这是用微软雅黑字体写的"
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"summary": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "One-sentence positioning of the font pairing.",
|
|
113
|
+
"examples": [
|
|
114
|
+
"PowerPoint-default sans-serif curated for general business decks.",
|
|
115
|
+
"East-Asian sans-serif suitable for Chinese, Japanese, and Korean content."
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
"description": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"description": "Longer prose describing the font scheme and where it shines.",
|
|
121
|
+
"examples": [
|
|
122
|
+
"Aptos is the default Microsoft 365 sans-serif. The major (display) cut adds optical weight for headings, and the minor (text) cut keeps body copy readable at smaller sizes."
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"tags": {
|
|
126
|
+
"type": "array",
|
|
127
|
+
"items": {
|
|
128
|
+
"type": "string"
|
|
129
|
+
},
|
|
130
|
+
"description": "Free-form labels for filtering and search.",
|
|
131
|
+
"examples": [
|
|
132
|
+
[
|
|
133
|
+
"latin",
|
|
134
|
+
"sans-serif",
|
|
135
|
+
"default"
|
|
136
|
+
],
|
|
137
|
+
[
|
|
138
|
+
"east-asian",
|
|
139
|
+
"system"
|
|
140
|
+
]
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"preview": {
|
|
144
|
+
"type": "object",
|
|
145
|
+
"description": "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.",
|
|
146
|
+
"properties": {
|
|
147
|
+
"src": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"format": "uri",
|
|
150
|
+
"description": "Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.",
|
|
151
|
+
"examples": [
|
|
152
|
+
"https://www.pptx.gallery/font-schemes/aptos.png"
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
"thumbnailSrc": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"format": "uri",
|
|
158
|
+
"description": "Smaller thumbnail preview suited to dense grid views.",
|
|
159
|
+
"examples": [
|
|
160
|
+
"https://www.pptx.gallery/font-schemes/aptos.thumbnail.png"
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
"vectorSrc": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"format": "uri",
|
|
166
|
+
"description": "SVG / vector preview for crisp scaling at any size.",
|
|
167
|
+
"examples": [
|
|
168
|
+
"https://www.pptx.gallery/font-schemes/aptos.svg"
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openpresentation.org/schema/opf-language/v1",
|
|
4
|
+
"title": "OPF Language",
|
|
5
|
+
"description": "Schema for language records in the pptx.gallery library. Each record names a presentation language, carries a BCP-47 language tag, and pairs it with sensible default font schemes for PowerPoint and Google Slides output. Languages are referenced from OPF documents via language; the engine resolves the reference against catalogs.languages (inline) → catalogs.languages.source → the default catalog at https://www.pptx.gallery/languages. The presentation language field also accepts BCP-47 tags directly or inline Language objects for engine-aware language records that carry default-font hints.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"$schema",
|
|
9
|
+
"id",
|
|
10
|
+
"name",
|
|
11
|
+
"bcp47"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"$schema": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"const": "https://openpresentation.org/schema/opf-language/v1",
|
|
17
|
+
"description": "Identifies this record as a language in the openpresentation.org catalog."
|
|
18
|
+
},
|
|
19
|
+
"id": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
22
|
+
"description": "Stable slug used by OPF documents to reference this language via language. Lowercase kebab-case.",
|
|
23
|
+
"examples": [
|
|
24
|
+
"english",
|
|
25
|
+
"spanish",
|
|
26
|
+
"japanese",
|
|
27
|
+
"chinese-simplified"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"name": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "Human-readable language name.",
|
|
33
|
+
"examples": [
|
|
34
|
+
"English",
|
|
35
|
+
"Spanish",
|
|
36
|
+
"Japanese",
|
|
37
|
+
"Chinese (simplified)"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"code": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "ISO 639-3 (or 639-2) three-letter language code. Carried for engines that prefer ISO codes.",
|
|
43
|
+
"examples": [
|
|
44
|
+
"ENG",
|
|
45
|
+
"SPA",
|
|
46
|
+
"FRA",
|
|
47
|
+
"JPN",
|
|
48
|
+
"CHI"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"bcp47": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "BCP-47 language tag for this record. Use 'en-GB' for UK English; 'en-UK' is not a valid BCP-47 region form.",
|
|
54
|
+
"examples": [
|
|
55
|
+
"en",
|
|
56
|
+
"en-US",
|
|
57
|
+
"en-GB",
|
|
58
|
+
"es-MX",
|
|
59
|
+
"ja-JP",
|
|
60
|
+
"zh-Hans"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"direction": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"enum": ["ltr", "rtl"],
|
|
66
|
+
"description": "Base text direction for the language.",
|
|
67
|
+
"examples": ["ltr", "rtl"]
|
|
68
|
+
},
|
|
69
|
+
"script": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "ISO 15924 script code when the writing system should be explicit.",
|
|
72
|
+
"examples": ["Latn", "Arab", "Cyrl", "Hans", "Hant"]
|
|
73
|
+
},
|
|
74
|
+
"fontScheme": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"description": "Default font-scheme id for this language when targeting PowerPoint output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does.",
|
|
77
|
+
"examples": [
|
|
78
|
+
"aptos",
|
|
79
|
+
"microsoft-yahei",
|
|
80
|
+
"nirmala-ui"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"googleFontScheme": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"description": "Default font-scheme id for this language when targeting Google Slides output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does.",
|
|
86
|
+
"examples": [
|
|
87
|
+
"roboto",
|
|
88
|
+
"noto-sans",
|
|
89
|
+
"noto-sans-sc"
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"summary": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"description": "One-sentence note about coverage or font defaults.",
|
|
95
|
+
"examples": [
|
|
96
|
+
"English language preset using a Latin-script font scheme.",
|
|
97
|
+
"Japanese language preset paired with a Microsoft YaHei East-Asian scheme."
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
"description": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"description": "Longer prose describing the language record and any font-pairing rationale.",
|
|
103
|
+
"examples": [
|
|
104
|
+
"English (US) preset. Defaults to Aptos for PowerPoint output and Roboto for Google Slides output. Use this entry as a baseline; override fontScheme on individual decks when brand fonts differ."
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"tags": {
|
|
108
|
+
"type": "array",
|
|
109
|
+
"items": {
|
|
110
|
+
"type": "string"
|
|
111
|
+
},
|
|
112
|
+
"description": "Free-form labels for filtering and search.",
|
|
113
|
+
"examples": [
|
|
114
|
+
[
|
|
115
|
+
"latin",
|
|
116
|
+
"default"
|
|
117
|
+
],
|
|
118
|
+
[
|
|
119
|
+
"east-asian"
|
|
120
|
+
],
|
|
121
|
+
[
|
|
122
|
+
"complex-script",
|
|
123
|
+
"rtl"
|
|
124
|
+
]
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
"preview": {
|
|
128
|
+
"type": "object",
|
|
129
|
+
"description": "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.",
|
|
130
|
+
"properties": {
|
|
131
|
+
"src": {
|
|
132
|
+
"type": "string",
|
|
133
|
+
"format": "uri",
|
|
134
|
+
"description": "Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.",
|
|
135
|
+
"examples": [
|
|
136
|
+
"https://www.pptx.gallery/languages/english.png"
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
"thumbnailSrc": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"format": "uri",
|
|
142
|
+
"description": "Smaller thumbnail preview suited to dense grid views.",
|
|
143
|
+
"examples": [
|
|
144
|
+
"https://www.pptx.gallery/languages/english.thumbnail.png"
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
"vectorSrc": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"format": "uri",
|
|
150
|
+
"description": "SVG / vector preview for crisp scaling at any size.",
|
|
151
|
+
"examples": [
|
|
152
|
+
"https://www.pptx.gallery/languages/english.svg"
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|