Deflist
Mit Definitionslisten ist es einfach, Wort-Definitionen oder ähnliche Inhalte zu erstellen.
<dl>
<dt>Hello World</dt>
<dd>The simplest example</dd>
<dt>World</dt>
<dd>Our planet</dd>
</dl>
http://localhost:3000
- Hello World
- The simplest example
- World
- Our planet
Um dies im Markdown mit weniger Aufwand zu erstellen, kann eine an 👉 pandoc angelehnte Syntax verwendet werden:
Hello World
: The simplest example
World
: Our planet
mit demselben Resultat:
http://localhost:3000
- Hello World
- The simplest example
- World
- Our planet
Mehrzeilige Definitionen
Streetfood
: Auf der Strasse zubereitete Speisen, die oft in mobilen Verkaufsständen oder -wagen verkauft werden.
: 
Schnee auf der Strasse
: In der Regel ein Zeichen für Winter :mdi[snowflake]{.blue}.
: In __Bern__ zuletzt gesehen am 10. Januar 2024.
: 
http://localhost:3000
- Streetfood
- Auf der Strasse zubereitete Speisen, die oft in mobilen Verkaufsständen oder -wagen verkauft werden.
@ - Schnee auf der Strasse
- In der Regel ein Zeichen für Winter .
- In Bern zuletzt gesehen am 10. Januar 2024.
@ - In Bern zuletzt gesehen am 10. Januar 2024.
Block-Elemente
Es können auch Block-Elemente eingefügt werden. Dazu muss allerdings eine Blockdirective :::dd verwendet werden.
Hallo Welt
: In Python
:::dd
```python
print("Hello World")
print('Ich bin ein Block!')
```
:::
Hallo Welt in Live
: In Brython
:::dd
```py live_py
print("Hello World")
print('Ich bin ein Block!')
```
:::
http://localhost:3000
- Hallo Welt
- In Python
print("Hello World")
print('Ich bin ein Block!') - Hallo Welt in Live
- In Brython
print("Hello World")
print('Ich bin ein Block!')
Kontext durch Eltern-Klassen
Die Definitionen können auch durch Eltern-Klassen kontextualisiert werden. Dies ermöglicht eine bessere Organisation und Strukturierung der Inhalte.
`default`
: The simplest example
World
: Our planet
---
<div className="compactDeflist">
`compactDeflist`
: The simplest example
World
: Our planet
</div>
---
<div className="smallDeflist">
`smallDeflist`
: The simplest example
World
: Our planet
</div>
http://localhost:3000
default- The simplest example
- World
- Our planet
compactDeflist- The simplest example
- World
- Our planet
smallDeflist- The simplest example
- World
- Our planet
Manuelle Verwendung
Es kann auch direkt die entsprechende React-Komponente verwendet werden:
import DefinitionList from "@tdev-components/DefinitionList";
<DefinitionList>
<dt>Hello World</dt>
<dd>The simplest example</dd>
<dt>World</dt>
<dd>Our planet</dd>
</DefinitionList>
http://localhost:3000
- Hello World
- The simplest example
- World
- Our planet
Attribute
small- Stellt
dtunddduntereinander dar - standardmässig auf kleiner Displaygrösse aktiviert. compact- Reduziert den links-seitigen Abstand und richtet die
dtElemente linksbündig aus. gridTemplateColumns- Ermöglicht ie Übergabe einer eigenen Definitionder Anordnung von
dtundddElementen.- default:
minmax(8em, 1fr) minmax(10em, 2fr) - default:
ignoreMediaQueries- Ignoriert die automatische Anpassung der Darstellung basierend auf der Displaygrösse.
- deault: Ist das Display kleiner als
620pxBreit, so wird automatischsmallaktiviert. - deault: Ist das Display kleiner als
Installation
Code
src/plugins/remark-deflistsrc/components/DefinitionList
src/theme/MDXComponents.tsximport MDXComponents from '@theme-original/MDXComponents';
import DefinitionList from '@tdev-components/DefinitionList';
export default {
...MDXComponents,
Dl: DefinitionList,
};
docusaurus.config.tsimport deflistPlugin from './src/plugins/remark-deflist/plugin';
const BEFORE_DEFAULT_REMARK_PLUGINS = [
/* ensure to place it before! the images plugin! ... */
[
deflistPlugin,
{
tagNames: {
dl: 'Dl',
},
}
],
];
Zusammenspiel mit dem 👉 remark-images Plugin
Damit Bilder ohne weiteres in Definitionen eingebunden werden können, muss das remark-deflist Plugin vor dem 👉 remark-images Plugin platziert werden.