bookish-press 0.4.1 → 0.4.21

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.
Files changed (395) hide show
  1. package/README.md +3 -1
  2. package/components/Auth.svelte +19 -14
  3. package/components/Auth.svelte.d.ts +4 -4
  4. package/components/Authentication.d.ts +2 -2
  5. package/components/BookPreview.svelte +77 -59
  6. package/components/BookPreview.svelte.d.ts +5 -5
  7. package/components/External.svelte +1 -1
  8. package/components/External.svelte.d.ts +3 -3
  9. package/components/Link.svelte +49 -3
  10. package/components/Link.svelte.d.ts +3 -4
  11. package/components/app/BookList.svelte +19 -0
  12. package/components/app/BookList.svelte.d.ts +18 -0
  13. package/components/app/Button.svelte +49 -0
  14. package/components/app/Button.svelte.d.ts +22 -0
  15. package/components/app/Feedback.svelte +45 -0
  16. package/components/app/Feedback.svelte.d.ts +18 -0
  17. package/components/app/Head.svelte +12 -0
  18. package/components/app/Head.svelte.d.ts +27 -0
  19. package/components/app/Large.svelte +8 -0
  20. package/components/app/Large.svelte.d.ts +27 -0
  21. package/components/app/Lead.svelte +12 -0
  22. package/components/app/Lead.svelte.d.ts +27 -0
  23. package/components/app/Link.svelte +24 -0
  24. package/components/app/Link.svelte.d.ts +20 -0
  25. package/components/app/Options.svelte +24 -0
  26. package/components/app/Options.svelte.d.ts +19 -0
  27. package/components/app/Paragraph.svelte +19 -0
  28. package/components/app/Paragraph.svelte.d.ts +18 -0
  29. package/components/app/Table.svelte +32 -0
  30. package/components/app/Table.svelte.d.ts +27 -0
  31. package/components/app/TextInput.svelte +37 -0
  32. package/components/app/TextInput.svelte.d.ts +22 -0
  33. package/components/app/Writing.svelte +13 -0
  34. package/components/app/Writing.svelte.d.ts +27 -0
  35. package/components/chapter/Atom.svelte +20 -6
  36. package/components/chapter/Atom.svelte.d.ts +3 -3
  37. package/components/chapter/Block.svelte +23 -20
  38. package/components/chapter/Block.svelte.d.ts +4 -4
  39. package/components/chapter/Callout.svelte +38 -7
  40. package/components/chapter/Callout.svelte.d.ts +4 -4
  41. package/components/chapter/CaptionedCode.svelte +66 -23
  42. package/components/chapter/CaptionedCode.svelte.d.ts +4 -4
  43. package/components/chapter/ChapterBody.svelte +61 -9
  44. package/components/chapter/ChapterBody.svelte.d.ts +4 -4
  45. package/components/chapter/Citations.svelte +86 -20
  46. package/components/chapter/Citations.svelte.d.ts +4 -4
  47. package/components/chapter/Code.svelte +152 -21
  48. package/components/chapter/Code.svelte.d.ts +3 -3
  49. package/components/chapter/Comment.svelte +38 -16
  50. package/components/chapter/Comment.svelte.d.ts +3 -3
  51. package/components/chapter/Definition.svelte +52 -18
  52. package/components/chapter/Definition.svelte.d.ts +5 -8
  53. package/components/chapter/Embed.svelte +154 -66
  54. package/components/chapter/Embed.svelte.d.ts +5 -4
  55. package/components/chapter/ErrorMessage.svelte +7 -2
  56. package/components/chapter/ErrorMessage.svelte.d.ts +4 -4
  57. package/components/chapter/ExtendedPrism.d.ts +2 -0
  58. package/components/chapter/ExtendedPrism.js +69 -0
  59. package/components/chapter/Figure.svelte +90 -0
  60. package/components/chapter/Figure.svelte.d.ts +24 -0
  61. package/components/chapter/Footnote.svelte +75 -12
  62. package/components/chapter/Footnote.svelte.d.ts +4 -4
  63. package/components/chapter/Format.svelte +60 -37
  64. package/components/chapter/Format.svelte.d.ts +4 -4
  65. package/components/chapter/InlineCode.svelte +15 -5
  66. package/components/chapter/InlineCode.svelte.d.ts +4 -4
  67. package/components/chapter/Label.svelte +37 -8
  68. package/components/chapter/Label.svelte.d.ts +4 -4
  69. package/components/chapter/Link.svelte +23 -18
  70. package/components/chapter/Link.svelte.d.ts +4 -4
  71. package/components/chapter/List.svelte +75 -8
  72. package/components/chapter/List.svelte.d.ts +4 -4
  73. package/components/chapter/Marginal.svelte +169 -27
  74. package/components/chapter/Marginal.svelte.d.ts +6 -3
  75. package/components/chapter/Paragraph.svelte +74 -6
  76. package/components/chapter/Paragraph.svelte.d.ts +4 -4
  77. package/components/chapter/Positioned.svelte +33 -0
  78. package/components/chapter/Positioned.svelte.d.ts +19 -0
  79. package/components/chapter/Problem.svelte +15 -0
  80. package/components/chapter/Problem.svelte.d.ts +27 -0
  81. package/components/chapter/Python.svelte +68 -21
  82. package/components/chapter/Python.svelte.d.ts +4 -4
  83. package/components/chapter/Quote.svelte +64 -11
  84. package/components/chapter/Quote.svelte.d.ts +4 -4
  85. package/components/chapter/Rule.svelte +12 -1
  86. package/components/chapter/Rule.svelte.d.ts +4 -4
  87. package/components/chapter/Table.svelte +36 -25
  88. package/components/chapter/Table.svelte.d.ts +4 -4
  89. package/components/chapter/Text.svelte +61 -36
  90. package/components/chapter/Text.svelte.d.ts +5 -4
  91. package/components/editor/BookishEditor.svelte +343 -237
  92. package/components/editor/BookishEditor.svelte.d.ts +5 -5
  93. package/components/editor/CalloutEditor.svelte +5 -5
  94. package/components/editor/CalloutEditor.svelte.d.ts +4 -4
  95. package/components/editor/CaptionedCodeEditor.svelte +16 -12
  96. package/components/editor/CaptionedCodeEditor.svelte.d.ts +4 -4
  97. package/components/editor/CaretContext.d.ts +48 -16
  98. package/components/editor/CaretState.d.ts +16 -44
  99. package/components/editor/CaretUtilities.d.ts +2 -2
  100. package/components/editor/CaretView.svelte +80 -0
  101. package/components/editor/CaretView.svelte.d.ts +24 -0
  102. package/components/editor/CitationsEditor.svelte +36 -25
  103. package/components/editor/CitationsEditor.svelte.d.ts +4 -4
  104. package/components/editor/Clipboard.d.ts +2 -2
  105. package/components/editor/Command.d.ts +13 -12
  106. package/components/editor/Commands.d.ts +1 -1
  107. package/components/editor/Commands.js +1114 -571
  108. package/components/editor/ConfirmButton.svelte +18 -12
  109. package/components/editor/ConfirmButton.svelte.d.ts +5 -4
  110. package/components/editor/DefinitionEditor.svelte +29 -21
  111. package/components/editor/DefinitionEditor.svelte.d.ts +4 -4
  112. package/components/editor/EmbedEditor.svelte +93 -43
  113. package/components/editor/EmbedEditor.svelte.d.ts +3 -3
  114. package/components/editor/Icon.svelte +17 -0
  115. package/components/editor/Icon.svelte.d.ts +16 -0
  116. package/components/editor/ImageChooser.svelte +53 -34
  117. package/components/editor/ImageChooser.svelte.d.ts +3 -3
  118. package/components/editor/InlineCodeEditor.svelte +7 -4
  119. package/components/editor/InlineCodeEditor.svelte.d.ts +4 -4
  120. package/components/editor/LabelEditor.svelte +20 -11
  121. package/components/editor/LabelEditor.svelte.d.ts +4 -4
  122. package/components/editor/LanguageEditor.svelte +10 -7
  123. package/components/editor/LanguageEditor.svelte.d.ts +3 -3
  124. package/components/editor/LinkEditor.svelte +64 -39
  125. package/components/editor/LinkEditor.svelte.d.ts +4 -4
  126. package/components/editor/Note.svelte +3 -3
  127. package/components/editor/Note.svelte.d.ts +6 -2
  128. package/components/editor/PositionEditor.svelte +9 -6
  129. package/components/editor/PositionEditor.svelte.d.ts +4 -4
  130. package/components/editor/QuoteEditor.svelte +7 -2
  131. package/components/editor/QuoteEditor.svelte.d.ts +4 -4
  132. package/components/editor/Switch.svelte +55 -28
  133. package/components/editor/Switch.svelte.d.ts +4 -4
  134. package/components/editor/TableEditor.svelte +10 -0
  135. package/components/editor/TableEditor.svelte.d.ts +17 -0
  136. package/components/editor/TextEditor.svelte +83 -45
  137. package/components/editor/TextEditor.svelte.d.ts +5 -4
  138. package/components/editor/Toggle.svelte +11 -8
  139. package/components/editor/Toggle.svelte.d.ts +4 -4
  140. package/components/editor/Toolbar.svelte +192 -144
  141. package/components/editor/Toolbar.svelte.d.ts +5 -8
  142. package/components/editor/ToolbarGroup.svelte +18 -23
  143. package/components/editor/ToolbarGroup.svelte.d.ts +3 -4
  144. package/components/editor/ToolbarSpacer.svelte +8 -1
  145. package/components/editor/ToolbarSpacer.svelte.d.ts +6 -2
  146. package/components/editor/URLEditor.svelte +6 -8
  147. package/components/editor/URLEditor.svelte.d.ts +3 -3
  148. package/components/editor/UndoState.d.ts +3 -3
  149. package/components/editor/icons/annotate.svg +1 -0
  150. package/components/editor/icons/block.svg +1 -0
  151. package/components/editor/icons/bold.svg +1 -0
  152. package/components/editor/icons/bullets.svg +1 -0
  153. package/components/editor/icons/callout.svg +1 -0
  154. package/components/editor/icons/citation.svg +8 -0
  155. package/components/editor/icons/clear.svg +1 -0
  156. package/components/editor/icons/clipboard.svg +1 -0
  157. package/components/editor/icons/code.svg +1 -0
  158. package/components/editor/icons/columnafter.svg +1 -0
  159. package/components/editor/icons/columnbefore.svg +1 -0
  160. package/components/editor/icons/comment.svg +1 -0
  161. package/components/editor/icons/copy.svg +1 -0
  162. package/components/editor/icons/cut.svg +1 -0
  163. package/components/editor/icons/define.svg +7 -0
  164. package/components/editor/icons/deletecolumn.svg +1 -0
  165. package/components/editor/icons/deleterow.svg +1 -0
  166. package/components/editor/icons/footnote.svg +8 -0
  167. package/components/editor/icons/header1.svg +7 -0
  168. package/components/editor/icons/header2.svg +7 -0
  169. package/components/editor/icons/header3.svg +7 -0
  170. package/components/editor/icons/home.svg +1 -0
  171. package/components/editor/icons/indent.svg +1 -0
  172. package/components/editor/icons/italic.svg +1 -0
  173. package/components/editor/icons/label.svg +1 -0
  174. package/components/editor/icons/left.svg +1 -0
  175. package/components/editor/icons/level.svg +1 -0
  176. package/components/editor/icons/link.svg +1 -0
  177. package/components/editor/icons/list.svg +1 -0
  178. package/components/editor/icons/media.svg +1 -0
  179. package/components/editor/icons/middle.svg +1 -0
  180. package/components/editor/icons/numbers.svg +10 -0
  181. package/components/editor/icons/paragraph.svg +1 -0
  182. package/components/editor/icons/paste.svg +10 -0
  183. package/components/editor/icons/quote.svg +1 -0
  184. package/components/editor/icons/redo.svg +1 -0
  185. package/components/editor/icons/right.svg +1 -0
  186. package/components/editor/icons/rowabove.svg +1 -0
  187. package/components/editor/icons/rowbelow.svg +1 -0
  188. package/components/editor/icons/rule.svg +1 -0
  189. package/components/editor/icons/sub.svg +1 -0
  190. package/components/editor/icons/super.svg +1 -0
  191. package/components/editor/icons/table.svg +1 -0
  192. package/components/editor/icons/text.svg +1 -0
  193. package/components/editor/icons/time.svg +1 -0
  194. package/components/editor/icons/undo.svg +1 -0
  195. package/components/editor/icons/unindent.svg +1 -0
  196. package/components/editor/icons/unlink.svg +1 -0
  197. package/components/page/Acknowledgements.svelte +31 -22
  198. package/components/page/Acknowledgements.svelte.d.ts +4 -4
  199. package/components/page/Authors.svelte +34 -14
  200. package/components/page/Authors.svelte.d.ts +6 -6
  201. package/components/page/BulkReferenceEditor.svelte +53 -22
  202. package/components/page/BulkReferenceEditor.svelte.d.ts +4 -4
  203. package/components/page/Chapter.svelte +196 -141
  204. package/components/page/Chapter.svelte.d.ts +3 -3
  205. package/components/page/ChapterContext.d.ts +4 -4
  206. package/components/page/ChapterNumber.svelte +9 -0
  207. package/components/page/ChapterNumber.svelte.d.ts +27 -0
  208. package/components/page/ChapterTitle.svelte +16 -0
  209. package/components/page/ChapterTitle.svelte.d.ts +18 -0
  210. package/components/page/Contexts.d.ts +31 -20
  211. package/components/page/Contexts.js +47 -17
  212. package/components/page/DefinitionView.svelte +115 -86
  213. package/components/page/DefinitionView.svelte.d.ts +3 -3
  214. package/components/page/Description.svelte +27 -18
  215. package/components/page/Description.svelte.d.ts +4 -4
  216. package/components/page/Edition.svelte +127 -75
  217. package/components/page/Edition.svelte.d.ts +4 -4
  218. package/components/page/Editions.svelte +158 -0
  219. package/components/page/Editions.svelte.d.ts +14 -0
  220. package/components/page/Glossary.svelte +57 -48
  221. package/components/page/Glossary.svelte.d.ts +4 -4
  222. package/components/page/Header.svelte +129 -44
  223. package/components/page/Header.svelte.d.ts +6 -6
  224. package/components/page/Index.svelte +114 -80
  225. package/components/page/Index.svelte.d.ts +4 -4
  226. package/components/page/Instructions.svelte +18 -16
  227. package/components/page/Instructions.svelte.d.ts +4 -4
  228. package/components/page/License.svelte +29 -21
  229. package/components/page/License.svelte.d.ts +4 -4
  230. package/components/page/Loading.svelte +102 -12
  231. package/components/page/Loading.svelte.d.ts +6 -2
  232. package/components/page/Media.svelte +77 -51
  233. package/components/page/Media.svelte.d.ts +4 -4
  234. package/components/page/MediaPreview.svelte +26 -8
  235. package/components/page/MediaPreview.svelte.d.ts +3 -3
  236. package/components/page/Muted.svelte +10 -0
  237. package/components/page/Muted.svelte.d.ts +27 -0
  238. package/components/page/Outline.svelte +279 -59
  239. package/components/page/Outline.svelte.d.ts +3 -3
  240. package/components/page/Page.svelte +40 -9
  241. package/components/page/Page.svelte.d.ts +3 -3
  242. package/components/page/PageHeader.svelte +14 -0
  243. package/components/page/PageHeader.svelte.d.ts +18 -0
  244. package/components/page/PageParagraph.svelte +18 -0
  245. package/components/page/PageParagraph.svelte.d.ts +27 -0
  246. package/components/page/PossibleChapter.svelte +7 -7
  247. package/components/page/PossibleChapter.svelte.d.ts +4 -4
  248. package/components/page/PossibleReference.svelte +6 -11
  249. package/components/page/PossibleReference.svelte.d.ts +6 -7
  250. package/components/page/Print.svelte +27 -3
  251. package/components/page/Print.svelte.d.ts +4 -4
  252. package/components/page/Reference.svelte +256 -113
  253. package/components/page/Reference.svelte.d.ts +5 -5
  254. package/components/page/References.svelte +39 -47
  255. package/components/page/References.svelte.d.ts +4 -4
  256. package/components/page/Rows.svelte +54 -0
  257. package/components/page/Rows.svelte.d.ts +27 -0
  258. package/components/page/Search.svelte +86 -63
  259. package/components/page/Search.svelte.d.ts +4 -4
  260. package/components/page/Status.svelte +43 -35
  261. package/components/page/Status.svelte.d.ts +4 -9
  262. package/components/page/SubdomainEditor.svelte +40 -27
  263. package/components/page/SubdomainEditor.svelte.d.ts +4 -4
  264. package/components/page/TableOfContents.svelte +225 -190
  265. package/components/page/TableOfContents.svelte.d.ts +4 -4
  266. package/components/page/TableOfContentsImage.svelte +8 -8
  267. package/components/page/TableOfContentsImage.svelte.d.ts +3 -3
  268. package/components/page/TableOfContentsRow.svelte +96 -33
  269. package/components/page/TableOfContentsRow.svelte.d.ts +4 -4
  270. package/components/page/ThemeEditor.svelte +174 -39
  271. package/components/page/ThemeEditor.svelte.d.ts +4 -4
  272. package/components/page/ThemeEditorPreview.svelte +35 -23
  273. package/components/page/ThemeEditorPreview.svelte.d.ts +5 -5
  274. package/components/page/ThemeSetEditor.svelte +15 -13
  275. package/components/page/ThemeSetEditor.svelte.d.ts +4 -4
  276. package/components/page/ThemeVariableEditor.svelte +24 -15
  277. package/components/page/ThemeVariableEditor.svelte.d.ts +3 -3
  278. package/components/page/Title.svelte +12 -0
  279. package/components/page/Title.svelte.d.ts +27 -0
  280. package/components/page/Unknown.svelte +25 -21
  281. package/components/page/Unknown.svelte.d.ts +4 -4
  282. package/components/page/margins.js +50 -33
  283. package/index.d.ts +14 -0
  284. package/index.js +14 -0
  285. package/models/CRUD.d.ts +17 -0
  286. package/models/CRUD.js +207 -0
  287. package/models/Firebase.d.ts +1 -0
  288. package/models/Firebase.js +21 -15
  289. package/models/book/Book.d.ts +26 -30
  290. package/models/book/Book.js +120 -113
  291. package/models/book/BookMedia.d.ts +3 -3
  292. package/models/book/BookMedia.js +22 -16
  293. package/models/book/BookSaveStatus.d.ts +7 -0
  294. package/models/book/BookSaveStatus.js +8 -0
  295. package/models/book/Chapter.d.ts +46 -39
  296. package/models/book/Chapter.js +180 -198
  297. package/models/book/ChapterID.js +7 -7
  298. package/models/book/Definition.d.ts +1 -1
  299. package/models/book/Edition.d.ts +62 -60
  300. package/models/book/Edition.js +385 -303
  301. package/models/book/Reference.d.ts +24 -0
  302. package/models/book/Reference.js +78 -0
  303. package/models/book/Schema.d.ts +169 -0
  304. package/models/book/Schema.js +114 -0
  305. package/models/book/Theme.d.ts +44 -37
  306. package/models/book/Theme.js +452 -52
  307. package/models/book/ThemeColors.d.ts +1 -1
  308. package/models/book/Words.d.ts +2 -0
  309. package/models/book/Words.js +110 -0
  310. package/models/chapter/AtomNode.d.ts +4 -4
  311. package/models/chapter/AtomNode.js +20 -13
  312. package/models/chapter/BlockNode.d.ts +9 -10
  313. package/models/chapter/BlockNode.js +32 -13
  314. package/models/chapter/BlocksNode.d.ts +10 -10
  315. package/models/chapter/BlocksNode.js +315 -120
  316. package/models/chapter/BlocksNode.test.js +494 -228
  317. package/models/chapter/Bookkeeping.d.ts +1 -1
  318. package/models/chapter/CalloutNode.d.ts +3 -3
  319. package/models/chapter/CalloutNode.js +34 -12
  320. package/models/chapter/Caret.d.ts +9 -7
  321. package/models/chapter/Caret.js +11 -6
  322. package/models/chapter/ChapterNode.d.ts +11 -11
  323. package/models/chapter/ChapterNode.js +70 -33
  324. package/models/chapter/CitationsNode.d.ts +3 -3
  325. package/models/chapter/CitationsNode.js +31 -12
  326. package/models/chapter/CodeNode.d.ts +11 -6
  327. package/models/chapter/CodeNode.js +143 -34
  328. package/models/chapter/CommentNode.d.ts +5 -5
  329. package/models/chapter/CommentNode.js +29 -13
  330. package/models/chapter/DefinitionNode.d.ts +2 -2
  331. package/models/chapter/DefinitionNode.js +15 -7
  332. package/models/chapter/Edit.d.ts +3 -3
  333. package/models/chapter/EmbedNode.d.ts +9 -5
  334. package/models/chapter/EmbedNode.js +108 -35
  335. package/models/chapter/ErrorNode.d.ts +2 -2
  336. package/models/chapter/ErrorNode.js +34 -12
  337. package/models/chapter/FootnoteNode.d.ts +5 -5
  338. package/models/chapter/FootnoteNode.js +34 -16
  339. package/models/chapter/FormatNode.d.ts +10 -10
  340. package/models/chapter/FormatNode.js +237 -106
  341. package/models/chapter/FormatNode.test.js +87 -45
  342. package/models/chapter/InlineCodeNode.d.ts +2 -2
  343. package/models/chapter/InlineCodeNode.js +22 -9
  344. package/models/chapter/LabelNode.d.ts +4 -4
  345. package/models/chapter/LabelNode.js +31 -13
  346. package/models/chapter/LinkNode.d.ts +2 -2
  347. package/models/chapter/LinkNode.js +21 -9
  348. package/models/chapter/ListNode.d.ts +8 -8
  349. package/models/chapter/ListNode.js +99 -38
  350. package/models/chapter/ListNode.test.js +29 -24
  351. package/models/chapter/MetadataNode.d.ts +3 -3
  352. package/models/chapter/MetadataNode.js +13 -5
  353. package/models/chapter/Node.d.ts +5 -3
  354. package/models/chapter/Node.js +76 -29
  355. package/models/chapter/Node.test.js +20 -18
  356. package/models/chapter/ParagraphNode.d.ts +6 -6
  357. package/models/chapter/ParagraphNode.js +84 -29
  358. package/models/chapter/ParagraphNode.test.js +22 -13
  359. package/models/chapter/Parser.d.ts +25 -25
  360. package/models/chapter/Parser.js +201 -189
  361. package/models/chapter/Parser.test.js +16 -16
  362. package/models/chapter/Position.d.ts +1 -1
  363. package/models/chapter/QuoteNode.d.ts +6 -6
  364. package/models/chapter/QuoteNode.js +61 -23
  365. package/models/chapter/RootNode.d.ts +4 -4
  366. package/models/chapter/RuleNode.d.ts +2 -2
  367. package/models/chapter/RuleNode.js +31 -11
  368. package/models/chapter/TableNode.d.ts +8 -6
  369. package/models/chapter/TableNode.js +89 -34
  370. package/models/chapter/TableNode.test.js +22 -24
  371. package/models/chapter/TextNode.d.ts +6 -6
  372. package/models/chapter/TextNode.js +72 -32
  373. package/models/chapter/TextNode.test.js +4 -4
  374. package/models/loadEdition.d.ts +1 -1
  375. package/models/loadEdition.js +10 -6
  376. package/package.json +104 -25
  377. package/util/getSubdomain.js +8 -6
  378. package/util/isMobile.js +1 -1
  379. package/util/mineReference.d.ts +3 -2
  380. package/util/mineReference.js +67 -29
  381. package/util/scrollToEyeLevel.js +6 -1
  382. package/components/chapter/renderPosition.d.ts +0 -3
  383. package/components/chapter/renderPosition.js +0 -4
  384. package/components/editor/ToolbarIcon.svelte +0 -22
  385. package/components/editor/ToolbarIcon.svelte.d.ts +0 -16
  386. package/components/page/Alert.svelte +0 -11
  387. package/components/page/Alert.svelte.d.ts +0 -23
  388. package/components/page/Revisions.svelte +0 -124
  389. package/components/page/Revisions.svelte.d.ts +0 -14
  390. package/models/BookLoader.d.ts +0 -2
  391. package/models/BookLoader.js +0 -67
  392. package/models/Firestore.d.ts +0 -22
  393. package/models/Firestore.js +0 -194
  394. package/models/chapter/ReferenceNode.d.ts +0 -29
  395. package/models/chapter/ReferenceNode.js +0 -48
