Code Blocks
Configure syntax highlighting and more in your code snippets
Fern uses Shiki to do syntax highlighting. It’s very reliable and performant. Below are examples of how you can configure syntax highlighting in code snippets.
Basic
To create a code snippet, you need to wrap your code in three backticks. You can also specify the language for syntax highlighting after the opening backticks.
Example
Markdown
Titles
You can add a title to your code snippet by adding a title after the language identifier.
Example
Markdown
Line highlighting
You can highlight specific lines in your code snippet by placing a numeric range inside {}
after the language identifier.
Example
Markdown
Line focusing
Instead of highlighting lines, you can focus on specific lines by adding a comment [!code focus]
or by adding a
focus
attribute after the language identifier. The focus
attribute works the same way as the highlight
attribute.
Example
Markdown
Max height
You can control the max height of the code block by adding
a maxLines
attribute after the language identifier. The
maxLines
attribute should be a number representing the maximum
number of lines to display. By default, the code block will display up to 20 lines.
Example
Markdown
Wrap overflow
By default, long lines that exceed the width of the code block become scrollable:
Example
Markdown
To disable scrolling and wrap overflow onto the next line, use the wordWrap
prop:
Example
Markdown
Combining props
You can combine the title
, highlight
, focus
, maxLines
, and wordWrap
props to create a code block with a title, highlighted lines,
and a maximum height.
Example
Markdown
Tabbed CodeBlocks
The CodeBlocks
component is used to display multiple code snippets in a tabbed view. It does not take any props.