Code
अपनी MDX files में code का बेहतर उपयोग करना
opendocs MDX files में code को handle करने के लिए rehype-pretty-code library का उपयोग करता है।
इससे आप code के display होने के तरीके को बहुत अधिक customize कर सकते हैं!
अधिक जानकारी के लिए official documentation और examples देखें!
Titles
Example:
import { App } from './App';Code:
```js title="apps/web/src/index.tsx"
import { App } from './App';
```Code highlighting
Example:
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}Code:
```js
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}
```Inline code highlighting
Example:
[1, 2, 3].join('-') का result '1-2-3' है।
Code:
The result of `[1, 2, 3].join('-'){:js}` is `'1-2-3'{:js}`.Context-aware inline code highlighting
उदाहरण के लिए, अगर आपके पास नीचे दिया गया code block हो:
function getStringLength(str) {
return str.length;
}जब हम getStringLength को function के रूप में refer करते हैं,
तो हम उसे उसी तरह color कर सकते हैं। यही बात function, या
str बनाम str आदि पर भी लागू होती है। इससे inline code को उस nearest code block से semantically link किया जा सकता है जिससे वह संबंधित है।
Code:
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.Word highlighting
Example:
relative w-full pl-12 rounded-lg borderCode:
```css /pl-12/ /border/
relative w-full pl-12 rounded-lg border
```Line highlighting
Example:
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}Code:
```js {2-4,6}
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}
```Line numbering
Example:
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}Code:
```js showLineNumbers
module.exports = {
theme: {
extend: {
colors: {
warning: "hsl(var(--warning))",
"warning-foreground": "hsl(var(--warning-foreground))",
},
},
},
}
```Diff
Example:
const alertVariants = cva(
- "relative w-full rounded-lg border",
+ "relative w-full pl-12 rounded-lg border"
)Code:
```diff
const alertVariants = cva(
- "relative w-full rounded-lg border",
+ "relative w-full pl-12 rounded-lg border"
)
```ANSI Highlight
Example:
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/
Code:
```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}`Word group highlighting by id
शब्दों के बाद # और फिर id जोड़ें।
इससे दिए गए id के आधार पर characters को अलग-अलग रंगों में दिखाया जा सकता है।
Example:
const [age, setAge] = useState(50);
const [name, setName] = useState("Taylor");Code:
```js /age/#v /name/#v /setAge/#s /setName/#s /50/#i /"Taylor"/#i
const [age, setAge] = useState(50);
const [name, setName] = useState("Taylor");
```styles बदलने या नए styles जोड़ने के लिए:
[data-chars-id='v'] {
@apply !text-pink-300 bg-rose-800/50 font-bold;
}