@@ -0,0 +1,24 @@
1
+ export default class Reference {
2
+ readonly citationID: string;
3
+ readonly authors: string;
4
+ readonly year: string;
5
+ readonly title: string;
6
+ readonly source: string;
7
+ readonly url: string;
8
+ readonly summary: string;
9
+ readonly short: boolean;
10
+ constructor(citationID: string, authors?: string, year?: string, title?: string, source?: string, url?: string, summary?: string, short?: boolean);
11
+ toText(): string;
12
+ toList(): string[];
13
+ copy(): this;
14
+ withChildReplaced(): undefined;
15
+ withContentInRange(): this | undefined;
16
+ withCitationID(id: string): Reference;
17
+ withAuthors(authors: string): Reference;
18
+ withYear(year: string): Reference;
19
+ withTitle(title: string): Reference;
20
+ withSource(source: string): Reference;
21
+ withURL(url: string): Reference;
22
+ withSummary(summary: string): Reference;
23
+ equals(ref: Reference): boolean;
24
+ }
@@ -0,0 +1,78 @@
1
+ export default class Reference {
2
+ citationID;
3
+ authors;
4
+ year;
5
+ title;
6
+ source;
7
+ url;
8
+ summary;
9
+ short;
10
+ constructor(citationID, authors = '', year = '', title = '', source = '', url = '', summary = '', short = false) {
11
+ this.citationID = citationID;
12
+ this.authors = authors;
13
+ this.year = year;
14
+ this.title = title;
15
+ this.source = source;
16
+ this.url = url;
17
+ this.summary = summary;
18
+ this.short = short;
19
+ }
20
+ toText() {
21
+ return (this.authors +
22
+ ' ' +
23
+ this.year +
24
+ ' ' +
25
+ this.title +
26
+ ' ' +
27
+ this.source +
28
+ (this.summary ? this.summary : ''));
29
+ }
30
+ toList() {
31
+ return [
32
+ this.authors,
33
+ this.year,
34
+ this.title,
35
+ this.source,
36
+ this.url,
37
+ this.summary,
38
+ ];
39
+ }
40
+ copy() {
41
+ return new Reference(this.citationID, this.authors, this.year, this.title, this.source, this.url, this.summary, this.short);
42
+ }
43
+ withChildReplaced() {
44
+ return undefined;
45
+ }
46
+ withContentInRange() {
47
+ return this.copy();
48
+ }
49
+ withCitationID(id) {
50
+ return new Reference(id, this.authors, this.year, this.title, this.source, this.url, this.summary, this.short);
51
+ }
52
+ withAuthors(authors) {
53
+ return new Reference(this.citationID, authors, this.year, this.title, this.source, this.url, this.summary, this.short);
54
+ }
55
+ withYear(year) {
56
+ return new Reference(this.citationID, this.authors, year, this.title, this.source, this.url, this.summary, this.short);
57
+ }
58
+ withTitle(title) {
59
+ return new Reference(this.citationID, this.authors, this.year, title, this.source, this.url, this.summary, this.short);
60
+ }
61
+ withSource(source) {
62
+ return new Reference(this.citationID, this.authors, this.year, this.title, source, this.url, this.summary, this.short);
63
+ }
64
+ withURL(url) {
65
+ return new Reference(this.citationID, this.authors, this.year, this.title, this.source, url, this.summary, this.short);
66
+ }
67
+ withSummary(summary) {
68
+ return new Reference(this.citationID, this.authors, this.year, this.title, this.source, this.url, summary, this.short);
69
+ }
70
+ equals(ref) {
71
+ return (this.authors === ref.authors &&
72
+ this.year === ref.year &&
73
+ this.title === ref.title &&
74
+ this.source === ref.source &&
75
+ this.summary == ref.summary &&
76
+ this.short === ref.short);
77
+ }
78
+ }
@@ -0,0 +1,169 @@
1
+ export declare const Schema: {
2
+ $schema: string;
3
+ title: string;
4
+ type: string;
5
+ definitions: {
6
+ embed: {
7
+ type: string[];
8
+ pattern: string;
9
+ };
10
+ };
11
+ required: string[];
12
+ additionalProperties: boolean;
13
+ properties: {
14
+ title: {
15
+ type: string;
16
+ };
17
+ authors: {
18
+ type: string;
19
+ items: {
20
+ type: string;
21
+ };
22
+ };
23
+ images: {
24
+ type: string;
25
+ properties: {
26
+ cover: {
27
+ $ref: string;
28
+ };
29
+ unknown: {
30
+ $ref: string;
31
+ };
32
+ index: {
33
+ $ref: string;
34
+ };
35
+ references: {
36
+ $ref: string;
37
+ };
38
+ glossary: {
39
+ $ref: string;
40
+ };
41
+ search: {
42
+ $ref: string;
43
+ };
44
+ };
45
+ };
46
+ description: {
47
+ type: string;
48
+ };
49
+ acknowledgements: {
50
+ type: string;
51
+ };
52
+ chapters: {
53
+ type: string;
54
+ items: {
55
+ type: string;
56
+ required: string[];
57
+ properties: {
58
+ id: {
59
+ type: string;
60
+ pattern: string;
61
+ };
62
+ title: {
63
+ type: string;
64
+ };
65
+ image: {
66
+ $ref: string;
67
+ };
68
+ numbered: {
69
+ type: string;
70
+ default: string;
71
+ };
72
+ section: {
73
+ type: string;
74
+ };
75
+ authors: {
76
+ type: string;
77
+ items: {
78
+ type: string;
79
+ };
80
+ };
81
+ forthcoming: {
82
+ type: string;
83
+ };
84
+ };
85
+ };
86
+ };
87
+ revisions: {
88
+ type: string;
89
+ items: {
90
+ type: string;
91
+ minItems: number;
92
+ maxItems: number;
93
+ items: {
94
+ type: string;
95
+ };
96
+ };
97
+ };
98
+ tags: {
99
+ type: string;
100
+ items: {
101
+ type: string;
102
+ };
103
+ };
104
+ license: {
105
+ type: string;
106
+ };
107
+ sources: {
108
+ type: string;
109
+ additionalProperties: {
110
+ type: string;
111
+ };
112
+ };
113
+ references: {
114
+ type: string;
115
+ additionalProperties: {
116
+ oneOf: ({
117
+ type: string;
118
+ maxItems?: undefined;
119
+ items?: undefined;
120
+ additionalItems?: undefined;
121
+ } | {
122
+ type: string;
123
+ maxItems: number;
124
+ items: ({
125
+ type: string;
126
+ format?: undefined;
127
+ } | {
128
+ type: string[];
129
+ format: string;
130
+ })[];
131
+ additionalItems: {
132
+ type: string;
133
+ };
134
+ })[];
135
+ };
136
+ };
137
+ symbols: {
138
+ type: string;
139
+ additionalProperties: {
140
+ type: string;
141
+ };
142
+ };
143
+ glossary: {
144
+ type: string;
145
+ additionalProperties: {
146
+ type: string;
147
+ properties: {
148
+ phrase: {
149
+ type: string;
150
+ };
151
+ definition: {
152
+ type: string;
153
+ };
154
+ synonyms: {
155
+ type: string;
156
+ items: {
157
+ type: string;
158
+ };
159
+ };
160
+ };
161
+ additionalProperties: boolean;
162
+ required: string[];
163
+ };
164
+ };
165
+ theme: {
166
+ type: string;
167
+ };
168
+ };
169
+ };
@@ -0,0 +1,114 @@
1
+ export const Schema = {
2
+ $schema: 'http://json-schema.org/draft-07/schema#',
3
+ title: 'Bookish book schema',
4
+ type: 'object',
5
+ definitions: {
6
+ embed: {
7
+ type: ['string', 'null'],
8
+ pattern: '^\\|.+\\|.+\\|.+\\|.+\\|$',
9
+ },
10
+ },
11
+ required: [
12
+ 'title',
13
+ 'authors',
14
+ 'description',
15
+ 'chapters',
16
+ 'revisions',
17
+ 'license',
18
+ 'sources',
19
+ 'references',
20
+ 'images',
21
+ ],
22
+ additionalProperties: false,
23
+ properties: {
24
+ title: { type: 'string' },
25
+ authors: {
26
+ type: 'array',
27
+ items: { type: 'string' },
28
+ },
29
+ images: {
30
+ type: 'object',
31
+ properties: {
32
+ cover: { $ref: '#/definitions/embed' },
33
+ unknown: { $ref: '#/definitions/embed' },
34
+ index: { $ref: '#/definitions/embed' },
35
+ references: { $ref: '#/definitions/embed' },
36
+ glossary: { $ref: '#/definitions/embed' },
37
+ search: { $ref: '#/definitions/embed' },
38
+ },
39
+ },
40
+ description: { type: 'string' },
41
+ acknowledgements: { type: 'string' },
42
+ chapters: {
43
+ type: 'array',
44
+ items: {
45
+ type: 'object',
46
+ required: ['id', 'title', 'image'],
47
+ properties: {
48
+ id: { type: 'string', pattern: '^[a-zA-Z0-9]+$' },
49
+ title: { type: 'string' },
50
+ image: { $ref: '#/definitions/embed' },
51
+ numbered: { type: 'boolean', default: 'True by default' },
52
+ section: { type: 'string' },
53
+ authors: { type: 'array', items: { type: 'string' } },
54
+ forthcoming: { type: 'boolean' },
55
+ },
56
+ },
57
+ },
58
+ revisions: {
59
+ type: 'array',
60
+ items: {
61
+ type: 'array',
62
+ minItems: 2,
63
+ maxItems: 2,
64
+ items: { type: 'string' },
65
+ },
66
+ },
67
+ tags: {
68
+ type: 'array',
69
+ items: { type: 'string' },
70
+ },
71
+ license: { type: 'string' },
72
+ sources: { type: 'object', additionalProperties: { type: 'string' } },
73
+ references: {
74
+ type: 'object',
75
+ additionalProperties: {
76
+ oneOf: [
77
+ { type: 'string' },
78
+ {
79
+ type: 'array',
80
+ maxItems: 6,
81
+ items: [
82
+ { type: 'string' },
83
+ { type: 'integer' },
84
+ { type: 'string' },
85
+ { type: 'string' },
86
+ { type: ['string', 'null'], format: 'uri' },
87
+ ],
88
+ additionalItems: { type: 'string' },
89
+ },
90
+ ],
91
+ },
92
+ },
93
+ symbols: {
94
+ type: 'object',
95
+ additionalProperties: { type: 'string' },
96
+ },
97
+ glossary: {
98
+ type: 'object',
99
+ additionalProperties: {
100
+ type: 'object',
101
+ properties: {
102
+ phrase: { type: 'string' },
103
+ definition: { type: 'string' },
104
+ synonyms: { type: 'array', items: { type: 'string' } },
105
+ },
106
+ additionalProperties: false,
107
+ required: ['phrase', 'definition'],
108
+ },
109
+ },
110
+ theme: {
111
+ type: 'object',
112
+ },
113
+ },
114
+ };
@@ -1,44 +1,47 @@
1
- import type ThemeColors from "./ThemeColors";
2
- declare type Theme = {
3
- light: ThemeColors;
4
- dark: ThemeColors;
5
- fonts: {
6
- paragraphFontFamily: string;
7
- headerFontFamily: string;
8
- codeFontFamily: string;
9
- bulletFontFamily: string;
1
+ import type ThemeColors from './ThemeColors';
2
+ type Theme = {
3
+ imports?: string[];
4
+ light?: ThemeColors;
5
+ dark?: ThemeColors;
6
+ fonts?: {
7
+ paragraphFontFamily?: string;
8
+ headerFontFamily?: string;
9
+ codeFontFamily?: string;
10
+ bulletFontFamily?: string;
10
11
  };
11
- sizes: {
12
- paragraphFontSize: string;
13
- blockFontSize: string;
14
- smallFontSize: string;
15
- titleFontSize: string;
16
- header1FontSize: string;
17
- header2FontSize: string;
18
- header3FontSize: string;
19
- codeFontSize: string;
12
+ sizes?: {
13
+ paragraphFontSize?: string;
14
+ blockFontSize?: string;
15
+ smallFontSize?: string;
16
+ titleFontSize?: string;
17
+ header1FontSize?: string;
18
+ header2FontSize?: string;
19
+ header3FontSize?: string;
20
+ codeFontSize?: string;
20
21
  };
21
- weights: {
22
- headerFontWeight: string;
23
- paragraphFontWeight: string;
24
- boldFontWeight: string;
25
- linkFontWeight: string;
26
- codeFontWeight: string;
27
- bulletFontWeight: string;
22
+ weights?: {
23
+ headerFontWeight?: string;
24
+ paragraphFontWeight?: string;
25
+ boldFontWeight?: string;
26
+ linkFontWeight?: string;
27
+ codeFontWeight?: string;
28
+ bulletFontWeight?: string;
28
29
  };
29
- spacing: {
30
- paragraphLineHeight: string;
31
- paragraphLineHeightTight: string;
32
- headerLineHeight: string;
33
- paragraphSpacing: string;
34
- headerSpacing: string;
35
- indent: string;
36
- inlinePadding: string;
37
- blockPadding: string;
38
- roundedness: string;
30
+ spacing?: {
31
+ paragraphLineHeight?: string;
32
+ paragraphLineHeightTight?: string;
33
+ headerLineHeight?: string;
34
+ paragraphSpacing?: string;
35
+ headerSpacing?: string;
36
+ indent?: string;
37
+ inlinePadding?: string;
38
+ blockPadding?: string;
39
+ roundedness?: string;
39
40
  };
40
41
  };
41
- export declare const defaultTheme: {
42
+ export default Theme;
43
+ export declare const BookishTheme: {
44
+ imports: string[];
42
45
  light: {
43
46
  backgroundColor: string;
44
47
  blockBackgroundColor: string;
@@ -103,4 +106,8 @@ export declare const defaultTheme: {
103
106
  roundedness: string;
104
107
  };
105
108
  };
106
- export default Theme;
109
+ export declare const SeriousTheme: Theme;
110
+ export declare const TechTheme: Theme;
111
+ export declare const HumanTheme: Theme;
112
+ export declare const SketchyTheme: Theme;
113
+ export declare const CriticalTheme: Theme;