Zum Hauptinhalt springen

Antworten

Um Antworten einzuholen, kann die überall verfügbare Komponente Answer verwendet werden (sie muss nicht importiert werden). Abhängig vom übergebenen Typ wird die Antwort in einer anderen Form dargestellt.

string
<String /> Komponente 👉 String
Einzeilige Antwort
text
<QuillV2 /> Komponente 👉 QuillV2
Mehrzeilige Antwort mit WYSIWYG-Editor
optionaler Typ: quill-v2
state
<TaskState /> Komponente 👉 TaskState
Zustandsauswahl
optionaler Typ: task-state
<Answer type="state" label="Fertig?" id="5404e731-fd66-42d9-9f61-0299df6a032b" />
<Answer type="string" id="259a2608-ee20-4f76-b558-09bf9871c235" />
<Answer type="text" id="c85a2c52-cdce-42ad-82c9-9924b3a9fa61" />
http://localhost:3000
Fertig?
Laden...

Installation

Code
  • src/components/Answer
src/theme/MDXComponents.tsx
import Answer from '@tdev-components/Answer';
src/theme/MDXComponents.tsx
import MDXComponents from '@theme-original/MDXComponents';
import Answer from '@tdev-components/Answer';

export default {
// Re-use the default mapping
...MDXComponents,
Answer: Answer,
};
Voraussetzung

Damit auch TaskStates, die von einer <Answer /> Komponente dargestellt werden, in die Seitenübersicht aufgenommen werden, braucht es das Plugin remark-enumerate-components

mit der Konfiguration

docusaurus.config.ts
import enumerateAnswersPlugin from './src/plugins/remark-enumerate-components/plugin';

const REMARK_PLUGINS = [
/* ... */
[
[
enumerateAnswersPlugin,
{
componentsToEnumerate: ['Answer', /*...*/],
}
]
]
];