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
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<script>import Parser from '../../models/chapter/Parser';
|
|
2
|
+
import BookishEditor from '../editor/BookishEditor.svelte';
|
|
3
|
+
import Switch from '../editor/Switch.svelte';
|
|
4
|
+
import { getUser, getEdition, getLeasee, isEditionEditable, lease, } from './Contexts';
|
|
5
|
+
import Format from '../chapter/Format.svelte';
|
|
6
|
+
import Note from '../editor/Note.svelte';
|
|
7
|
+
import Instructions from './Instructions.svelte';
|
|
8
|
+
import Link from '../Link.svelte';
|
|
9
|
+
import { PUBLIC_CONTEXT } from '$env/static/public';
|
|
10
|
+
import Button from '../app/Button.svelte';
|
|
11
|
+
import { publish } from '../../models/CRUD';
|
|
12
|
+
import Feedback from '../app/Feedback.svelte';
|
|
13
|
+
let auth = getUser();
|
|
14
|
+
let edition = getEdition();
|
|
15
|
+
let editable = isEditionEditable();
|
|
16
|
+
let publishing = false;
|
|
17
|
+
let feedback = undefined;
|
|
18
|
+
let error = undefined;
|
|
19
|
+
let url = undefined;
|
|
20
|
+
async function requestPublish() {
|
|
21
|
+
if ($edition) {
|
|
22
|
+
publishing = true;
|
|
23
|
+
error = undefined;
|
|
24
|
+
feedback = 'Binding the book, this could take a minute...';
|
|
25
|
+
try {
|
|
26
|
+
const result = await publish($edition);
|
|
27
|
+
if (typeof result === 'string') {
|
|
28
|
+
error = result;
|
|
29
|
+
feedback = undefined;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
url = result.url;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
console.log(err);
|
|
37
|
+
feedback = undefined;
|
|
38
|
+
error = 'Unable to bundle the book for download :(';
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
publishing = false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
let publisher = undefined;
|
|
46
|
+
$: {
|
|
47
|
+
if ($auth && $auth.user)
|
|
48
|
+
updateUserClaims();
|
|
49
|
+
}
|
|
50
|
+
async function updateUserClaims() {
|
|
51
|
+
if ($auth === undefined || $auth.user === null)
|
|
52
|
+
return;
|
|
53
|
+
const token = await $auth.user.getIdTokenResult();
|
|
54
|
+
publisher =
|
|
55
|
+
'publisher' in token.claims && token.claims.publisher === true;
|
|
56
|
+
}
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
{#if $edition && (publisher === true || PUBLIC_CONTEXT === 'local')}
|
|
60
|
+
<Instructions {editable}>
|
|
61
|
+
Ready to publish this edition? Write a summary then hit the switch.
|
|
62
|
+
</Instructions>
|
|
63
|
+
|
|
64
|
+
<div class="publisher">
|
|
65
|
+
<div class="summary">
|
|
66
|
+
<BookishEditor
|
|
67
|
+
text={$edition.summary}
|
|
68
|
+
parser={(text) =>
|
|
69
|
+
Parser.parseFormat(undefined, text).withTextIfEmpty()}
|
|
70
|
+
save={(newSummary) =>
|
|
71
|
+
$edition
|
|
72
|
+
? edition.set(
|
|
73
|
+
$edition.withSummary(newSummary.toBookdown())
|
|
74
|
+
)
|
|
75
|
+
: undefined}
|
|
76
|
+
chapter={false}
|
|
77
|
+
component={Format}
|
|
78
|
+
placeholder="Summarize this edition's changes to publish."
|
|
79
|
+
leasee={getLeasee(auth, edition, 'summary')}
|
|
80
|
+
lease={(lock) => lease(auth, edition, 'summary', lock)}
|
|
81
|
+
/>
|
|
82
|
+
</div>
|
|
83
|
+
<Switch
|
|
84
|
+
options={['hidden', 'published']}
|
|
85
|
+
enabled={$edition.published !== null || $edition.summary.length > 0}
|
|
86
|
+
value={$edition.published !== null ? 'published' : 'hidden'}
|
|
87
|
+
edit={(published) =>
|
|
88
|
+
$edition
|
|
89
|
+
? edition.set(
|
|
90
|
+
$edition.asPublished(published === 'published')
|
|
91
|
+
)
|
|
92
|
+
: undefined}
|
|
93
|
+
/>
|
|
94
|
+
<!-- Disabled until we can find a way to properly build the book in a cloud function. -->
|
|
95
|
+
<!-- <Button
|
|
96
|
+
tooltip="Publish the book online"
|
|
97
|
+
disabled={publishing}
|
|
98
|
+
command={() => requestPublish()}>↓ download</Button
|
|
99
|
+
> -->
|
|
100
|
+
</div>
|
|
101
|
+
{#if error}
|
|
102
|
+
<Feedback error>{error}</Feedback>
|
|
103
|
+
{:else if url}
|
|
104
|
+
<p>Your book is <Link to={url}>ready for download</Link>.</p>
|
|
105
|
+
{:else if feedback}
|
|
106
|
+
<Feedback>{feedback}</Feedback>
|
|
107
|
+
{/if}
|
|
108
|
+
<div>
|
|
109
|
+
<Note
|
|
110
|
+
>{#if $edition.published}Last published {new Date(
|
|
111
|
+
$edition.published
|
|
112
|
+
).toLocaleDateString('en-us')}{/if}</Note
|
|
113
|
+
>
|
|
114
|
+
</div>
|
|
115
|
+
{:else}
|
|
116
|
+
<Instructions {editable}>
|
|
117
|
+
You don't yet have publishing privileges. <Link
|
|
118
|
+
to="mailto:amy@amyjko.com">Write Amy</Link
|
|
119
|
+
> to schedule a chat about your book and ask for publishing privileges.
|
|
120
|
+
</Instructions>
|
|
121
|
+
{/if}
|
|
122
|
+
|
|
123
|
+
<style>
|
|
124
|
+
.publisher {
|
|
125
|
+
display: flex;
|
|
126
|
+
flex-direction: row;
|
|
127
|
+
flex-wrap: nowrap;
|
|
128
|
+
width: 100%;
|
|
129
|
+
align-items: baseline;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.summary {
|
|
133
|
+
flex: 1;
|
|
134
|
+
}
|
|
135
|
+
</style>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: Record<string, never>;
|
|
4
|
+
events: {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
};
|
|
7
|
+
slots: {};
|
|
8
|
+
};
|
|
9
|
+
export type PublishProps = typeof __propDef.props;
|
|
10
|
+
export type PublishEvents = typeof __propDef.events;
|
|
11
|
+
export type PublishSlots = typeof __propDef.slots;
|
|
12
|
+
export default class Publish extends SvelteComponentTyped<PublishProps, PublishEvents, PublishSlots> {
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -5,12 +5,12 @@ import Button from '../app/Button.svelte';
|
|
|
5
5
|
import Table from '../app/Table.svelte';
|
|
6
6
|
import ConfirmButton from '../editor/ConfirmButton.svelte';
|
|
7
7
|
import TextEditor from '../editor/TextEditor.svelte';
|
|
8
|
-
import { getEdition,
|
|
8
|
+
import { getEdition, isEditionEditable } from './Contexts';
|
|
9
9
|
import Link from '../Link.svelte';
|
|
10
10
|
import Note from '../editor/Note.svelte';
|
|
11
|
-
import Parser from '../../models/chapter/Parser';
|
|
12
11
|
export let reference;
|
|
13
|
-
let
|
|
12
|
+
export let edit = false;
|
|
13
|
+
let editable = isEditionEditable();
|
|
14
14
|
let edition = getEdition();
|
|
15
15
|
let editing = false;
|
|
16
16
|
function startEditing() {
|
|
@@ -34,22 +34,6 @@ function move(field, direction) {
|
|
|
34
34
|
}
|
|
35
35
|
</script>
|
|
36
36
|
|
|
37
|
-
{#if editable && !reference.short}
|
|
38
|
-
<ConfirmButton
|
|
39
|
-
tooltip="delete reference {reference.title}"
|
|
40
|
-
commandLabel="- reference"
|
|
41
|
-
confirmLabel="Confirm"
|
|
42
|
-
command={() =>
|
|
43
|
-
$edition
|
|
44
|
-
? edition.set($edition.withoutReference(reference.citationID))
|
|
45
|
-
: undefined}
|
|
46
|
-
/>
|
|
47
|
-
<Button
|
|
48
|
-
tooltip="stop editing reference"
|
|
49
|
-
command={() => (editing ? stopEditing() : startEditing())}
|
|
50
|
-
>{editing ? 'done' : 'edit'}</Button
|
|
51
|
-
>
|
|
52
|
-
{/if}
|
|
53
37
|
<!-- If a short version was requested, try to abbreviate the authors. -->
|
|
54
38
|
{#if reference.short}
|
|
55
39
|
{@const authorList = reference.authors.split(',')}
|
|
@@ -70,22 +54,7 @@ function move(field, direction) {
|
|
|
70
54
|
{reference.title.charAt(reference.title.length - 1) === '?' ? '' : '.'}
|
|
71
55
|
<em>{reference.source}</em>
|
|
72
56
|
</p>
|
|
73
|
-
{:else if
|
|
74
|
-
<!-- If not editable, just render the reference. -->
|
|
75
|
-
<p class="reference">
|
|
76
|
-
{#if reference.authors}{reference.authors}{:else}<em>Authors</em>{/if}
|
|
77
|
-
{#if reference.year}({reference.year}){:else}<em>Year</em>{/if}. {#if reference.url === null || reference.url.length === 0}{#if reference.title}{reference.title}{:else}<em
|
|
78
|
-
>Title</em
|
|
79
|
-
>{/if}{:else}<Link to={reference.url}
|
|
80
|
-
>{#if reference.title}{reference.title}{:else}<em>Title</em
|
|
81
|
-
>{/if}</Link
|
|
82
|
-
>{/if}.<em
|
|
83
|
-
> {#if reference.source}{reference.source}{:else}Source{/if}</em
|
|
84
|
-
>.
|
|
85
|
-
{#if reference.summary}<aside class="summary">{reference.summary}</aside
|
|
86
|
-
>{/if}
|
|
87
|
-
</p>
|
|
88
|
-
{:else}
|
|
57
|
+
{:else if editable && edit && editing}
|
|
89
58
|
<!-- If editable, place in rows to make room for text editors to not have to wrap. -->
|
|
90
59
|
<Table>
|
|
91
60
|
<!-- CitationID -->
|
|
@@ -94,8 +63,8 @@ function move(field, direction) {
|
|
|
94
63
|
<td>
|
|
95
64
|
<TextEditor
|
|
96
65
|
text={reference.citationID}
|
|
97
|
-
label={'
|
|
98
|
-
placeholder="
|
|
66
|
+
label={'reference ID'}
|
|
67
|
+
placeholder="reference ID"
|
|
99
68
|
saveOnExit
|
|
100
69
|
valid={(text) => {
|
|
101
70
|
if (text.length === 0)
|
|
@@ -128,8 +97,8 @@ function move(field, direction) {
|
|
|
128
97
|
<td>
|
|
129
98
|
<TextEditor
|
|
130
99
|
text={reference.authors}
|
|
131
|
-
label={'
|
|
132
|
-
placeholder="
|
|
100
|
+
label={'author list editor'}
|
|
101
|
+
placeholder="authors"
|
|
133
102
|
valid={(text) => {
|
|
134
103
|
if (text.length === 0) return "Authors can't be empty.";
|
|
135
104
|
}}
|
|
@@ -151,8 +120,8 @@ function move(field, direction) {
|
|
|
151
120
|
<td>
|
|
152
121
|
<TextEditor
|
|
153
122
|
text={reference.year}
|
|
154
|
-
label={'
|
|
155
|
-
placeholder="
|
|
123
|
+
label={'year editor'}
|
|
124
|
+
placeholder="year"
|
|
156
125
|
valid={(text) => {
|
|
157
126
|
if (text.length === 0) return "Year can't be empty";
|
|
158
127
|
if (!/1?[0-9)[0-9]{2}/.test(text))
|
|
@@ -176,8 +145,8 @@ function move(field, direction) {
|
|
|
176
145
|
<td>
|
|
177
146
|
<TextEditor
|
|
178
147
|
text={reference.title}
|
|
179
|
-
label={'
|
|
180
|
-
placeholder="
|
|
148
|
+
label={'title editor'}
|
|
149
|
+
placeholder="title"
|
|
181
150
|
valid={(text) => {
|
|
182
151
|
if (text.length === 0) return "Title can't be empty.";
|
|
183
152
|
}}
|
|
@@ -200,8 +169,8 @@ function move(field, direction) {
|
|
|
200
169
|
<em>
|
|
201
170
|
<TextEditor
|
|
202
171
|
text={reference.source}
|
|
203
|
-
label={'
|
|
204
|
-
placeholder="
|
|
172
|
+
label={'source editor'}
|
|
173
|
+
placeholder="source"
|
|
205
174
|
valid={(text) => {
|
|
206
175
|
if (text.length === 0)
|
|
207
176
|
return "Source can't be empty";
|
|
@@ -225,8 +194,8 @@ function move(field, direction) {
|
|
|
225
194
|
<td>
|
|
226
195
|
<TextEditor
|
|
227
196
|
text={reference.url}
|
|
228
|
-
label={'
|
|
229
|
-
placeholder="
|
|
197
|
+
label={'url editor'}
|
|
198
|
+
placeholder="url"
|
|
230
199
|
valid={() => undefined}
|
|
231
200
|
save={(text) =>
|
|
232
201
|
$edition
|
|
@@ -245,8 +214,8 @@ function move(field, direction) {
|
|
|
245
214
|
<td>
|
|
246
215
|
<TextEditor
|
|
247
216
|
text={reference.summary}
|
|
248
|
-
label={'
|
|
249
|
-
placeholder="
|
|
217
|
+
label={'summary editor'}
|
|
218
|
+
placeholder="summary"
|
|
250
219
|
valid={() => undefined}
|
|
251
220
|
save={(text) =>
|
|
252
221
|
$edition
|
|
@@ -261,13 +230,47 @@ function move(field, direction) {
|
|
|
261
230
|
</td>
|
|
262
231
|
</tr>
|
|
263
232
|
</Table>
|
|
233
|
+
{:else}
|
|
234
|
+
<!-- If not editable, just render the reference. -->
|
|
235
|
+
<p class="reference">
|
|
236
|
+
{#if reference.authors}{reference.authors}{:else}<em>Authors</em>{/if}
|
|
237
|
+
{#if reference.year}({reference.year}){:else}<em>Year</em>{/if}. {#if reference.url === null || reference.url.length === 0}{#if reference.title}{reference.title}{:else}<em
|
|
238
|
+
>Title</em
|
|
239
|
+
>{/if}{:else}<Link to={reference.url}
|
|
240
|
+
>{#if reference.title}{reference.title}{:else}<em>Title</em
|
|
241
|
+
>{/if}</Link
|
|
242
|
+
>{/if}.<em
|
|
243
|
+
> {#if reference.source}{reference.source}{:else}Source{/if}</em
|
|
244
|
+
>.
|
|
245
|
+
{#if reference.summary}<aside class="summary">{reference.summary}</aside
|
|
246
|
+
>{/if}
|
|
247
|
+
</p>
|
|
248
|
+
{/if}
|
|
249
|
+
{#if edit && editable && !reference.short}
|
|
250
|
+
<ConfirmButton
|
|
251
|
+
tooltip="delete reference {reference.title}"
|
|
252
|
+
confirm="delete reference..."
|
|
253
|
+
command={() =>
|
|
254
|
+
$edition
|
|
255
|
+
? edition.set($edition.withoutReference(reference.citationID))
|
|
256
|
+
: undefined}>⨉</ConfirmButton
|
|
257
|
+
>
|
|
258
|
+
<Button
|
|
259
|
+
tooltip="stop editing reference"
|
|
260
|
+
command={() => (editing ? stopEditing() : startEditing())}
|
|
261
|
+
>{editing ? 'done' : 'edit'}</Button
|
|
262
|
+
>
|
|
264
263
|
{/if}
|
|
265
264
|
|
|
266
265
|
<style>
|
|
267
266
|
.reference {
|
|
268
|
-
line-height: var(--bookish-paragraph-line-height);
|
|
267
|
+
line-height: var(--bookish-paragraph-line-height-tight);
|
|
268
|
+
margin-top: 0;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
p {
|
|
269
272
|
margin-top: 0;
|
|
270
|
-
margin-bottom:
|
|
273
|
+
margin-bottom: 0;
|
|
271
274
|
}
|
|
272
275
|
|
|
273
276
|
.reference .summary {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script>import Header from './Header.svelte';
|
|
2
2
|
import Outline from './Outline.svelte';
|
|
3
3
|
import Page from './Page.svelte';
|
|
4
|
-
import Parser from '../../models/chapter/Parser';
|
|
5
4
|
import ChapterIDs from '../../models/book/ChapterID';
|
|
6
5
|
import BulkReferenceEditor from './BulkReferenceEditor.svelte';
|
|
7
6
|
import PossibleReference from './PossibleReference.svelte';
|
|
8
|
-
import { getEdition,
|
|
7
|
+
import { getUser, getEdition, isEditionEditable } from './Contexts';
|
|
8
|
+
let auth = getUser();
|
|
9
9
|
let edition = getEdition();
|
|
10
|
-
let editable =
|
|
10
|
+
let editable = isEditionEditable();
|
|
11
11
|
$: references = $edition?.hasReferences() ? $edition.getReferences() : null;
|
|
12
12
|
// Otherwise, map references to a list with letter headers.
|
|
13
13
|
if (references !== null) {
|
|
@@ -17,7 +17,12 @@ if (references !== null) {
|
|
|
17
17
|
{#if $edition}
|
|
18
18
|
<Page title={`${$edition.getTitle()} - References`}>
|
|
19
19
|
<Header
|
|
20
|
+
editable={isEditionEditable() ||
|
|
21
|
+
($auth !== undefined &&
|
|
22
|
+
$auth.user !== null &&
|
|
23
|
+
$edition.isChapterEditor($auth.user.uid))}
|
|
20
24
|
label="References title"
|
|
25
|
+
id="references"
|
|
21
26
|
getImage={() => $edition?.getImage(ChapterIDs.ReferencesID) ?? null}
|
|
22
27
|
setImage={(embed) =>
|
|
23
28
|
$edition
|
|
@@ -41,7 +46,7 @@ if (references !== null) {
|
|
|
41
46
|
<p><em>Sorted by last name of first author.</em></p>
|
|
42
47
|
|
|
43
48
|
{#each Object.keys(references).sort() as citationID (citationID)}
|
|
44
|
-
<PossibleReference node={references[citationID]} />
|
|
49
|
+
<PossibleReference node={references[citationID]} edit />
|
|
45
50
|
{/each}
|
|
46
51
|
{:else}
|
|
47
52
|
<p>This book has no references.</p>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -4,7 +4,7 @@ import Page from './Page.svelte';
|
|
|
4
4
|
import Link from '../Link.svelte';
|
|
5
5
|
import Chapter from '../../models/book/Chapter';
|
|
6
6
|
import ChapterIDs from '../../models/book/ChapterID';
|
|
7
|
-
import { getBase, getEdition } from './Contexts';
|
|
7
|
+
import { getBase, getEdition, isEditionEditable } from './Contexts';
|
|
8
8
|
import TextInput from '../app/TextInput.svelte';
|
|
9
9
|
import ChapterTitle from './ChapterTitle.svelte';
|
|
10
10
|
import ChapterNumber from './ChapterNumber.svelte';
|
|
@@ -45,7 +45,7 @@ $: {
|
|
|
45
45
|
.toLowerCase()
|
|
46
46
|
.indexOf(lowerQuery);
|
|
47
47
|
results.push({
|
|
48
|
-
link: `${$base}
|
|
48
|
+
link: `${$base}/${chapter.getID()}?word=${match.match.toLowerCase()}&number=${index}`,
|
|
49
49
|
left: match.left +
|
|
50
50
|
match.match.substring(0, start),
|
|
51
51
|
match: match.match.substring(start, start + query.length),
|
|
@@ -61,6 +61,7 @@ $: {
|
|
|
61
61
|
{#if $edition}
|
|
62
62
|
<Page title={`${$edition.getTitle()} - Search`}>
|
|
63
63
|
<Header
|
|
64
|
+
editable={isEditionEditable()}
|
|
64
65
|
label="Search title"
|
|
65
66
|
getImage={() => $edition?.getImage(ChapterIDs.SearchID) ?? null}
|
|
66
67
|
setImage={(embed) =>
|
|
@@ -70,6 +71,7 @@ $: {
|
|
|
70
71
|
)
|
|
71
72
|
: undefined}
|
|
72
73
|
header="Search"
|
|
74
|
+
id="search"
|
|
73
75
|
tags={$edition.getTags()}
|
|
74
76
|
>
|
|
75
77
|
<Outline
|
|
@@ -84,14 +86,12 @@ $: {
|
|
|
84
86
|
this book:
|
|
85
87
|
</p>
|
|
86
88
|
|
|
87
|
-
<
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
/>
|
|
94
|
-
</p>
|
|
89
|
+
<input
|
|
90
|
+
class="query"
|
|
91
|
+
type="text"
|
|
92
|
+
placeholder="search for a word"
|
|
93
|
+
bind:value={query}
|
|
94
|
+
/>
|
|
95
95
|
|
|
96
96
|
{#if query.trim() !== ''}
|
|
97
97
|
{#if query.trim().length < 3}
|
|
@@ -129,3 +129,20 @@ $: {
|
|
|
129
129
|
{/if}
|
|
130
130
|
</Page>
|
|
131
131
|
{/if}
|
|
132
|
+
|
|
133
|
+
<style>
|
|
134
|
+
.query {
|
|
135
|
+
font-family: var(--bookish-header-font-family);
|
|
136
|
+
font-size: var(--bookish-header-font-size);
|
|
137
|
+
border: none;
|
|
138
|
+
border-bottom: 3px solid var(--bookish-border-color-light);
|
|
139
|
+
padding: var(--bookish-inline-padding);
|
|
140
|
+
display: inline-block;
|
|
141
|
+
margin-top: 2em;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.query:focus {
|
|
145
|
+
outline: none;
|
|
146
|
+
border-color: var(--bookish-highlight-color);
|
|
147
|
+
}
|
|
148
|
+
</style>
|
|
File without changes
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script>import BookSaveStatus from '../../models/book/BookSaveStatus';
|
|
2
|
+
import { getStatus } from './Contexts';
|
|
3
|
+
let status = getStatus();
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<small
|
|
7
|
+
class={`status ${
|
|
8
|
+
$status === BookSaveStatus.Saving
|
|
9
|
+
? 'saving'
|
|
10
|
+
: $status === BookSaveStatus.Error
|
|
11
|
+
? 'error'
|
|
12
|
+
: ''
|
|
13
|
+
}`}
|
|
14
|
+
>
|
|
15
|
+
{$status === BookSaveStatus.Changed
|
|
16
|
+
? '\u270E Editing'
|
|
17
|
+
: $status === BookSaveStatus.Saving
|
|
18
|
+
? '\u2026 Saving'
|
|
19
|
+
: $status === BookSaveStatus.Saved
|
|
20
|
+
? '\u2713 Saved'
|
|
21
|
+
: $status === BookSaveStatus.Error
|
|
22
|
+
? '\u2715 Not saved'
|
|
23
|
+
: ''}
|
|
24
|
+
</small>
|
|
25
|
+
|
|
26
|
+
<style>
|
|
27
|
+
.status {
|
|
28
|
+
color: var(--app-font-color-inverted);
|
|
29
|
+
font-family: var(--app-font);
|
|
30
|
+
white-space: nowrap;
|
|
31
|
+
background-color: var(--app-interactive-color);
|
|
32
|
+
padding-left: calc(var(--app-chrome-padding));
|
|
33
|
+
padding-right: calc(var(--app-chrome-padding));
|
|
34
|
+
padding-top: calc(var(--app-chrome-padding) / 3);
|
|
35
|
+
padding-bottom: calc(var(--app-chrome-padding) / 3);
|
|
36
|
+
border-radius: var(--app-chrome-roundedness);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.error {
|
|
40
|
+
background-color: var(--app-error-color);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.saving {
|
|
44
|
+
background-color: var(--app-muted-color);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@keyframes waiting {
|
|
48
|
+
0% {
|
|
49
|
+
transform: rotate(-3deg);
|
|
50
|
+
}
|
|
51
|
+
50% {
|
|
52
|
+
transform: rotate(3deg);
|
|
53
|
+
}
|
|
54
|
+
100% {
|
|
55
|
+
transform: rotate(-3deg);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
</style>
|
|
File without changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script>import TextEditor from '../editor/TextEditor.svelte';
|
|
2
2
|
import { isSubdomainAvailable } from '../../models/CRUD';
|
|
3
|
+
import Note from '../editor/Note.svelte';
|
|
3
4
|
import { getBook } from './Contexts';
|
|
4
5
|
import Muted from './Muted.svelte';
|
|
5
6
|
let book = getBook();
|
|
@@ -7,6 +8,7 @@ const invalidNames = [
|
|
|
7
8
|
'email',
|
|
8
9
|
'login',
|
|
9
10
|
'confirm',
|
|
11
|
+
'about',
|
|
10
12
|
'read',
|
|
11
13
|
'write',
|
|
12
14
|
];
|
|
@@ -14,7 +16,7 @@ const invalidNames = [
|
|
|
14
16
|
|
|
15
17
|
{#if $book}
|
|
16
18
|
<Muted>
|
|
17
|
-
<TextEditor
|
|
19
|
+
<em>bookish.press/</em><TextEditor
|
|
18
20
|
text={$book.getSubdomain() ?? ''}
|
|
19
21
|
label="Book domain editor"
|
|
20
22
|
save={// Save the new domain
|
|
@@ -25,7 +27,7 @@ const invalidNames = [
|
|
|
25
27
|
else throw Error("Domain isn't available");
|
|
26
28
|
}
|
|
27
29
|
}}
|
|
28
|
-
placeholder="
|
|
30
|
+
placeholder="book name"
|
|
29
31
|
valid={(newDomain) =>
|
|
30
32
|
// If not the empty string, must be a valid URL subdomain, and none of the existing routes.
|
|
31
33
|
invalidNames.includes(newDomain) ||
|
|
@@ -33,7 +35,7 @@ const invalidNames = [
|
|
|
33
35
|
!/^[A-Za-z0-9](?:[A-Za-z0-9\-]{0,61}[A-Za-z0-9])?$/.test(
|
|
34
36
|
newDomain
|
|
35
37
|
))
|
|
36
|
-
? `Book
|
|
38
|
+
? `Book IDs must be fewer than 63 characters, made of symbols a-z, A-Z, and 0-9, and not one of ${invalidNames.join(
|
|
37
39
|
', '
|
|
38
40
|
)}.`
|
|
39
41
|
: undefined}
|
|
File without changes
|