You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

slides.schema.json 5.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. {
  2. "type": "object",
  3. "title": "Presentation",
  4. "properties": {
  5. "title": {
  6. "type": "string"
  7. },
  8. "columns": {
  9. "type": "array",
  10. "title": "Chapters",
  11. "options": {
  12. "collapsed": "true"
  13. },
  14. "items": {
  15. "type": "object",
  16. "title": "Chapter",
  17. "headerTemplate": "{{title}}: {{self.title}}",
  18. "properties": {
  19. "id": {
  20. "type": "string"
  21. },
  22. "title": {
  23. "type": "string"
  24. },
  25. "params": {
  26. "$ref": "#/definitions/params"
  27. },
  28. "image": {
  29. "$ref": "#/definitions/image"
  30. },
  31. "markdown": {
  32. "$ref": "#/definitions/markdown"
  33. },
  34. "soundtrack": {
  35. "$ref": "#/definitions/soundtrack"
  36. },
  37. "slides": {
  38. "type": "array",
  39. "title": "Pages",
  40. "options": {
  41. "collapsed": "true"
  42. },
  43. "items": {
  44. "type": "object",
  45. "title": "Page",
  46. "headerTemplate": "{{title}}: {{self.title}}",
  47. "properties": {
  48. "id": {
  49. "type": "string"
  50. },
  51. "title": {
  52. "type": "string"
  53. },
  54. "params": {
  55. "$ref": "#/definitions/params"
  56. },
  57. "image": {
  58. "$ref": "#/definitions/image"
  59. },
  60. "markdown": {
  61. "$ref": "#/definitions/markdown"
  62. },
  63. "soundtrack": {
  64. "$ref": "#/definitions/soundtrack"
  65. }
  66. },
  67. "required": [
  68. "title",
  69. "params",
  70. "markdown"
  71. ]
  72. }
  73. }
  74. },
  75. "required": [
  76. "title",
  77. "params",
  78. "markdown"
  79. ]
  80. }
  81. }
  82. },
  83. "definitions": {
  84. "params": {
  85. "type": "object",
  86. "title": "Parameters",
  87. "options": {
  88. "collapsed": "true"
  89. },
  90. "properties": {
  91. "theme": {
  92. "type": "string",
  93. "title": "Theme",
  94. "enum": [
  95. "beige",
  96. "black",
  97. "blood",
  98. "league",
  99. "moon",
  100. "night",
  101. "serif",
  102. "simple",
  103. "sky",
  104. "solarized",
  105. "white"
  106. ],
  107. "default": "simple"
  108. },
  109. "background-image": {
  110. "$ref": "/enum/bg",
  111. "title": "Background image",
  112. "links": [
  113. {
  114. "rel": "Preview image",
  115. "class": "link-info",
  116. "href": "{{self}}"
  117. }
  118. ]
  119. },
  120. "background-video": {
  121. "$ref": "/enum/bg-video",
  122. "title": "Background video",
  123. "links": [
  124. {
  125. "rel": "Preview video",
  126. "class": "link-info",
  127. "href": "{{self}}",
  128. "media-type": "video/mp4"
  129. }
  130. ]
  131. },
  132. "background-video-loop": {
  133. "type": "boolean",
  134. "format": "checkbox",
  135. "default": true
  136. },
  137. "background-video-mute": {
  138. "type": "boolean",
  139. "format": "checkbox",
  140. "default": true
  141. },
  142. "background-opacity": {
  143. "type": "string",
  144. "title": "Background opacity",
  145. "enum": [
  146. "0.25",
  147. "0.5",
  148. "0.75",
  149. "1"
  150. ],
  151. "default": "0.5"
  152. },
  153. "background-size": {
  154. "type": "string",
  155. "title": "Background size",
  156. "enum": [
  157. "contain",
  158. "cover"
  159. ],
  160. "default": "cover"
  161. }
  162. }
  163. },
  164. "image": {
  165. "type": "object",
  166. "title": "Image",
  167. "options": {
  168. "collapsed": "true"
  169. },
  170. "properties": {
  171. "placement": {
  172. "type": "string",
  173. "title": "Placement",
  174. "enum": [
  175. "none",
  176. "above",
  177. "left",
  178. "right",
  179. "below"
  180. ],
  181. "default": "none"
  182. },
  183. "width": {
  184. "type": "string",
  185. "title": "Width (percent)",
  186. "enum": [
  187. "25",
  188. "33",
  189. "50",
  190. "66",
  191. "75"
  192. ],
  193. "default": "50"
  194. },
  195. "source": {
  196. "$ref": "/enum/img",
  197. "title": "Image",
  198. "links": [
  199. {
  200. "rel": "Preview image",
  201. "class": "link-info",
  202. "href": "{{self}}"
  203. }
  204. ]
  205. },
  206. "alt": {
  207. "type": "string",
  208. "title": "Description"
  209. }
  210. }
  211. },
  212. "soundtrack": {
  213. "type": "string",
  214. "title": "Soundtrack",
  215. "$ref": "/enum/audio"
  216. },
  217. "markdown": {
  218. "type": "string",
  219. "title": "Content",
  220. "format": "markdown",
  221. "options": {
  222. "simplemde": {
  223. "renderingConfig": {
  224. "singleLineBreaks": false
  225. },
  226. "toolbar": [
  227. "bold",
  228. "italic",
  229. "heading",
  230. "|",
  231. "ordered-list",
  232. "unordered-list",
  233. "|",
  234. "link",
  235. "quote",
  236. "|",
  237. "preview"
  238. ]
  239. }
  240. }
  241. }
  242. }
  243. }