Kode
Bliv fortrolig med kode i dine MDX-filer
opendocs bruger biblioteket rehype-pretty-code
til at håndtere kode i MDX-filer. Det giver dig mulighed for i høj grad at tilpasse, hvordan kode vises!
Se den officielle dokumentation og eksemplerne for flere oplysninger!
Titler
Eksempel:
import { App } from './App';Kode:
```js title="apps/web/src/index.tsx"
import { App } from './App';
```Kodefremhævning
Eksempel:
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}Kode:
```js
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}
```Fremhævning af inline-kode
Eksempel:
Resultatet af [1, 2, 3].join('-') er '1-2-3'.
Kode:
The result of `[1, 2, 3].join('-'){:js}` is `'1-2-3'{:js}`.Kontekstbevidst fremhævning af inline-kode
Hvis du for eksempel havde følgende kodeblok:
function getStringLength(str) {
return str.length;
}Når vi refererer til getStringLength som en funktion,
kan vi farve den som sådan. Det samme gælder function eller
str kontra str osv. Det gør det muligt
semantisk at knytte inline-kode til den nærmeste kodeblok, den refererer til.
Kode:
When we refer to `getStringLength{:.entity.name.function}` as a function,
we can color it as such. Same with `function{:.keyword}`, or
`str{:.variable.parameter}` vs. `str{:.variable.other.object}`, etc. This allows
semantically link inline code to the nearest block of code it refers to.Ordfremhævning
Eksempel:
relative w-full pl-12 rounded-lg borderKode:
```css /pl-12/ /border/
relative w-full pl-12 rounded-lg border
```Linjefremhævning
Eksempel:
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}Kode:
```js {2-4,6}
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}
```Linjenummerering
Eksempel:
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}Kode:
```js showLineNumbers
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}
```Diff
Eksempel:
const alertVariants = cva(
- "relative w-full rounded-lg border",
+ "relative w-full pl-12 rounded-lg border"
)Kode:
```diff
const alertVariants = cva(
- "relative w-full rounded-lg border",
+ "relative w-full pl-12 rounded-lg border"
)
```ANSI-fremhævning
Eksempel:
vite v5.0.0 dev server running at:
> Local: http://localhost:3000/
> Network: use `--host` to expose
ready in 125ms.
8:38:02 PM [vite] hmr update /src/App.jsxInline ANSI: > Local: http://localhost:3000/
Kode:
```ansi
[0;36m vite v5.0.0[0;32m dev server running at:[0m
> Local: [0;36mhttp://localhost:[0;36;1m3000[0;36m/[0m
> Network: [0;2muse `--host` to expose[0m
[0;36mready in 125ms.[0m
[0;2m8:38:02 PM[0m [0;36;1m[vite][0m [0;32mhmr update [0;2m/src/App.jsx
```
Inline ANSI: `> Local: [0;36mhttp://localhost:[0;36;1m3000[0;36m/[0m{:ansi}`Ordfremhævning efter gruppe-id
Sæt et id efter # efter ordene.
Det giver dig mulighed for at farve tegn forskelligt baseret på det angivne id.
Eksempel:
const [age, setAge] = useState(50);
const [name, setName] = useState("Taylor");Kode:
```js /age/#v /name/#v /setAge/#s /setName/#s /50/#i /"Taylor"/#i
const [age, setAge] = useState(50);
const [name, setName] = useState("Taylor");
```Sådan ændrer eller tilføjer du nye styles:
[data-chars-id='v'] {
@apply !text-pink-300 bg-rose-800/50 font-bold;
}