Skip to content

Latest commit

 

History

History
57 lines (40 loc) · 3.83 KB

doc-block-source.md

File metadata and controls

57 lines (40 loc) · 3.83 KB
title
Source

Storybook's Source Doc Block displays the story's source code. It supports syntax highlighting for most languages (e.g., javascript, jsx, json, yml, md, bash, css, html) and can be copied with the click of a button.

Docs blocks with source

Working with the DocsPage

Storybook automatically generates a Source Doc Block within the Canvas to display the story's code snippet. It includes additional customization via parameters. Below is a condensed example and tables featuring all the available options.

<CodeSnippets paths={[ 'common/component-story-custom-source.js.mdx', ]} />

💡 The pattern demonstrated here applies only to the story. If you need, you can apply this to all the component stories, introducing a component parameter.

Option Description
code Customizes the code snippet to be displayed.
docs: { source: { code: '<h1>Hello world</h1>' } }.
Requires language for proper syntax highlighting.
dark Sets the background to dark mode.
<Source dark/>
Applies only to MDX.
id Supplies a unique story identifier.
<Source id="example-mycomponent--starter" />
Applies only to MDX.
language Sets the language for syntax highlighting.
docs: { source: { language: 'html'} }
format Formats the code snippet.
docs: { source: { format:false } }
type Sets how the story source snippet is auto-generated. See table below for available values.
Value Description Support
auto (default) Use dynamic snippets if the story is written using Args and the framework supports it.
docs: { source: { type: 'auto' } }
All
dynamic Dynamically generated code snippet based on the output of the story function (e.g, JSX code for React).
docs: { source: { type: 'dynamic' } }
Limited
code Use the raw story source as written in the story file.
docs: { source: { type: 'code' } }
All

Working with MDX

If you need, you can also include the Source Doc Block in your MDX stories. It accepts either a story ID or a code snippet. For example:

<CodeSnippets paths={[ 'common/component-story-mdx-dedent.mdx.mdx', ]} />