bookish-press 0.4.231 → 0.5.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/{components → package/components}/Auth.svelte +11 -13
- package/{components → package/components}/Auth.svelte.d.ts +0 -0
- package/{components → package/components}/Authentication.d.ts +0 -0
- package/{components → package/components}/Authentication.js +0 -0
- package/{components → package/components}/BookPreview.svelte +13 -17
- package/{components → package/components}/BookPreview.svelte.d.ts +0 -0
- package/{components → package/components}/Link.svelte +2 -1
- package/{components → package/components}/Link.svelte.d.ts +1 -0
- package/{components → package/components}/app/BookList.svelte +0 -0
- package/{components → package/components}/app/BookList.svelte.d.ts +0 -0
- package/{components → package/components}/app/Button.svelte +5 -2
- package/{components → package/components}/app/Button.svelte.d.ts +0 -0
- package/{components → package/components}/app/Feedback.svelte +4 -9
- package/{components → package/components}/app/Feedback.svelte.d.ts +0 -0
- package/{components → package/components}/app/Head.svelte +4 -1
- package/{components → package/components}/app/Head.svelte.d.ts +6 -15
- package/{components → package/components}/app/Large.svelte +0 -0
- package/{components → package/components}/app/Large.svelte.d.ts +0 -0
- package/{components → package/components}/app/Lead.svelte +0 -0
- package/{components → package/components}/app/Lead.svelte.d.ts +0 -0
- package/package/components/app/Link.svelte +36 -0
- package/{components → package/components}/app/Link.svelte.d.ts +1 -0
- package/{components → package/components}/app/Options.svelte +0 -0
- package/{components → package/components}/app/Options.svelte.d.ts +0 -0
- package/{components → package/components}/app/Paragraph.svelte +1 -0
- package/{components → package/components}/app/Paragraph.svelte.d.ts +0 -0
- package/{components/app/Writing.svelte → package/components/app/Section.svelte} +0 -1
- package/package/components/app/Section.svelte.d.ts +27 -0
- package/{components → package/components}/app/Table.svelte +0 -0
- package/{components → package/components}/app/Table.svelte.d.ts +0 -0
- package/{components → package/components}/app/TextInput.svelte +2 -0
- package/{components → package/components}/app/TextInput.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Atom.svelte +1 -8
- package/{components → package/components}/chapter/Atom.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Block.svelte +3 -1
- package/{components → package/components}/chapter/Block.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Callout.svelte +0 -0
- package/{components → package/components}/chapter/Callout.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/CaptionedCode.svelte +2 -2
- package/{components → package/components}/chapter/CaptionedCode.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/ChapterBody.svelte +9 -16
- package/{components → package/components}/chapter/ChapterBody.svelte.d.ts +1 -0
- package/{components → package/components}/chapter/Citations.svelte +13 -11
- package/{components → package/components}/chapter/Citations.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Code.svelte +3 -2
- package/{components → package/components}/chapter/Code.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Comment.svelte +7 -13
- package/{components → package/components}/chapter/Comment.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Definition.svelte +8 -3
- package/{components → package/components}/chapter/Definition.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Embed.svelte +6 -5
- package/{components → package/components}/chapter/Embed.svelte.d.ts +1 -0
- package/{components → package/components}/chapter/ErrorMessage.svelte +0 -0
- package/{components → package/components}/chapter/ErrorMessage.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/ExtendedPrism.d.ts +0 -0
- package/{components → package/components}/chapter/ExtendedPrism.js +0 -0
- package/{components → package/components}/chapter/Figure.svelte +8 -8
- package/{components → package/components}/chapter/Figure.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Footnote.svelte +13 -24
- package/{components → package/components}/chapter/Footnote.svelte.d.ts +0 -2
- package/{components → package/components}/chapter/Format.svelte +5 -4
- package/{components → package/components}/chapter/Format.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/InlineCode.svelte +2 -2
- package/{components → package/components}/chapter/InlineCode.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Label.svelte +5 -7
- package/{components → package/components}/chapter/Label.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Link.svelte +8 -6
- package/{components → package/components}/chapter/Link.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/List.svelte +5 -0
- package/{components → package/components}/chapter/List.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Marginal.svelte +30 -12
- package/{components → package/components}/chapter/Marginal.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Paragraph.svelte +23 -10
- package/{components → package/components}/chapter/Paragraph.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Positioned.svelte +0 -0
- package/{components → package/components}/chapter/Positioned.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Problem.svelte +0 -0
- package/{components → package/components}/chapter/Problem.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Python.svelte +0 -0
- package/{components → package/components}/chapter/Python.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Quote.svelte +20 -10
- package/{components → package/components}/chapter/Quote.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Rule.svelte +0 -0
- package/{components → package/components}/chapter/Rule.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Table.svelte +2 -2
- package/{components → package/components}/chapter/Table.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Text.svelte +2 -2
- package/{components → package/components}/chapter/Text.svelte.d.ts +0 -0
- package/package/components/controls/DarkToggle.svelte +38 -0
- package/package/components/controls/DarkToggle.svelte.d.ts +17 -0
- package/{components → package/components}/editor/BookishEditor.svelte +57 -32
- package/{components → package/components}/editor/BookishEditor.svelte.d.ts +4 -1
- package/{components → package/components}/editor/CalloutEditor.svelte +0 -0
- package/{components → package/components}/editor/CalloutEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/CaptionedCodeEditor.svelte +0 -0
- package/{components → package/components}/editor/CaptionedCodeEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/CaretContext.d.ts +0 -0
- package/{components → package/components}/editor/CaretContext.js +0 -0
- package/{components → package/components}/editor/CaretState.d.ts +0 -0
- package/{components → package/components}/editor/CaretState.js +0 -0
- package/{components → package/components}/editor/CaretUtilities.d.ts +0 -0
- package/{components → package/components}/editor/CaretUtilities.js +0 -0
- package/{components → package/components}/editor/CaretView.svelte +4 -2
- package/{components → package/components}/editor/CaretView.svelte.d.ts +1 -0
- package/{components → package/components}/editor/CitationsEditor.svelte +0 -0
- package/{components → package/components}/editor/CitationsEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Clipboard.d.ts +0 -0
- package/{components → package/components}/editor/Clipboard.js +0 -0
- package/{components → package/components}/editor/Command.d.ts +0 -0
- package/{components → package/components}/editor/Command.js +0 -0
- package/{components → package/components}/editor/Commands.d.ts +0 -0
- package/{components → package/components}/editor/Commands.js +0 -0
- package/package/components/editor/ConfirmButton.svelte +23 -0
- package/{components → package/components}/editor/ConfirmButton.svelte.d.ts +4 -3
- package/{components → package/components}/editor/DefinitionEditor.svelte +0 -0
- package/{components → package/components}/editor/DefinitionEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/EmbedEditor.svelte +1 -1
- package/{components → package/components}/editor/EmbedEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Icon.svelte +0 -0
- package/{components → package/components}/editor/Icon.svelte.d.ts +0 -0
- package/{components → package/components}/editor/ImageChooser.svelte +0 -0
- package/{components → package/components}/editor/ImageChooser.svelte.d.ts +0 -0
- package/{components → package/components}/editor/InlineCodeEditor.svelte +0 -0
- package/{components → package/components}/editor/InlineCodeEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/LabelEditor.svelte +0 -0
- package/{components → package/components}/editor/LabelEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/LanguageEditor.svelte +0 -0
- package/{components → package/components}/editor/LanguageEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/LinkEditor.svelte +4 -3
- package/{components → package/components}/editor/LinkEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Note.svelte +1 -0
- package/{components → package/components}/editor/Note.svelte.d.ts +0 -0
- package/package/components/editor/Permissions.svelte +93 -0
- package/package/components/editor/Permissions.svelte.d.ts +20 -0
- package/{components → package/components}/editor/PositionEditor.svelte +0 -0
- package/{components → package/components}/editor/PositionEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/QuoteEditor.svelte +0 -0
- package/{components → package/components}/editor/QuoteEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Switch.svelte +0 -0
- package/{components → package/components}/editor/Switch.svelte.d.ts +0 -0
- package/{components → package/components}/editor/TableEditor.svelte +0 -0
- package/{components → package/components}/editor/TableEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/TextEditor.svelte +2 -3
- package/{components → package/components}/editor/TextEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Toggle.svelte +0 -0
- package/{components → package/components}/editor/Toggle.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Toolbar.svelte +8 -3
- package/{components → package/components}/editor/Toolbar.svelte.d.ts +0 -0
- package/{components → package/components}/editor/ToolbarGroup.svelte +0 -1
- package/{components → package/components}/editor/ToolbarGroup.svelte.d.ts +0 -0
- package/{components → package/components}/editor/ToolbarSpacer.svelte +0 -0
- package/{components → package/components}/editor/ToolbarSpacer.svelte.d.ts +0 -0
- package/{components → package/components}/editor/URLEditor.svelte +2 -0
- package/{components → package/components}/editor/URLEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/UndoState.d.ts +0 -0
- package/{components → package/components}/editor/UndoState.js +0 -0
- package/{components → package/components}/editor/icons/annotate.svg +0 -0
- package/{components → package/components}/editor/icons/block.svg +0 -0
- package/{components → package/components}/editor/icons/bold.svg +0 -0
- package/{components → package/components}/editor/icons/bullets.svg +0 -0
- package/{components → package/components}/editor/icons/callout.svg +0 -0
- package/{components → package/components}/editor/icons/citation.svg +0 -0
- package/{components → package/components}/editor/icons/clear.svg +0 -0
- package/{components → package/components}/editor/icons/clipboard.svg +0 -0
- package/{components → package/components}/editor/icons/code.svg +0 -0
- package/{components → package/components}/editor/icons/columnafter.svg +0 -0
- package/{components → package/components}/editor/icons/columnbefore.svg +0 -0
- package/{components → package/components}/editor/icons/comment.svg +0 -0
- package/{components → package/components}/editor/icons/copy.svg +0 -0
- package/{components → package/components}/editor/icons/cut.svg +0 -0
- package/{components → package/components}/editor/icons/define.svg +0 -0
- package/{components → package/components}/editor/icons/deletecolumn.svg +0 -0
- package/{components → package/components}/editor/icons/deleterow.svg +0 -0
- package/{components → package/components}/editor/icons/footnote.svg +0 -0
- package/{components → package/components}/editor/icons/header1.svg +0 -0
- package/{components → package/components}/editor/icons/header2.svg +0 -0
- package/{components → package/components}/editor/icons/header3.svg +0 -0
- package/{components → package/components}/editor/icons/home.svg +0 -0
- package/{components → package/components}/editor/icons/indent.svg +0 -0
- package/{components → package/components}/editor/icons/italic.svg +0 -0
- package/{components → package/components}/editor/icons/label.svg +0 -0
- package/{components → package/components}/editor/icons/left.svg +0 -0
- package/{components → package/components}/editor/icons/level.svg +0 -0
- package/{components → package/components}/editor/icons/link.svg +0 -0
- package/{components → package/components}/editor/icons/list.svg +0 -0
- package/{components → package/components}/editor/icons/media.svg +0 -0
- package/{components → package/components}/editor/icons/middle.svg +0 -0
- package/{components → package/components}/editor/icons/numbers.svg +0 -0
- package/{components → package/components}/editor/icons/paragraph.svg +0 -0
- package/{components → package/components}/editor/icons/paste.svg +0 -0
- package/{components → package/components}/editor/icons/quote.svg +0 -0
- package/{components → package/components}/editor/icons/redo.svg +0 -0
- package/{components → package/components}/editor/icons/right.svg +0 -0
- package/{components → package/components}/editor/icons/rowabove.svg +0 -0
- package/{components → package/components}/editor/icons/rowbelow.svg +0 -0
- package/{components → package/components}/editor/icons/rule.svg +0 -0
- package/{components → package/components}/editor/icons/sub.svg +0 -0
- package/{components → package/components}/editor/icons/super.svg +0 -0
- package/{components → package/components}/editor/icons/table.svg +0 -0
- package/{components → package/components}/editor/icons/text.svg +0 -0
- package/{components → package/components}/editor/icons/time.svg +0 -0
- package/{components → package/components}/editor/icons/undo.svg +0 -0
- package/{components → package/components}/editor/icons/unindent.svg +0 -0
- package/{components → package/components}/editor/icons/unlink.svg +0 -0
- package/{components → package/components}/page/Acknowledgements.svelte +13 -11
- package/{components → package/components}/page/Acknowledgements.svelte.d.ts +0 -0
- package/package/components/page/Authors.svelte +86 -0
- package/{components → package/components}/page/Authors.svelte.d.ts +1 -0
- package/package/components/page/BookLoader.svelte +59 -0
- package/package/components/page/BookLoader.svelte.d.ts +16 -0
- package/{components → package/components}/page/BulkReferenceEditor.svelte +8 -8
- package/{components → package/components}/page/BulkReferenceEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/Chapter.svelte +69 -30
- package/{components → package/components}/page/Chapter.svelte.d.ts +0 -0
- package/{components → package/components}/page/ChapterContext.d.ts +0 -0
- package/{components → package/components}/page/ChapterContext.js +0 -0
- package/{components → package/components}/page/ChapterNumber.svelte +0 -0
- package/{components → package/components}/page/ChapterNumber.svelte.d.ts +0 -0
- package/{components → package/components}/page/ChapterTitle.svelte +0 -0
- package/{components → package/components}/page/ChapterTitle.svelte.d.ts +0 -0
- package/{components → package/components}/page/Contexts.d.ts +21 -5
- package/package/components/page/Contexts.js +144 -0
- package/{components → package/components}/page/DefinitionView.svelte +23 -14
- package/{components → package/components}/page/DefinitionView.svelte.d.ts +0 -0
- package/{components → package/components}/page/Description.svelte +12 -9
- package/{components → package/components}/page/Description.svelte.d.ts +0 -0
- package/{components → package/components}/page/Edition.svelte +13 -23
- package/{components → package/components}/page/Edition.svelte.d.ts +1 -2
- package/package/components/page/EditionLoader.svelte +99 -0
- package/package/components/page/EditionLoader.svelte.d.ts +18 -0
- package/package/components/page/Editions.svelte +109 -0
- package/{components → package/components}/page/Editions.svelte.d.ts +3 -1
- package/{components → package/components}/page/Glossary.svelte +13 -6
- package/{components → package/components}/page/Glossary.svelte.d.ts +0 -0
- package/{components → package/components}/page/Header.svelte +26 -21
- package/{components → package/components}/page/Header.svelte.d.ts +2 -0
- package/{components → package/components}/page/Index.svelte +14 -8
- package/{components → package/components}/page/Index.svelte.d.ts +0 -0
- package/{components → package/components}/page/Instructions.svelte +1 -2
- package/{components → package/components}/page/Instructions.svelte.d.ts +3 -1
- package/package/components/page/License.svelte +45 -0
- package/{components → package/components}/page/License.svelte.d.ts +0 -0
- package/{components → package/components}/page/Loading.svelte +0 -0
- package/{components → package/components}/page/Loading.svelte.d.ts +0 -0
- package/{components → package/components}/page/Media.svelte +40 -36
- package/{components → package/components}/page/Media.svelte.d.ts +0 -0
- package/package/components/page/MediaPreview.svelte +55 -0
- package/{components → package/components}/page/MediaPreview.svelte.d.ts +0 -0
- package/{components → package/components}/page/Muted.svelte +0 -0
- package/{components → package/components}/page/Muted.svelte.d.ts +0 -0
- package/{components → package/components}/page/Outline.svelte +69 -96
- package/{components → package/components}/page/Outline.svelte.d.ts +0 -0
- package/{components → package/components}/page/Page.svelte +4 -4
- package/{components → package/components}/page/Page.svelte.d.ts +0 -0
- package/{components → package/components}/page/PageHeader.svelte +5 -0
- package/{components → package/components}/page/PageHeader.svelte.d.ts +0 -0
- package/{components → package/components}/page/PageParagraph.svelte +0 -0
- package/{components → package/components}/page/PageParagraph.svelte.d.ts +0 -0
- package/{components → package/components}/page/PossibleChapter.svelte +0 -0
- package/{components → package/components}/page/PossibleChapter.svelte.d.ts +0 -0
- package/{components → package/components}/page/PossibleReference.svelte +2 -1
- package/{components → package/components}/page/PossibleReference.svelte.d.ts +1 -0
- package/{components → package/components}/page/Print.svelte +0 -0
- package/{components → package/components}/page/Print.svelte.d.ts +0 -0
- package/package/components/page/Publish.svelte +135 -0
- package/package/components/page/Publish.svelte.d.ts +14 -0
- package/{components → package/components}/page/Reference.svelte +54 -51
- package/{components → package/components}/page/Reference.svelte.d.ts +1 -0
- package/{components → package/components}/page/References.svelte +9 -4
- package/{components → package/components}/page/References.svelte.d.ts +0 -0
- package/{components → package/components}/page/Rows.svelte +0 -0
- package/{components → package/components}/page/Rows.svelte.d.ts +0 -0
- package/{components → package/components}/page/Search.svelte +27 -10
- package/{components → package/components}/page/Search.svelte.d.ts +0 -0
- package/package/components/page/Status.svelte +58 -0
- package/{components → package/components}/page/Status.svelte.d.ts +0 -0
- package/{components → package/components}/page/SubdomainEditor.svelte +5 -3
- package/{components → package/components}/page/SubdomainEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/TableOfContents.svelte +83 -37
- package/{components → package/components}/page/TableOfContents.svelte.d.ts +0 -0
- package/package/components/page/TableOfContentsImage.svelte +27 -0
- package/{components → package/components}/page/TableOfContentsImage.svelte.d.ts +1 -0
- package/{components → package/components}/page/TableOfContentsRow.svelte +11 -12
- package/{components → package/components}/page/TableOfContentsRow.svelte.d.ts +0 -0
- package/{components → package/components}/page/ThemeEditor.svelte +12 -10
- package/{components → package/components}/page/ThemeEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/ThemeEditorPreview.svelte +0 -0
- package/{components → package/components}/page/ThemeEditorPreview.svelte.d.ts +0 -0
- package/{components → package/components}/page/ThemeSetEditor.svelte +0 -0
- package/{components → package/components}/page/ThemeSetEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/ThemeVariableEditor.svelte +0 -0
- package/{components → package/components}/page/ThemeVariableEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/Title.svelte +0 -0
- package/{components → package/components}/page/Title.svelte.d.ts +0 -0
- package/{components → package/components}/page/Unknown.svelte +5 -2
- package/{components → package/components}/page/Unknown.svelte.d.ts +0 -0
- package/{components → package/components}/page/margins.d.ts +0 -0
- package/{components → package/components}/page/margins.js +0 -0
- package/{index.d.ts → package/index.d.ts} +3 -1
- package/{index.js → package/index.js} +3 -1
- package/package/models/CRUD.d.ts +28 -0
- package/package/models/CRUD.js +263 -0
- package/{models → package/models}/Firebase.d.ts +0 -0
- package/package/models/Firebase.js +36 -0
- package/{models → package/models}/book/Book.d.ts +23 -18
- package/package/models/book/Book.js +135 -0
- package/{models → package/models}/book/BookMedia.d.ts +1 -1
- package/{models → package/models}/book/BookMedia.js +9 -10
- package/{models → package/models}/book/BookSaveStatus.d.ts +0 -0
- package/{models → package/models}/book/BookSaveStatus.js +0 -0
- package/{models → package/models}/book/Chapter.d.ts +5 -1
- package/{models → package/models}/book/Chapter.js +24 -15
- package/{models → package/models}/book/ChapterID.d.ts +0 -0
- package/{models → package/models}/book/ChapterID.js +0 -0
- package/{models → package/models}/book/Definition.d.ts +0 -0
- package/{models → package/models}/book/Definition.js +0 -0
- package/{models → package/models}/book/Edition.d.ts +33 -7
- package/{models → package/models}/book/Edition.js +104 -32
- package/{models → package/models}/book/Reference.d.ts +0 -0
- package/{models → package/models}/book/Reference.js +0 -0
- package/{models → package/models}/book/Schema.d.ts +20 -15
- package/{models → package/models}/book/Schema.js +17 -16
- package/{models → package/models}/book/Theme.d.ts +0 -0
- package/{models → package/models}/book/Theme.js +7 -6
- package/{models → package/models}/book/ThemeColors.d.ts +0 -0
- package/{models → package/models}/book/ThemeColors.js +0 -0
- package/{models → package/models}/book/Words.d.ts +0 -0
- package/{models → package/models}/book/Words.js +0 -0
- package/{models → package/models}/chapter/AtomNode.d.ts +0 -0
- package/{models → package/models}/chapter/AtomNode.js +0 -0
- package/{models → package/models}/chapter/BlockNode.d.ts +0 -0
- package/{models → package/models}/chapter/BlockNode.js +0 -0
- package/{models → package/models}/chapter/BlocksNode.d.ts +0 -0
- package/{models → package/models}/chapter/BlocksNode.js +0 -0
- package/{models → package/models}/chapter/BlocksNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/BlocksNode.test.js +0 -0
- package/{models → package/models}/chapter/Bookkeeping.d.ts +0 -0
- package/{models → package/models}/chapter/Bookkeeping.js +0 -0
- package/{models → package/models}/chapter/CalloutNode.d.ts +0 -0
- package/{models → package/models}/chapter/CalloutNode.js +0 -0
- package/{models → package/models}/chapter/Caret.d.ts +0 -0
- package/{models → package/models}/chapter/Caret.js +0 -0
- package/{models → package/models}/chapter/ChapterNode.d.ts +0 -0
- package/{models → package/models}/chapter/ChapterNode.js +0 -0
- package/{models → package/models}/chapter/CitationsNode.d.ts +0 -0
- package/{models → package/models}/chapter/CitationsNode.js +0 -0
- package/{models → package/models}/chapter/CodeNode.d.ts +0 -0
- package/{models → package/models}/chapter/CodeNode.js +0 -0
- package/{models → package/models}/chapter/CommentNode.d.ts +0 -0
- package/{models → package/models}/chapter/CommentNode.js +13 -3
- package/{models → package/models}/chapter/DefinitionNode.d.ts +0 -0
- package/{models → package/models}/chapter/DefinitionNode.js +0 -0
- package/{models → package/models}/chapter/Edit.d.ts +0 -0
- package/{models → package/models}/chapter/Edit.js +0 -0
- package/{models → package/models}/chapter/EmbedNode.d.ts +1 -0
- package/{models → package/models}/chapter/EmbedNode.js +6 -0
- package/{models → package/models}/chapter/ErrorNode.d.ts +0 -0
- package/{models → package/models}/chapter/ErrorNode.js +0 -0
- package/{models → package/models}/chapter/FootnoteNode.d.ts +0 -0
- package/{models → package/models}/chapter/FootnoteNode.js +0 -0
- package/{models → package/models}/chapter/FormatNode.d.ts +0 -0
- package/{models → package/models}/chapter/FormatNode.js +1 -6
- package/{models → package/models}/chapter/FormatNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/FormatNode.test.js +0 -0
- package/{models → package/models}/chapter/InlineCodeNode.d.ts +0 -0
- package/{models → package/models}/chapter/InlineCodeNode.js +0 -0
- package/{models → package/models}/chapter/LabelNode.d.ts +0 -0
- package/{models → package/models}/chapter/LabelNode.js +0 -0
- package/{models → package/models}/chapter/LinkNode.d.ts +0 -0
- package/{models → package/models}/chapter/LinkNode.js +0 -0
- package/{models → package/models}/chapter/ListNode.d.ts +0 -0
- package/{models → package/models}/chapter/ListNode.js +0 -0
- package/{models → package/models}/chapter/ListNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/ListNode.test.js +0 -0
- package/{models → package/models}/chapter/MetadataNode.d.ts +0 -0
- package/{models → package/models}/chapter/MetadataNode.js +0 -0
- package/{models → package/models}/chapter/Node.d.ts +0 -0
- package/{models → package/models}/chapter/Node.js +0 -0
- package/{models → package/models}/chapter/Node.test.d.ts +0 -0
- package/{models → package/models}/chapter/Node.test.js +0 -0
- package/{models → package/models}/chapter/ParagraphNode.d.ts +0 -0
- package/{models → package/models}/chapter/ParagraphNode.js +0 -0
- package/{models → package/models}/chapter/ParagraphNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/ParagraphNode.test.js +0 -0
- package/{models → package/models}/chapter/Parser.d.ts +2 -2
- package/{models → package/models}/chapter/Parser.js +26 -24
- package/{models → package/models}/chapter/Parser.test.d.ts +0 -0
- package/{models → package/models}/chapter/Parser.test.js +0 -0
- package/{models → package/models}/chapter/Position.d.ts +0 -0
- package/{models → package/models}/chapter/Position.js +0 -0
- package/{models → package/models}/chapter/QuoteNode.d.ts +0 -0
- package/{models → package/models}/chapter/QuoteNode.js +0 -0
- package/{models → package/models}/chapter/RootNode.d.ts +0 -0
- package/{models → package/models}/chapter/RootNode.js +0 -0
- package/{models → package/models}/chapter/RuleNode.d.ts +0 -0
- package/{models → package/models}/chapter/RuleNode.js +0 -0
- package/{models → package/models}/chapter/TableNode.d.ts +0 -0
- package/{models → package/models}/chapter/TableNode.js +0 -0
- package/{models → package/models}/chapter/TableNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/TableNode.test.js +0 -0
- package/{models → package/models}/chapter/TextNode.d.ts +0 -0
- package/{models → package/models}/chapter/TextNode.js +0 -0
- package/{models → package/models}/chapter/TextNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/TextNode.test.js +0 -0
- package/package/util/dark.d.ts +2 -0
- package/package/util/dark.js +16 -0
- package/{util → package/util}/getSubdomain.d.ts +0 -0
- package/{util → package/util}/getSubdomain.js +0 -0
- package/{util → package/util}/isMobile.d.ts +0 -0
- package/{util → package/util}/isMobile.js +0 -0
- package/{util → package/util}/mineReference.d.ts +0 -0
- package/{util → package/util}/mineReference.js +0 -0
- package/{util → package/util}/scrollToEyeLevel.d.ts +0 -0
- package/{util → package/util}/scrollToEyeLevel.js +0 -0
- package/package.json +955 -267
- package/components/External.svelte +0 -4
- package/components/External.svelte.d.ts +0 -18
- package/components/app/Link.svelte +0 -24
- package/components/app/Writing.svelte.d.ts +0 -27
- package/components/editor/ConfirmButton.svelte +0 -49
- package/components/page/Authors.svelte +0 -82
- package/components/page/Contexts.js +0 -51
- package/components/page/Editions.svelte +0 -158
- package/components/page/License.svelte +0 -37
- package/components/page/MediaPreview.svelte +0 -29
- package/components/page/Status.svelte +0 -57
- package/components/page/TableOfContentsImage.svelte +0 -15
- package/models/CRUD.d.ts +0 -17
- package/models/CRUD.js +0 -207
- package/models/Firebase.js +0 -32
- package/models/book/Book.js +0 -142
- package/models/loadEdition.d.ts +0 -5
- package/models/loadEdition.js +0 -20
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script>import { sendSignInLinkToEmail } from 'firebase/auth';
|
|
2
|
-
import {
|
|
2
|
+
import { onDestroy, setContext } from 'svelte';
|
|
3
3
|
import { writable } from 'svelte/store';
|
|
4
4
|
import { auth } from '../models/Firebase';
|
|
5
|
-
import {
|
|
5
|
+
import { USER } from './page/Contexts';
|
|
6
6
|
// Track the user and user loading status in state
|
|
7
7
|
let loading = true;
|
|
8
8
|
// The store that tracks the auth context.
|
|
@@ -37,18 +37,16 @@ function logout() {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
// On mount, subscribe to authentication changes.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
});
|
|
40
|
+
if (auth) {
|
|
41
|
+
const unsubscribe = auth.onAuthStateChanged((user) => {
|
|
42
|
+
loading = false;
|
|
43
|
+
updateAuth(user);
|
|
44
|
+
});
|
|
45
|
+
// On unmount, stop subscribing.
|
|
46
|
+
onDestroy(unsubscribe);
|
|
47
|
+
}
|
|
50
48
|
// Expose the state and the login/logout functionality.
|
|
51
|
-
setContext(
|
|
49
|
+
setContext(USER, authentication);
|
|
52
50
|
</script>
|
|
53
51
|
|
|
54
52
|
<!-- Wrap whatever children are given in this context. -->
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,37 +1,33 @@
|
|
|
1
1
|
<script>import EmbedNode from '../models/chapter/EmbedNode';
|
|
2
2
|
import Parser from '../models/chapter/Parser';
|
|
3
|
-
import ErrorNode from '../models/chapter/ErrorNode';
|
|
4
3
|
import ChapterBody from './chapter/ChapterBody.svelte';
|
|
5
4
|
import Embed from './chapter/Embed.svelte';
|
|
6
|
-
import ErrorMessage from './chapter/ErrorMessage.svelte';
|
|
7
5
|
import Link from './app/Link.svelte';
|
|
8
6
|
export let book;
|
|
9
7
|
export let write = false;
|
|
10
|
-
$: refID = book.
|
|
8
|
+
$: refID = book.getID();
|
|
11
9
|
$: cover = book.getCover();
|
|
12
10
|
$: authors = book.getAuthors();
|
|
13
11
|
$: description = book.getDescription();
|
|
14
12
|
$: subdomain = book.getSubdomain();
|
|
15
|
-
$: title = book.getTitle()
|
|
13
|
+
$: title = book.getTitle();
|
|
16
14
|
$: embed = cover === null ? null : Parser.parseEmbed(undefined, cover);
|
|
15
|
+
$: url =
|
|
16
|
+
subdomain === null || write
|
|
17
|
+
? refID === undefined
|
|
18
|
+
? ''
|
|
19
|
+
: (write ? '/write/' : '/') + refID
|
|
20
|
+
: `/${subdomain}`;
|
|
17
21
|
</script>
|
|
18
22
|
|
|
19
23
|
<article class="book-preview">
|
|
20
24
|
<div class="cover" class:empty={embed === null}>
|
|
21
25
|
{#if embed instanceof EmbedNode}
|
|
22
|
-
<Embed node={embed} imageOnly />
|
|
23
|
-
{:else if embed instanceof ErrorNode}
|
|
24
|
-
<ErrorMessage node={embed} />
|
|
26
|
+
<Embed node={embed} imageOnly editable={false} />
|
|
25
27
|
{/if}
|
|
26
28
|
</div>
|
|
27
29
|
<div class="content">
|
|
28
|
-
<Link
|
|
29
|
-
to={subdomain === undefined || write
|
|
30
|
-
? refID === undefined
|
|
31
|
-
? ''
|
|
32
|
-
: (write ? '/write/' : '/') + refID
|
|
33
|
-
: `/${subdomain}`}><h2 class="title">{title}</h2></Link
|
|
34
|
-
>
|
|
30
|
+
<Link to={url}><h2 class="title">{title}</h2></Link>
|
|
35
31
|
<p class="authors">
|
|
36
32
|
{#each authors as author, index}
|
|
37
33
|
<span
|
|
@@ -41,7 +37,7 @@ $: embed = cover === null ? null : Parser.parseEmbed(undefined, cover);
|
|
|
41
37
|
<em>No authors</em>
|
|
42
38
|
{/each}
|
|
43
39
|
</p>
|
|
44
|
-
<
|
|
40
|
+
<div class="description">
|
|
45
41
|
{#if description.length === 0}
|
|
46
42
|
<em>No description</em>
|
|
47
43
|
{:else}
|
|
@@ -49,7 +45,8 @@ $: embed = cover === null ? null : Parser.parseEmbed(undefined, cover);
|
|
|
49
45
|
node={Parser.parseChapter(undefined, description)}
|
|
50
46
|
/>
|
|
51
47
|
{/if}
|
|
52
|
-
</
|
|
48
|
+
</div>
|
|
49
|
+
<Link to={`${url}/editions`}>Editions</Link>
|
|
53
50
|
</div>
|
|
54
51
|
</article>
|
|
55
52
|
|
|
@@ -100,6 +97,5 @@ $: embed = cover === null ? null : Parser.parseEmbed(undefined, cover);
|
|
|
100
97
|
margin-top: 0;
|
|
101
98
|
overflow: hidden;
|
|
102
99
|
text-overflow: ellipsis;
|
|
103
|
-
height: 5em;
|
|
104
100
|
}
|
|
105
101
|
</style>
|
|
File without changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script>import { page } from '$app/stores';
|
|
2
2
|
export let to;
|
|
3
|
+
export let linked = true;
|
|
3
4
|
let link;
|
|
4
5
|
function scroll(event) {
|
|
5
6
|
// No element? Bail.
|
|
@@ -27,7 +28,7 @@ function scroll(event) {
|
|
|
27
28
|
}
|
|
28
29
|
</script>
|
|
29
30
|
|
|
30
|
-
{#if $page.url.pathname === (to.charAt(to.length - 1) === '/' ? to.substring(0, to.length - 1) : to)}
|
|
31
|
+
{#if !linked || $page.url.pathname === (to.charAt(to.length - 1) === '/' ? to.substring(0, to.length - 1) : to)}
|
|
31
32
|
<slot />
|
|
32
33
|
{:else}
|
|
33
34
|
<a
|
|
File without changes
|
|
File without changes
|
|
@@ -24,7 +24,10 @@ export let command;
|
|
|
24
24
|
font-size: var(--app-chrome-font-size);
|
|
25
25
|
color: var(--app-font-color);
|
|
26
26
|
background-color: var(--app-chrome-background);
|
|
27
|
-
padding: var(--app-chrome-padding);
|
|
27
|
+
padding-left: var(--app-chrome-padding);
|
|
28
|
+
padding-right: var(--app-chrome-padding);
|
|
29
|
+
padding-top: calc(var(--app-chrome-padding) / 2);
|
|
30
|
+
padding-bottom: calc(var(--app-chrome-padding) / 2);
|
|
28
31
|
border-radius: var(--app-chrome-roundedness);
|
|
29
32
|
border: none;
|
|
30
33
|
}
|
|
@@ -36,7 +39,7 @@ export let command;
|
|
|
36
39
|
}
|
|
37
40
|
|
|
38
41
|
button:disabled {
|
|
39
|
-
opacity: 0.
|
|
42
|
+
opacity: 0.5;
|
|
40
43
|
cursor: auto;
|
|
41
44
|
}
|
|
42
45
|
|
|
File without changes
|
|
@@ -21,25 +21,20 @@ export let error = false;
|
|
|
21
21
|
color: var(--app-error-color);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
p[role='alert']:before {
|
|
25
|
-
content: '! ';
|
|
26
|
-
font-size: 200%;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
24
|
p[role='status'] {
|
|
30
25
|
color: var(--app-font-color);
|
|
31
|
-
animation: waiting 1s
|
|
26
|
+
/* animation: waiting 1s 1; */
|
|
32
27
|
}
|
|
33
28
|
|
|
34
29
|
@keyframes waiting {
|
|
35
30
|
0% {
|
|
36
|
-
transform: rotate(
|
|
31
|
+
transform: rotate(1deg);
|
|
37
32
|
}
|
|
38
33
|
50% {
|
|
39
|
-
transform: rotate(-
|
|
34
|
+
transform: rotate(-1deg);
|
|
40
35
|
}
|
|
41
36
|
100% {
|
|
42
|
-
transform: rotate(
|
|
37
|
+
transform: rotate(1deg);
|
|
43
38
|
}
|
|
44
39
|
}
|
|
45
40
|
</style>
|
|
File without changes
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} HeadProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} HeadEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} HeadSlots */
|
|
4
|
-
export default class Head extends SvelteComponentTyped<{
|
|
5
|
-
[x: string]: never;
|
|
6
|
-
}, {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
}, {
|
|
9
|
-
default: {};
|
|
10
|
-
}> {
|
|
11
|
-
}
|
|
12
|
-
export type HeadProps = typeof __propDef.props;
|
|
13
|
-
export type HeadEvents = typeof __propDef.events;
|
|
14
|
-
export type HeadSlots = typeof __propDef.slots;
|
|
15
1
|
import { SvelteComponentTyped } from "svelte";
|
|
16
2
|
declare const __propDef: {
|
|
17
3
|
props: {
|
|
18
|
-
|
|
4
|
+
id?: string | null | undefined;
|
|
19
5
|
};
|
|
20
6
|
events: {
|
|
21
7
|
[evt: string]: CustomEvent<any>;
|
|
@@ -24,4 +10,9 @@ declare const __propDef: {
|
|
|
24
10
|
default: {};
|
|
25
11
|
};
|
|
26
12
|
};
|
|
13
|
+
export type HeadProps = typeof __propDef.props;
|
|
14
|
+
export type HeadEvents = typeof __propDef.events;
|
|
15
|
+
export type HeadSlots = typeof __propDef.slots;
|
|
16
|
+
export default class Head extends SvelteComponentTyped<HeadProps, HeadEvents, HeadSlots> {
|
|
17
|
+
}
|
|
27
18
|
export {};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script>import { page } from '$app/stores';
|
|
2
|
+
export let to;
|
|
3
|
+
export let before = undefined;
|
|
4
|
+
export let title = undefined;
|
|
5
|
+
export let external = false;
|
|
6
|
+
$: at = to === $page.url.pathname;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
{#if at}
|
|
10
|
+
<span class="link"> <slot /></span>
|
|
11
|
+
{:else}
|
|
12
|
+
<a
|
|
13
|
+
class="link"
|
|
14
|
+
href={to}
|
|
15
|
+
{title}
|
|
16
|
+
on:click={() => (before ? before() : undefined)}
|
|
17
|
+
target={to.startsWith('http') || external ? '_blank' : null}
|
|
18
|
+
rel={external ? 'noreferrer' : null}><slot /></a
|
|
19
|
+
>
|
|
20
|
+
{/if}
|
|
21
|
+
|
|
22
|
+
<style>
|
|
23
|
+
.link {
|
|
24
|
+
font-family: var(--app-font);
|
|
25
|
+
font-weight: 400;
|
|
26
|
+
text-decoration: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
a {
|
|
30
|
+
color: var(--app-interactive-color);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
a:hover {
|
|
34
|
+
text-decoration: underline;
|
|
35
|
+
}
|
|
36
|
+
</style>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} SectionProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} SectionEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} SectionSlots */
|
|
4
|
+
export default class Section extends SvelteComponentTyped<{
|
|
5
|
+
[x: string]: never;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {
|
|
9
|
+
default: {};
|
|
10
|
+
}> {
|
|
11
|
+
}
|
|
12
|
+
export type SectionProps = typeof __propDef.props;
|
|
13
|
+
export type SectionEvents = typeof __propDef.events;
|
|
14
|
+
export type SectionSlots = typeof __propDef.slots;
|
|
15
|
+
import { SvelteComponentTyped } from "svelte";
|
|
16
|
+
declare const __propDef: {
|
|
17
|
+
props: {
|
|
18
|
+
[x: string]: never;
|
|
19
|
+
};
|
|
20
|
+
events: {
|
|
21
|
+
[evt: string]: CustomEvent<any>;
|
|
22
|
+
};
|
|
23
|
+
slots: {
|
|
24
|
+
default: {};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
File without changes
|
|
File without changes
|
|
@@ -14,6 +14,7 @@ export function value() {
|
|
|
14
14
|
{type}
|
|
15
15
|
{placeholder}
|
|
16
16
|
{disabled}
|
|
17
|
+
value={text}
|
|
17
18
|
bind:this={input}
|
|
18
19
|
on:input={() => (text = input.value)}
|
|
19
20
|
/>
|
|
@@ -22,6 +23,7 @@ export function value() {
|
|
|
22
23
|
input {
|
|
23
24
|
font-family: var(--app-font);
|
|
24
25
|
font-size: var(--app-chrome-font-size);
|
|
26
|
+
background: var(--app-background-color);
|
|
25
27
|
color: var(--app-font-color);
|
|
26
28
|
padding: var(--app-chrome-padding);
|
|
27
29
|
font-size: var(--app-chrome-font-size);
|
|
File without changes
|
|
@@ -5,13 +5,6 @@ export let node;
|
|
|
5
5
|
let caret = getCaret();
|
|
6
6
|
// Is the caret on this link?
|
|
7
7
|
$: selected = $caret && $caret.range && $caret.range.start.node === node;
|
|
8
|
-
function handleMouseDown() {
|
|
9
|
-
// Select this so that the view stays focused.
|
|
10
|
-
$caret?.setCaret({
|
|
11
|
-
start: { node: node, index: 0 },
|
|
12
|
-
end: { node: node, index: 0 },
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
8
|
</script>
|
|
16
9
|
|
|
17
10
|
<!-- Prevent the editor from receiving the click. -->
|
|
@@ -19,7 +12,7 @@ function handleMouseDown() {
|
|
|
19
12
|
class={`bookish-editor-atom ${
|
|
20
13
|
selected ? 'bookish-editor-atom-selected' : ''
|
|
21
14
|
} ${$caret?.focused ? 'bookish-editor-atom-selected-focused' : ''}`}
|
|
22
|
-
|
|
15
|
+
><slot /></span
|
|
23
16
|
>
|
|
24
17
|
|
|
25
18
|
<style>
|
|
File without changes
|
|
@@ -19,12 +19,14 @@ import Quote from './Quote.svelte';
|
|
|
19
19
|
import Rule from './Rule.svelte';
|
|
20
20
|
import Table from './Table.svelte';
|
|
21
21
|
import Problem from './Problem.svelte';
|
|
22
|
+
import { isChapterEditable } from '../page/Contexts';
|
|
22
23
|
export let node;
|
|
24
|
+
let editable = isChapterEditable();
|
|
23
25
|
</script>
|
|
24
26
|
|
|
25
27
|
{#if node instanceof ParagraphNode}<Paragraph {node} />
|
|
26
28
|
{:else if node instanceof ListNode}<List {node} />
|
|
27
|
-
{:else if node instanceof EmbedNode}<Embed {node} />
|
|
29
|
+
{:else if node instanceof EmbedNode}<Embed {node} {editable} />
|
|
28
30
|
{:else if node instanceof CalloutNode}<Callout {node} />
|
|
29
31
|
{:else if node instanceof QuoteNode}<Quote {node} />
|
|
30
32
|
{:else if node instanceof CodeNode}<CaptionedCode {node} />
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
<script>import Code from './Code.svelte';
|
|
4
4
|
import Python from './Python.svelte';
|
|
5
5
|
import Text from './Text.svelte';
|
|
6
|
-
import {
|
|
6
|
+
import { isChapterEditable } from '../page/Contexts';
|
|
7
7
|
import Figure from './Figure.svelte';
|
|
8
8
|
import { getCaret } from '../page/Contexts';
|
|
9
9
|
export let node;
|
|
10
10
|
$: language = node.getLanguage();
|
|
11
|
-
let editable =
|
|
11
|
+
let editable = isChapterEditable();
|
|
12
12
|
// const languages = [ "C", "C++", "CSS", "Go", "HTML", "Java", "JavaScript", "Markdown", "Plaintext", "Python", "TypeScript" ];
|
|
13
13
|
let caret = getCaret();
|
|
14
14
|
$: inside =
|
|
File without changes
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
<svelte:options immutable />
|
|
2
2
|
|
|
3
3
|
<script>import ParagraphNode from '../../models/chapter/ParagraphNode';
|
|
4
|
+
import { writable } from 'svelte/store';
|
|
5
|
+
import { setContext } from 'svelte';
|
|
6
|
+
import { ROOT } from '../page/Contexts';
|
|
4
7
|
import Block from './Block.svelte';
|
|
5
8
|
import Paragraph from './Paragraph.svelte';
|
|
6
9
|
import Problem from './Problem.svelte';
|
|
7
10
|
export let node;
|
|
8
11
|
export let placeholder = '';
|
|
12
|
+
export let editable = false;
|
|
9
13
|
$: errors = node.getErrors();
|
|
10
14
|
$: blocks = node.getBlocks();
|
|
15
|
+
// Make this chapter node available to all children in a reactive store.
|
|
16
|
+
let root = writable(node);
|
|
17
|
+
setContext(ROOT, root);
|
|
18
|
+
$: root.set(node);
|
|
11
19
|
</script>
|
|
12
20
|
|
|
13
21
|
<section class="bookish-chapter-body" data-nodeid={node.nodeID}>
|
|
14
|
-
{#if errors.length > 0}
|
|
22
|
+
{#if editable && errors.length > 0}
|
|
15
23
|
<p>
|
|
16
24
|
<Problem
|
|
17
25
|
>{errors.length +
|
|
@@ -38,21 +46,6 @@ $: blocks = node.getBlocks();
|
|
|
38
46
|
min-width: 100%;
|
|
39
47
|
}
|
|
40
48
|
|
|
41
|
-
/* This implements a drop cap in the first letter of the first text in the first format of the first paragraph of a chapter (but only chapters). */
|
|
42
|
-
:global(
|
|
43
|
-
.chapter-content
|
|
44
|
-
.bookish-chapter-body
|
|
45
|
-
p:first-of-type:not(.placeholder)::first-letter
|
|
46
|
-
) {
|
|
47
|
-
padding: 0 0.25rem;
|
|
48
|
-
margin: 0 0.25rem 0 0;
|
|
49
|
-
font-size: 4rem;
|
|
50
|
-
font-weight: 700;
|
|
51
|
-
float: left;
|
|
52
|
-
line-height: 1;
|
|
53
|
-
color: var(--bookish-paragraph-color);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
49
|
:global(.bookish-content-highlight) {
|
|
57
50
|
position: relative;
|
|
58
51
|
}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
<svelte:options immutable={true} />
|
|
2
2
|
|
|
3
3
|
<script>import Marginal from './Marginal.svelte';
|
|
4
|
-
import Parser from '../../models/chapter/Parser';
|
|
5
4
|
import Problem from './Problem.svelte';
|
|
6
5
|
import Atom from './Atom.svelte';
|
|
7
|
-
import { getChapter, getEdition } from '../page/Contexts';
|
|
6
|
+
import { getChapter, getEdition, getRoot } from '../page/Contexts';
|
|
8
7
|
import PossibleReference from '../page/PossibleReference.svelte';
|
|
9
8
|
import { afterUpdate } from 'svelte';
|
|
10
9
|
export let node;
|
|
11
10
|
let chapter = getChapter();
|
|
12
11
|
let edition = getEdition();
|
|
13
|
-
|
|
14
|
-
$edition && $chapter ? $chapter.chapter.getAST($edition) : undefined;
|
|
12
|
+
let root = getRoot();
|
|
15
13
|
// Sort citations numerically, however they're numbered.
|
|
16
14
|
$: citations = node.getMeta().sort((a, b) => {
|
|
17
|
-
if (
|
|
15
|
+
if ($root === undefined)
|
|
18
16
|
return 0;
|
|
19
|
-
let aNumber =
|
|
20
|
-
let bNumber =
|
|
17
|
+
let aNumber = $root.getCitationNumber(a);
|
|
18
|
+
let bNumber = $root.getCitationNumber(b);
|
|
21
19
|
if (aNumber === null) {
|
|
22
20
|
if (bNumber === null)
|
|
23
21
|
return 0;
|
|
@@ -36,7 +34,7 @@ afterUpdate(() => $chapter?.layoutMarginals());
|
|
|
36
34
|
</script>
|
|
37
35
|
|
|
38
36
|
<Atom {node}>
|
|
39
|
-
{#if
|
|
37
|
+
{#if $root}
|
|
40
38
|
<span class="bookish-citation" data-nodeid={node.nodeID}>
|
|
41
39
|
<Marginal
|
|
42
40
|
{node}
|
|
@@ -46,7 +44,7 @@ afterUpdate(() => $chapter?.layoutMarginals());
|
|
|
46
44
|
<svelte:fragment slot="interactor">
|
|
47
45
|
{#each citations as citationID, index}
|
|
48
46
|
{@const citationNumber =
|
|
49
|
-
|
|
47
|
+
$root.getCitationNumber(citationID)}
|
|
50
48
|
{#if citationNumber && citationID in ($edition?.getReferences() ?? {})}
|
|
51
49
|
<sup class="bookish-citation-symbol"
|
|
52
50
|
>{citationNumber}</sup
|
|
@@ -67,14 +65,14 @@ afterUpdate(() => $chapter?.layoutMarginals());
|
|
|
67
65
|
<span slot="content" class="bookish-references">
|
|
68
66
|
{#each citations as citationID}
|
|
69
67
|
{@const citationNumber =
|
|
70
|
-
|
|
68
|
+
$root.getCitationNumber(citationID)}
|
|
71
69
|
{@const ref = $edition?.getReference(citationID)}
|
|
72
70
|
{#if citationNumber && ref && $edition}
|
|
73
71
|
<span class="bookish-reference">
|
|
74
72
|
<sup class="bookish-citation-symbol"
|
|
75
73
|
>{citationNumber}</sup
|
|
76
74
|
>
|
|
77
|
-
<PossibleReference node={ref} />
|
|
75
|
+
<PossibleReference node={ref} edit={false} />
|
|
78
76
|
</span>
|
|
79
77
|
{/if}
|
|
80
78
|
{/each}
|
|
@@ -85,6 +83,10 @@ afterUpdate(() => $chapter?.layoutMarginals());
|
|
|
85
83
|
</Atom>
|
|
86
84
|
|
|
87
85
|
<style>
|
|
86
|
+
sup {
|
|
87
|
+
line-height: 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
88
90
|
.bookish-reference {
|
|
89
91
|
font-family: var(--bookish-paragraph-font-family);
|
|
90
92
|
list-style-position: outside;
|
|
File without changes
|
|
@@ -61,6 +61,7 @@ function handleChange() {
|
|
|
61
61
|
display: inline;
|
|
62
62
|
padding: calc(1.5 * var(--bookish-inline-padding))
|
|
63
63
|
var(--bookish-inline-padding);
|
|
64
|
+
white-space: pre-line !important;
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
:global(.bookish-code-inline) :global(code) {
|
|
@@ -77,10 +78,10 @@ function handleChange() {
|
|
|
77
78
|
*/
|
|
78
79
|
|
|
79
80
|
:global(code[class*='language-']) {
|
|
80
|
-
color:
|
|
81
|
+
color: var(--bookish-paragraph-color);
|
|
81
82
|
background: none;
|
|
82
83
|
font-family: var(--bookish-code-font-family);
|
|
83
|
-
font-size:
|
|
84
|
+
font-size: var(--bookish-code-font-size);
|
|
84
85
|
text-align: left;
|
|
85
86
|
white-space: pre;
|
|
86
87
|
word-spacing: normal;
|
|
File without changes
|