bookish-press 0.7.4 → 0.8.2
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/README.md +8 -0
- package/dist/components/Auth.svelte +29 -39
- package/dist/components/Auth.svelte.d.ts +5 -17
- package/dist/components/BookPreview.svelte +14 -20
- package/dist/components/BookPreview.svelte.d.ts +6 -18
- package/dist/components/Link.svelte +19 -30
- package/dist/components/Link.svelte.d.ts +7 -20
- package/dist/components/app/BookList.svelte +2 -3
- package/dist/components/app/BookList.svelte.d.ts +6 -18
- package/dist/components/app/Button.svelte +12 -8
- package/dist/components/app/Button.svelte.d.ts +10 -23
- package/dist/components/app/Feedback.svelte +4 -4
- package/dist/components/app/Feedback.svelte.d.ts +6 -19
- package/dist/components/app/Head.svelte +2 -2
- package/dist/components/app/Head.svelte.d.ts +6 -19
- package/dist/components/app/Large.svelte +4 -1
- package/dist/components/app/Large.svelte.d.ts +5 -28
- package/dist/components/app/Lead.svelte +4 -1
- package/dist/components/app/Lead.svelte.d.ts +5 -28
- package/dist/components/app/Link.svelte +12 -9
- package/dist/components/app/Link.svelte.d.ts +9 -22
- package/dist/components/app/Options.svelte +8 -6
- package/dist/components/app/Options.svelte.d.ts +8 -20
- package/dist/components/app/Paragraph.svelte +2 -2
- package/dist/components/app/Paragraph.svelte.d.ts +6 -19
- package/dist/components/app/Section.svelte +4 -1
- package/dist/components/app/Section.svelte.d.ts +5 -28
- package/dist/components/app/Table.svelte +4 -1
- package/dist/components/app/Table.svelte.d.ts +5 -28
- package/dist/components/app/TextInput.svelte +10 -8
- package/dist/components/app/TextInput.svelte.d.ts +12 -23
- package/dist/components/chapter/Atom.svelte +4 -7
- package/dist/components/chapter/Atom.svelte.d.ts +6 -19
- package/dist/components/chapter/Block.svelte +21 -23
- package/dist/components/chapter/Block.svelte.d.ts +5 -17
- package/dist/components/chapter/Callout.svelte +3 -5
- package/dist/components/chapter/Callout.svelte.d.ts +5 -17
- package/dist/components/chapter/CaptionedCode.svelte +12 -14
- package/dist/components/chapter/CaptionedCode.svelte.d.ts +5 -17
- package/dist/components/chapter/ChapterBody.svelte +14 -17
- package/dist/components/chapter/ChapterBody.svelte.d.ts +7 -19
- package/dist/components/chapter/ChapterBody.test.d.ts +1 -0
- package/dist/components/chapter/ChapterBody.test.js +85 -0
- package/dist/components/chapter/Citations.svelte +39 -45
- package/dist/components/chapter/Citations.svelte.d.ts +5 -17
- package/dist/components/chapter/Code.svelte +158 -155
- package/dist/components/chapter/Code.svelte.d.ts +10 -23
- package/dist/components/chapter/Comment.svelte +30 -23
- package/dist/components/chapter/Comment.svelte.d.ts +5 -17
- package/dist/components/chapter/Definition.svelte +36 -34
- package/dist/components/chapter/Definition.svelte.d.ts +5 -17
- package/dist/components/chapter/Embed.svelte +78 -72
- package/dist/components/chapter/Embed.svelte.d.ts +8 -20
- package/dist/components/chapter/ErrorMessage.svelte +2 -4
- package/dist/components/chapter/ErrorMessage.svelte.d.ts +5 -17
- package/dist/components/chapter/Figure.svelte +22 -29
- package/dist/components/chapter/Figure.svelte.d.ts +9 -22
- package/dist/components/chapter/Footnote.svelte +40 -32
- package/dist/components/chapter/Footnote.svelte.d.ts +5 -17
- package/dist/components/chapter/Format.svelte +26 -41
- package/dist/components/chapter/Format.svelte.d.ts +7 -18
- package/dist/components/chapter/InlineCode.svelte +7 -8
- package/dist/components/chapter/InlineCode.svelte.d.ts +5 -17
- package/dist/components/chapter/Label.svelte +5 -11
- package/dist/components/chapter/Label.svelte.d.ts +5 -17
- package/dist/components/chapter/LineBreak.svelte +1 -3
- package/dist/components/chapter/LineBreak.svelte.d.ts +5 -17
- package/dist/components/chapter/Link.svelte +17 -23
- package/dist/components/chapter/Link.svelte.d.ts +5 -17
- package/dist/components/chapter/List.svelte +9 -9
- package/dist/components/chapter/List.svelte.d.ts +6 -17
- package/dist/components/chapter/Marginal.svelte +59 -60
- package/dist/components/chapter/Marginal.svelte.d.ts +10 -22
- package/dist/components/chapter/Paragraph.svelte +8 -23
- package/dist/components/chapter/Paragraph.svelte.d.ts +6 -18
- package/dist/components/chapter/Positioned.svelte +2 -4
- package/dist/components/chapter/Positioned.svelte.d.ts +6 -19
- package/dist/components/chapter/Problem.svelte +3 -2
- package/dist/components/chapter/Problem.svelte.d.ts +5 -28
- package/dist/components/chapter/Python.svelte +45 -58
- package/dist/components/chapter/Python.svelte.d.ts +6 -18
- package/dist/components/chapter/Quote.svelte +5 -7
- package/dist/components/chapter/Quote.svelte.d.ts +5 -17
- package/dist/components/chapter/Rule.svelte +1 -3
- package/dist/components/chapter/Rule.svelte.d.ts +5 -17
- package/dist/components/chapter/Table.svelte +6 -8
- package/dist/components/chapter/Table.svelte.d.ts +5 -17
- package/dist/components/chapter/Text.svelte +54 -69
- package/dist/components/chapter/Text.svelte.d.ts +6 -18
- package/dist/components/controls/DarkToggle.svelte +7 -8
- package/dist/components/controls/DarkToggle.svelte.d.ts +6 -18
- package/dist/components/editor/BookishEditor.svelte +583 -761
- package/dist/components/editor/BookishEditor.svelte.d.ts +14 -26
- package/dist/components/editor/CalloutEditor.svelte +3 -3
- package/dist/components/editor/CalloutEditor.svelte.d.ts +5 -17
- package/dist/components/editor/CaptionedCodeEditor.svelte +5 -5
- package/dist/components/editor/CaptionedCodeEditor.svelte.d.ts +5 -17
- package/dist/components/editor/CaretView.svelte +23 -25
- package/dist/components/editor/CaretView.svelte.d.ts +15 -27
- package/dist/components/editor/CitationsEditor.svelte +25 -28
- package/dist/components/editor/CitationsEditor.svelte.d.ts +5 -17
- package/dist/components/editor/ConfirmButton.svelte +9 -6
- package/dist/components/editor/ConfirmButton.svelte.d.ts +8 -21
- package/dist/components/editor/DefinitionEditor.svelte +11 -15
- package/dist/components/editor/DefinitionEditor.svelte.d.ts +5 -17
- package/dist/components/editor/EmbedEditor.svelte +43 -44
- package/dist/components/editor/EmbedEditor.svelte.d.ts +5 -17
- package/dist/components/editor/Icon.svelte +1 -1
- package/dist/components/editor/Icon.svelte.d.ts +5 -17
- package/dist/components/editor/ImageChooser.svelte +15 -18
- package/dist/components/editor/ImageChooser.svelte.d.ts +6 -18
- package/dist/components/editor/ImageThumbnail.svelte +29 -24
- package/dist/components/editor/ImageThumbnail.svelte.d.ts +7 -19
- package/dist/components/editor/InlineCodeEditor.svelte +3 -3
- package/dist/components/editor/InlineCodeEditor.svelte.d.ts +5 -17
- package/dist/components/editor/LabelEditor.svelte +5 -6
- package/dist/components/editor/LabelEditor.svelte.d.ts +5 -17
- package/dist/components/editor/LanguageEditor.svelte +4 -5
- package/dist/components/editor/LanguageEditor.svelte.d.ts +6 -18
- package/dist/components/editor/LinkEditor.svelte +52 -68
- package/dist/components/editor/LinkEditor.svelte.d.ts +5 -17
- package/dist/components/editor/Note.svelte +4 -1
- package/dist/components/editor/Note.svelte.d.ts +5 -28
- package/dist/components/editor/Permissions.svelte +36 -34
- package/dist/components/editor/Permissions.svelte.d.ts +9 -21
- package/dist/components/editor/PositionEditor.svelte +6 -7
- package/dist/components/editor/PositionEditor.svelte.d.ts +6 -18
- package/dist/components/editor/QuoteEditor.svelte +3 -3
- package/dist/components/editor/QuoteEditor.svelte.d.ts +5 -17
- package/dist/components/editor/Switch.svelte +16 -11
- package/dist/components/editor/Switch.svelte.d.ts +9 -21
- package/dist/components/editor/TableEditor.svelte +3 -3
- package/dist/components/editor/TableEditor.svelte.d.ts +5 -17
- package/dist/components/editor/TextEditor.svelte +74 -87
- package/dist/components/editor/TextEditor.svelte.d.ts +13 -25
- package/dist/components/editor/Toggle.svelte +18 -21
- package/dist/components/editor/Toggle.svelte.d.ts +7 -20
- package/dist/components/editor/Toolbar.svelte +140 -145
- package/dist/components/editor/Toolbar.svelte.d.ts +5 -17
- package/dist/components/editor/ToolbarGroup.svelte +4 -4
- package/dist/components/editor/ToolbarGroup.svelte.d.ts +6 -19
- package/dist/components/editor/ToolbarSpacer.svelte +1 -1
- package/dist/components/editor/ToolbarSpacer.svelte.d.ts +22 -21
- package/dist/components/editor/URLEditor.svelte +3 -5
- package/dist/components/editor/URLEditor.svelte.d.ts +7 -19
- package/dist/components/page/Acknowledgements.svelte +14 -8
- package/dist/components/page/Acknowledgements.svelte.d.ts +3 -16
- package/dist/components/page/Analytics.svelte +2 -3
- package/dist/components/page/Analytics.svelte.d.ts +6 -17
- package/dist/components/page/Authors.svelte +29 -29
- package/dist/components/page/Authors.svelte.d.ts +11 -23
- package/dist/components/page/BookLoader.svelte +47 -43
- package/dist/components/page/BookLoader.svelte.d.ts +5 -17
- package/dist/components/page/BulkReferenceEditor.svelte +43 -26
- package/dist/components/page/BulkReferenceEditor.svelte.d.ts +3 -16
- package/dist/components/page/Chapter.svelte +224 -249
- package/dist/components/page/Chapter.svelte.d.ts +6 -18
- package/dist/components/page/ChapterContext.d.ts +3 -1
- package/dist/components/page/ChapterNumber.svelte +4 -1
- package/dist/components/page/ChapterNumber.svelte.d.ts +5 -28
- package/dist/components/page/ChapterTitle.svelte +4 -4
- package/dist/components/page/ChapterTitle.svelte.d.ts +6 -19
- package/dist/components/page/Contexts.js +2 -2
- package/dist/components/page/DefinitionView.svelte +51 -44
- package/dist/components/page/DefinitionView.svelte.d.ts +6 -18
- package/dist/components/page/Description.svelte +10 -4
- package/dist/components/page/Description.svelte.d.ts +16 -14
- package/dist/components/page/EditableHeader.svelte +4 -6
- package/dist/components/page/EditableHeader.svelte.d.ts +7 -18
- package/dist/components/page/Edition.svelte +57 -71
- package/dist/components/page/Edition.svelte.d.ts +7 -20
- package/dist/components/page/EditionLoader.svelte +119 -82
- package/dist/components/page/EditionLoader.svelte.d.ts +6 -19
- package/dist/components/page/Editions.svelte +26 -31
- package/dist/components/page/Editions.svelte.d.ts +5 -17
- package/dist/components/page/Glossary.svelte +31 -35
- package/dist/components/page/Glossary.svelte.d.ts +3 -16
- package/dist/components/page/Header.svelte +43 -49
- package/dist/components/page/Header.svelte.d.ts +19 -30
- package/dist/components/page/Index.svelte +46 -46
- package/dist/components/page/Index.svelte.d.ts +3 -16
- package/dist/components/page/Instructions.svelte +2 -2
- package/dist/components/page/Instructions.svelte.d.ts +6 -19
- package/dist/components/page/License.svelte +13 -7
- package/dist/components/page/License.svelte.d.ts +16 -14
- package/dist/components/page/Loading.svelte +9 -9
- package/dist/components/page/Loading.svelte.d.ts +22 -21
- package/dist/components/page/Media.svelte +36 -27
- package/dist/components/page/Media.svelte.d.ts +3 -16
- package/dist/components/page/MediaPreview.svelte +22 -19
- package/dist/components/page/MediaPreview.svelte.d.ts +8 -21
- package/dist/components/page/Muted.svelte +4 -1
- package/dist/components/page/Muted.svelte.d.ts +5 -28
- package/dist/components/page/Outline.svelte +75 -97
- package/dist/components/page/Outline.svelte.d.ts +8 -20
- package/dist/components/page/Page.svelte +23 -33
- package/dist/components/page/Page.svelte.d.ts +7 -20
- package/dist/components/page/PageHeader.svelte +2 -2
- package/dist/components/page/PageHeader.svelte.d.ts +6 -19
- package/dist/components/page/PageParagraph.svelte +4 -1
- package/dist/components/page/PageParagraph.svelte.d.ts +5 -28
- package/dist/components/page/PossibleChapter.svelte +7 -7
- package/dist/components/page/PossibleChapter.svelte.d.ts +3 -16
- package/dist/components/page/PossibleReference.svelte +4 -5
- package/dist/components/page/PossibleReference.svelte.d.ts +6 -18
- package/dist/components/page/Print.svelte +11 -12
- package/dist/components/page/Print.svelte.d.ts +3 -16
- package/dist/components/page/Publish.svelte +47 -47
- package/dist/components/page/Publish.svelte.d.ts +3 -16
- package/dist/components/page/Reference.svelte +24 -35
- package/dist/components/page/Reference.svelte.d.ts +6 -18
- package/dist/components/page/References.svelte +21 -22
- package/dist/components/page/References.svelte.d.ts +3 -16
- package/dist/components/page/Rows.svelte +4 -1
- package/dist/components/page/Rows.svelte.d.ts +5 -28
- package/dist/components/page/Search.svelte +58 -60
- package/dist/components/page/Search.svelte.d.ts +3 -16
- package/dist/components/page/Status.svelte +2 -2
- package/dist/components/page/Status.svelte.d.ts +16 -14
- package/dist/components/page/SubdomainEditor.svelte +11 -11
- package/dist/components/page/SubdomainEditor.svelte.d.ts +16 -14
- package/dist/components/page/TableOfContents.svelte +143 -125
- package/dist/components/page/TableOfContents.svelte.d.ts +3 -16
- package/dist/components/page/TableOfContentsImage.svelte +6 -7
- package/dist/components/page/TableOfContentsImage.svelte.d.ts +6 -18
- package/dist/components/page/TableOfContentsRow.svelte +32 -32
- package/dist/components/page/TableOfContentsRow.svelte.d.ts +10 -22
- package/dist/components/page/ThemeEditor.svelte +35 -28
- package/dist/components/page/ThemeEditor.svelte.d.ts +3 -16
- package/dist/components/page/ThemeEditorPreview.svelte +11 -13
- package/dist/components/page/ThemeEditorPreview.svelte.d.ts +5 -17
- package/dist/components/page/ThemeSetEditor.svelte +4 -6
- package/dist/components/page/ThemeSetEditor.svelte.d.ts +7 -19
- package/dist/components/page/ThemeVariableEditor.svelte +9 -11
- package/dist/components/page/ThemeVariableEditor.svelte.d.ts +7 -19
- package/dist/components/page/Title.svelte +4 -1
- package/dist/components/page/Title.svelte.d.ts +5 -28
- package/dist/components/page/Unknown.svelte +11 -8
- package/dist/components/page/Unknown.svelte.d.ts +5 -17
- package/dist/models/Firebase.js +18 -4
- package/dist/models/book/Book.js +2 -1
- package/dist/models/book/BookMedia.js +1 -2
- package/dist/models/book/Chapter.js +3 -2
- package/dist/models/book/Edition.d.ts +1 -1
- package/dist/models/book/Edition.js +5 -1
- package/dist/models/chapter/BlocksNode.js +3 -1
- package/dist/models/chapter/BlocksNode.test.js +5 -1
- package/dist/models/chapter/Node.test.js +2 -2
- package/package.json +34 -22
|
@@ -1,44 +1,42 @@
|
|
|
1
|
-
<script>import Header from
|
|
2
|
-
import Outline from
|
|
3
|
-
import Page from
|
|
4
|
-
import Instructions from
|
|
5
|
-
import ChapterIDs from
|
|
6
|
-
import Link from
|
|
7
|
-
import { getBase, getEdition, isEditionEditable } from
|
|
8
|
-
import { page } from
|
|
9
|
-
import Muted from
|
|
10
|
-
import ChapterTitle from
|
|
11
|
-
import ChapterNumber from
|
|
12
|
-
import PageHeader from
|
|
13
|
-
import Rows from
|
|
1
|
+
<script lang="ts">import Header from "./Header.svelte";
|
|
2
|
+
import Outline from "./Outline.svelte";
|
|
3
|
+
import Page from "./Page.svelte";
|
|
4
|
+
import Instructions from "./Instructions.svelte";
|
|
5
|
+
import ChapterIDs from "../../models/book/ChapterID";
|
|
6
|
+
import Link from "../Link.svelte";
|
|
7
|
+
import { getBase, getEdition, isEditionEditable } from "./Contexts";
|
|
8
|
+
import { page } from "$app/state";
|
|
9
|
+
import Muted from "./Muted.svelte";
|
|
10
|
+
import ChapterTitle from "./ChapterTitle.svelte";
|
|
11
|
+
import ChapterNumber from "./ChapterNumber.svelte";
|
|
12
|
+
import PageHeader from "./PageHeader.svelte";
|
|
13
|
+
import Rows from "./Rows.svelte";
|
|
14
14
|
let editable = isEditionEditable();
|
|
15
15
|
let edition = getEdition();
|
|
16
16
|
let base = getBase();
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
});
|
|
41
|
-
}
|
|
17
|
+
let letter = $derived(page.params.letter);
|
|
18
|
+
let bookIndex = $derived($edition?.getBookIndex() ?? {});
|
|
19
|
+
let letters = $derived.by(() => {
|
|
20
|
+
const map = {};
|
|
21
|
+
for (const word of Object.keys(bookIndex).sort(
|
|
22
|
+
(a, b) => a.localeCompare(b)
|
|
23
|
+
))
|
|
24
|
+
map[word.charAt(0).toLocaleLowerCase()] = true;
|
|
25
|
+
return map;
|
|
26
|
+
});
|
|
27
|
+
let words = $derived.by(() => {
|
|
28
|
+
const list = [];
|
|
29
|
+
let count = 0;
|
|
30
|
+
Object.keys(bookIndex).sort((a, b) => a.localeCompare(b)).forEach((word) => {
|
|
31
|
+
const firstLetter = word.charAt(0).toLowerCase();
|
|
32
|
+
if (letter === firstLetter) {
|
|
33
|
+
count++;
|
|
34
|
+
if (count % 20 === 0) list.push(true);
|
|
35
|
+
list.push(word);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return list;
|
|
39
|
+
});
|
|
42
40
|
</script>
|
|
43
41
|
|
|
44
42
|
{#if $edition}
|
|
@@ -59,14 +57,16 @@ $: {
|
|
|
59
57
|
? edition.set($edition.withHeader(ChapterIDs.IndexID, text))
|
|
60
58
|
: undefined}
|
|
61
59
|
>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
60
|
+
{#snippet outline()}
|
|
61
|
+
<Outline
|
|
62
|
+
|
|
63
|
+
previous={$edition.getPreviousChapterID(
|
|
64
|
+
ChapterIDs.IndexID,
|
|
65
|
+
editable,
|
|
66
|
+
)}
|
|
67
|
+
next={$edition.getNextChapterID(ChapterIDs.IndexID, editable)}
|
|
68
|
+
/>
|
|
69
|
+
{/snippet}
|
|
70
70
|
</Header>
|
|
71
71
|
|
|
72
72
|
<Instructions {editable}>
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
events: {
|
|
5
|
-
[evt: string]: CustomEvent<any>;
|
|
6
|
-
};
|
|
7
|
-
slots: {};
|
|
8
|
-
exports?: {} | undefined;
|
|
9
|
-
bindings?: string | undefined;
|
|
10
|
-
};
|
|
11
|
-
export type IndexProps = typeof __propDef.props;
|
|
12
|
-
export type IndexEvents = typeof __propDef.events;
|
|
13
|
-
export type IndexSlots = typeof __propDef.slots;
|
|
14
|
-
export default class Index extends SvelteComponent<IndexProps, IndexEvents, IndexSlots> {
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
1
|
+
declare const Index: import("svelte").Component<Record<string, never>, {}, "">;
|
|
2
|
+
type Index = ReturnType<typeof Index>;
|
|
3
|
+
export default Index;
|
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
editable: boolean;
|
|
5
|
-
};
|
|
6
|
-
events: {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
};
|
|
9
|
-
slots: {
|
|
10
|
-
default: {};
|
|
11
|
-
};
|
|
12
|
-
exports?: {} | undefined;
|
|
13
|
-
bindings?: string | undefined;
|
|
14
|
-
};
|
|
15
|
-
export type InstructionsProps = typeof __propDef.props;
|
|
16
|
-
export type InstructionsEvents = typeof __propDef.events;
|
|
17
|
-
export type InstructionsSlots = typeof __propDef.slots;
|
|
18
|
-
export default class Instructions extends SvelteComponent<InstructionsProps, InstructionsEvents, InstructionsSlots> {
|
|
1
|
+
interface Props {
|
|
2
|
+
editable: boolean;
|
|
3
|
+
children?: import('svelte').Snippet;
|
|
19
4
|
}
|
|
20
|
-
|
|
5
|
+
declare const Instructions: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type Instructions = ReturnType<typeof Instructions>;
|
|
7
|
+
export default Instructions;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
<script>import Parser from
|
|
2
|
-
import BookishEditor from
|
|
3
|
-
import Instructions from
|
|
4
|
-
import Format from
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
<script lang="ts">import Parser from "../../models/chapter/Parser";
|
|
2
|
+
import BookishEditor from "../editor/BookishEditor.svelte";
|
|
3
|
+
import Instructions from "./Instructions.svelte";
|
|
4
|
+
import Format from "../chapter/Format.svelte";
|
|
5
|
+
import {
|
|
6
|
+
getUser,
|
|
7
|
+
getEdition,
|
|
8
|
+
getLeasee,
|
|
9
|
+
isEditionEditable,
|
|
10
|
+
lease
|
|
11
|
+
} from "./Contexts";
|
|
12
|
+
import EditableHeader from "./EditableHeader.svelte";
|
|
7
13
|
let auth = getUser();
|
|
8
14
|
let edition = getEdition();
|
|
9
15
|
let editable = isEditionEditable();
|
|
@@ -19,7 +25,7 @@ let editable = isEditionEditable();
|
|
|
19
25
|
{#if $edition}
|
|
20
26
|
<!-- If editable, show acknowledgements even if they're empty, otherwise hide -->
|
|
21
27
|
{#if editable}
|
|
22
|
-
<!-- svelte-ignore
|
|
28
|
+
<!-- svelte-ignore missing_declaration -->
|
|
23
29
|
<BookishEditor
|
|
24
30
|
text={$edition.getLicense()}
|
|
25
31
|
parser={(text) =>
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
6
11
|
};
|
|
7
|
-
|
|
8
|
-
exports?: {} | undefined;
|
|
9
|
-
bindings?: string | undefined;
|
|
10
|
-
};
|
|
11
|
-
export type LicenseProps = typeof __propDef.props;
|
|
12
|
-
export type LicenseEvents = typeof __propDef.events;
|
|
13
|
-
export type LicenseSlots = typeof __propDef.slots;
|
|
14
|
-
export default class License extends SvelteComponent<LicenseProps, LicenseEvents, LicenseSlots> {
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
15
13
|
}
|
|
16
|
-
|
|
14
|
+
declare const License: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type License = InstanceType<typeof License>;
|
|
18
|
+
export default License;
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
: '')}
|
|
8
8
|
>
|
|
9
9
|
<div class="bookish-loading-animation">
|
|
10
|
-
<div
|
|
11
|
-
<div
|
|
12
|
-
<div
|
|
13
|
-
<div
|
|
14
|
-
<div
|
|
15
|
-
<div
|
|
16
|
-
<div
|
|
17
|
-
<div
|
|
18
|
-
<div
|
|
10
|
+
<div></div>
|
|
11
|
+
<div></div>
|
|
12
|
+
<div></div>
|
|
13
|
+
<div></div>
|
|
14
|
+
<div></div>
|
|
15
|
+
<div></div>
|
|
16
|
+
<div></div>
|
|
17
|
+
<div></div>
|
|
18
|
+
<div></div>
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
21
|
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/** @typedef {typeof __propDef.slots} LoadingSlots */
|
|
4
|
-
export default class Loading extends SvelteComponent<{
|
|
1
|
+
export default Loading;
|
|
2
|
+
type Loading = SvelteComponent<{
|
|
5
3
|
[x: string]: never;
|
|
6
4
|
}, {
|
|
7
5
|
[evt: string]: CustomEvent<any>;
|
|
8
|
-
}, {}> {
|
|
9
|
-
|
|
10
|
-
export type LoadingProps = typeof __propDef.props;
|
|
11
|
-
export type LoadingEvents = typeof __propDef.events;
|
|
12
|
-
export type LoadingSlots = typeof __propDef.slots;
|
|
13
|
-
import { SvelteComponent } from "svelte";
|
|
14
|
-
declare const __propDef: {
|
|
15
|
-
props: {
|
|
16
|
-
[x: string]: never;
|
|
17
|
-
};
|
|
18
|
-
events: {
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {};
|
|
22
|
-
exports?: undefined;
|
|
23
|
-
bindings?: undefined;
|
|
6
|
+
}, {}> & {
|
|
7
|
+
$$bindings?: string | undefined;
|
|
24
8
|
};
|
|
25
|
-
|
|
9
|
+
declare const Loading: $$__sveltets_2_IsomorphicComponent<{
|
|
10
|
+
[x: string]: never;
|
|
11
|
+
}, {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {}, {}, string>;
|
|
14
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
15
|
+
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
16
|
+
$$bindings?: Bindings;
|
|
17
|
+
} & Exports;
|
|
18
|
+
(internal: unknown, props: {
|
|
19
|
+
$$events?: Events;
|
|
20
|
+
$$slots?: Slots;
|
|
21
|
+
}): Exports & {
|
|
22
|
+
$set?: any;
|
|
23
|
+
$on?: any;
|
|
24
|
+
};
|
|
25
|
+
z_$$bindings?: Bindings;
|
|
26
|
+
}
|
|
@@ -1,30 +1,37 @@
|
|
|
1
|
-
<script>import Header from
|
|
2
|
-
import Outline from
|
|
3
|
-
import Page from
|
|
4
|
-
import Instructions from
|
|
5
|
-
import ChapterIDs from
|
|
6
|
-
import Format from
|
|
7
|
-
import MediaPreview from
|
|
8
|
-
import { onMount } from
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
<script lang="ts">import Header from "./Header.svelte";
|
|
2
|
+
import Outline from "./Outline.svelte";
|
|
3
|
+
import Page from "./Page.svelte";
|
|
4
|
+
import Instructions from "./Instructions.svelte";
|
|
5
|
+
import ChapterIDs from "../../models/book/ChapterID";
|
|
6
|
+
import Format from "../chapter/Format.svelte";
|
|
7
|
+
import MediaPreview from "./MediaPreview.svelte";
|
|
8
|
+
import { onMount } from "svelte";
|
|
9
|
+
import {
|
|
10
|
+
getBase,
|
|
11
|
+
getBook,
|
|
12
|
+
getEdition,
|
|
13
|
+
isBookEditable,
|
|
14
|
+
isEditionEditable
|
|
15
|
+
} from "./Contexts";
|
|
16
|
+
import PageHeader from "./PageHeader.svelte";
|
|
17
|
+
import ConfirmButton from "../editor/ConfirmButton.svelte";
|
|
12
18
|
let book = getBook();
|
|
13
19
|
let edition = getEdition();
|
|
14
20
|
let editable = isBookEditable();
|
|
15
21
|
let base = getBase();
|
|
16
|
-
let images = [];
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
let images = $state([]);
|
|
23
|
+
let embeds = $derived($edition?.getEmbeds() ?? []);
|
|
24
|
+
let media = $derived($book?.getMedia());
|
|
19
25
|
function updateImages(newImages) {
|
|
20
|
-
|
|
26
|
+
images = newImages;
|
|
21
27
|
}
|
|
22
28
|
onMount(() => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return () => media?.stopNotifying(updateImages);
|
|
29
|
+
media?.notify(updateImages);
|
|
30
|
+
return () => media?.stopNotifying(updateImages);
|
|
26
31
|
});
|
|
27
|
-
|
|
32
|
+
let unused = $derived(images?.filter(
|
|
33
|
+
(image) => !embeds.some((embed) => image.url.includes(embed.embed.getURL()))
|
|
34
|
+
));
|
|
28
35
|
</script>
|
|
29
36
|
|
|
30
37
|
{#if $edition}
|
|
@@ -45,14 +52,16 @@ $: unused = images?.filter((image) => !embeds.some((embed) => image.url.includes
|
|
|
45
52
|
? edition.set($edition.withHeader(ChapterIDs.MediaID, text))
|
|
46
53
|
: undefined}
|
|
47
54
|
>
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
{#snippet outline()}
|
|
56
|
+
<Outline
|
|
57
|
+
|
|
58
|
+
previous={$edition.getPreviousChapterID(
|
|
59
|
+
ChapterIDs.MediaID,
|
|
60
|
+
editable,
|
|
61
|
+
)}
|
|
62
|
+
next={$edition.getNextChapterID(ChapterIDs.MediaID, editable)}
|
|
63
|
+
/>
|
|
64
|
+
{/snippet}
|
|
56
65
|
</Header>
|
|
57
66
|
<Instructions {editable}>
|
|
58
67
|
These are the images in the book, in order of appearance. You can
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
events: {
|
|
5
|
-
[evt: string]: CustomEvent<any>;
|
|
6
|
-
};
|
|
7
|
-
slots: {};
|
|
8
|
-
exports?: {} | undefined;
|
|
9
|
-
bindings?: string | undefined;
|
|
10
|
-
};
|
|
11
|
-
export type MediaProps = typeof __propDef.props;
|
|
12
|
-
export type MediaEvents = typeof __propDef.events;
|
|
13
|
-
export type MediaSlots = typeof __propDef.slots;
|
|
14
|
-
export default class Media extends SvelteComponent<MediaProps, MediaEvents, MediaSlots> {
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
1
|
+
declare const Media: import("svelte").Component<Record<string, never>, {}, "">;
|
|
2
|
+
type Media = ReturnType<typeof Media>;
|
|
3
|
+
export default Media;
|
|
@@ -1,23 +1,26 @@
|
|
|
1
|
-
<script>import Link from
|
|
2
|
-
import { getBase } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
<script lang="ts">import Link from "../Link.svelte";
|
|
2
|
+
import { getBase } from "./Contexts";
|
|
3
|
+
let {
|
|
4
|
+
url,
|
|
5
|
+
alt,
|
|
6
|
+
chapterID,
|
|
7
|
+
children
|
|
8
|
+
} = $props();
|
|
6
9
|
let base = getBase();
|
|
7
|
-
let loaded;
|
|
8
|
-
let urlChecked;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
10
|
+
let loaded = $state();
|
|
11
|
+
let urlChecked = void 0;
|
|
12
|
+
$effect.pre(() => {
|
|
13
|
+
if (urlChecked !== url && typeof Image !== "undefined") {
|
|
14
|
+
urlChecked = url;
|
|
15
|
+
let image = new Image();
|
|
16
|
+
image.src = url;
|
|
17
|
+
loaded = image.complete;
|
|
18
|
+
if (!loaded) {
|
|
19
|
+
image.onload = () => loaded = true;
|
|
20
|
+
image.onerror = () => loaded = null;
|
|
19
21
|
}
|
|
20
|
-
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
21
24
|
</script>
|
|
22
25
|
|
|
23
26
|
<figure class={'media-preview'}>
|
|
@@ -28,7 +31,7 @@ $: {
|
|
|
28
31
|
{:else if loaded === null}
|
|
29
32
|
<div class="missing">missing image</div>
|
|
30
33
|
{/if}
|
|
31
|
-
<figcaption class="credit"
|
|
34
|
+
<figcaption class="credit">{@render children?.()}</figcaption>
|
|
32
35
|
</figure>
|
|
33
36
|
|
|
34
37
|
<style>
|
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
chapterID: string | undefined;
|
|
7
|
-
};
|
|
8
|
-
events: {
|
|
9
|
-
[evt: string]: CustomEvent<any>;
|
|
10
|
-
};
|
|
11
|
-
slots: {
|
|
12
|
-
default: {};
|
|
13
|
-
};
|
|
14
|
-
exports?: {} | undefined;
|
|
15
|
-
bindings?: string | undefined;
|
|
16
|
-
};
|
|
17
|
-
export type MediaPreviewProps = typeof __propDef.props;
|
|
18
|
-
export type MediaPreviewEvents = typeof __propDef.events;
|
|
19
|
-
export type MediaPreviewSlots = typeof __propDef.slots;
|
|
20
|
-
export default class MediaPreview extends SvelteComponent<MediaPreviewProps, MediaPreviewEvents, MediaPreviewSlots> {
|
|
1
|
+
interface Props {
|
|
2
|
+
url: string;
|
|
3
|
+
alt: string;
|
|
4
|
+
chapterID: string | undefined;
|
|
5
|
+
children?: import('svelte').Snippet;
|
|
21
6
|
}
|
|
22
|
-
|
|
7
|
+
declare const MediaPreview: import("svelte").Component<Props, {}, "">;
|
|
8
|
+
type MediaPreview = ReturnType<typeof MediaPreview>;
|
|
9
|
+
export default MediaPreview;
|
|
@@ -1,29 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/** @typedef {typeof __propDef.slots} MutedSlots */
|
|
4
|
-
export default class Muted extends SvelteComponent<{
|
|
5
|
-
[x: string]: never;
|
|
6
|
-
}, {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
}, {
|
|
9
|
-
default: {};
|
|
10
|
-
}> {
|
|
1
|
+
interface Props {
|
|
2
|
+
children?: import('svelte').Snippet;
|
|
11
3
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
-
import { SvelteComponent } 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
|
-
exports?: undefined;
|
|
27
|
-
bindings?: undefined;
|
|
28
|
-
};
|
|
29
|
-
export {};
|
|
4
|
+
declare const Muted: import("svelte").Component<Props, {}, "">;
|
|
5
|
+
type Muted = ReturnType<typeof Muted>;
|
|
6
|
+
export default Muted;
|