Kommentare
Sollen Lernende die Gelegenheit erhalten, Kommentare zu Webseiteninhalten hinzuzufügen, so ist das MdxComment-Plugin genau das richtige.
Es ermöglicht angemeldeten Usern, dynamisch Kommentare hinzuzufügen, zu bearbeiten und farblich zu kennzeichnen.
Kommentare Hinzufügen
Befindet sich die Maus über einem Abschnitt, so wird auf der rechten Seite ein Icon zum Hinzufügen eines Kommentars angezeigt.

Vorhandene Kommentare
Kommentare werden nach dem laden dort angezeigt, wo sie hinzugefpgt wurden. Kommentare können entweder geöffnet oder geschlossen sein.
Offene Kommentare

Geschlossene Komentare
Bei den geschlossenen Kommentaren wird nur ein kleiner Indikator rechts neben dem Abschnitt angezeigt.

Optionen
Die kommentaroptionen können bei einem geöffneten Kommentar durch Positionieren des Mauszeigers über dem Kommentar angezeigt werden.


Dokument nicht kommentierbar machen
Ein Dokument kann als "nicht kommentierbar" markiert werden, indem im Frontmatter die Option no_comments: true
gesetzt wird.
---
no_comments: true
page_id: 694583bd-784f-4db9-99c4-491d6e373b88
---
# Ein Dokument ohne Kommentare
Installation
Damit die Kommentarfunktion gebraucht werden kann, braucht es das Plugin 👉 remark-page.
src/components/documents/MdxComment
src/models/documents/MdxComment.ts
src/plugins/remark-comments
export enum DocumentType {
/* ... */
MdxComment = 'mdx_comment'
}
export interface MdxCommentData {
type: string;
nr: number;
commentNr: number;
isOpen: boolean;
color: Color;
}
export interface TypeDataMapping {
/* ... */
[DocumentType.MdxComment]: MdxCommentData;
}
export interface TypeModelMapping {
/* ... */
[DocumentType.MdxComment]: MdxComment;
}
export type DocumentTypes =
/* ... */
| MdxComment;
export function CreateDocumentModel(data: DocumentProps<DocumentType>, store: DocumentStore): DocumentTypes {
switch (data.type) {
/* ... */
case DocumentType.MdxComment:
return new MdxComment(data as DocumentProps<DocumentType.MdxComment>, store);
}
}
/**
* Records that should be created when a IoEvent.NEW_RECORD event is received.
*/
const RecordsToCreate = new Set<DocumentType>([DocumentType.MdxComment, /* ... */]);
/* ... */
Das Plugin `remark-comments` kann für die Bedürfnisse der Seite konfiguriert werden - für die Teaching-Dev Seite ist es wie folgt konfiguriert:
```ts title="docusaurus.config.ts"
import commentPlugin from './src/plugins/remark-comments/plugin';
/* ... */
const REMARK_PLUGINS = [
/* ... */
[
commentPlugin,
{
commentableJsxFlowElements: ['dd', 'DefHeading', 'figcaption'],
ignoreJsxFlowElements: ['summary', 'dt'],
ignoreCodeBlocksWithMeta: /live_py/
}
]
];