Neuer Block-Atom task_overview (Markdown-Fence dorfteich-tasks, HTML-Placeholder). Shared extractTaskRows liest Task-Zeilen mit Text, Mentions (#150) und Start-/Zieldaten (#152); TasksService sammelt zur Lesezeit den Teilbaum (rekursiv via collectSubtreeIds, canAccessPage- Filter je Quellseite) aus Basis-State + page_updates-Log — KEINE abgeleitete Tabelle nötig (Teilbäume sind klein, kein Drift). Neuer auth-Endpoint GET /read/:pond/:slug/tasks; die öffentliche Ansicht expandiert den Placeholder serverseitig zur statischen Tabelle (Instanz-Sprache). NodeView mit Live-Tabelle und Rückschreib-Checkboxen (optimistisch, Override bis der debounced Collab-Persist nachzieht); Einfügen über die Block-Auswahl (eingebauter Eintrag). Unit- + DB-Tests, neuer CI-Pack tasks.spec (voller Loop inkl. Rückschreiben end-to-end), User-Guide-Doku en+de. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0155v2aT8AG1kZDQEZiCLBWC
67 lines
1.6 KiB
TypeScript
67 lines
1.6 KiB
TypeScript
import type { AnyExtension } from '@tiptap/core';
|
|
|
|
import { MarkdownClipboard } from './markdown-clipboard';
|
|
import { Bold, CodeMark, Italic, LinkMark, Strikethrough } from './marks';
|
|
import { Image } from './nodes/image';
|
|
import { BulletList, ListItem, OrderedList, TaskList } from './nodes/lists';
|
|
import { PluginBlock } from './nodes/plugin-block';
|
|
import { Table, TableCell, TableHeader, TableRow } from './nodes/table';
|
|
import { TaskItem } from './nodes/task-item';
|
|
import { DateMarker } from './nodes/date-marker';
|
|
import { TaskOverview } from './nodes/task-overview';
|
|
import { TaskItemIds } from './task-item-ids';
|
|
import { Mention } from './nodes/mention';
|
|
import { Transclusion } from './nodes/transclusion';
|
|
import { Wikilink } from './nodes/wikilink';
|
|
import {
|
|
Blockquote,
|
|
CodeBlock,
|
|
Doc,
|
|
HardBreak,
|
|
Heading,
|
|
HorizontalRule,
|
|
Paragraph,
|
|
Section,
|
|
Text,
|
|
} from './nodes/text-basics';
|
|
|
|
/**
|
|
* The full node/mark set for `editorSchema` (packages/shared, issue #24),
|
|
* minus `Collaboration` — that extension needs a per-page `Y.Doc` and is
|
|
* added by the caller (`PageEditorPage`, issue #25).
|
|
*/
|
|
export const documentExtensions: AnyExtension[] = [
|
|
Doc,
|
|
Text,
|
|
Paragraph,
|
|
Heading,
|
|
Blockquote,
|
|
Section,
|
|
CodeBlock,
|
|
HorizontalRule,
|
|
BulletList,
|
|
OrderedList,
|
|
ListItem,
|
|
TaskList,
|
|
TaskItem,
|
|
HardBreak,
|
|
Image,
|
|
PluginBlock,
|
|
Wikilink,
|
|
Mention,
|
|
DateMarker,
|
|
TaskOverview,
|
|
TaskItemIds,
|
|
Transclusion,
|
|
Table,
|
|
TableRow,
|
|
TableCell,
|
|
TableHeader,
|
|
Bold,
|
|
Italic,
|
|
CodeMark,
|
|
Strikethrough,
|
|
LinkMark,
|
|
MarkdownClipboard,
|
|
];
|