View Source PhxLiveStorybook.Router (phx_live_storybook v0.4.5)
Provides LiveView routing for storybook.
Link to this section Summary
Link to this section Functions
Defines a PhxLiveStorybook route.
It expects the path the storybook will be mounted at and a set of options.
This will also generate a named helper called live_storybook_path/2 which you can use to link
directly to the storybook, such as:
<.link href={live_storybook_path(conn, :root)} />Note that you should only use the href attribute to link to the storybook,
as it has to set its own session on first rendering. Linking with patch or
navigate will not work.
options
Options
:backend_module- Required - Name of your backend module.:live_socket_path- Configures the socket path. It must match thesocket "/live", Phoenix.LiveView.Socketin your endpoint.:assets_path- Configures the assets path. It must match thestorybook_assetsin your router. Defaults to"/storybook/assets".:session_name- Configures the live session name. Defaults to:live_storybook. Use this option if you want to mount multiple storybooks in the same router.:as- Allows you to set the route helper name. Defaults to:live_storybook.:pipeline- Set tofalseif you don't want a router pipeline to be created. This is useful if you want to define your own:storybook_browserpipeline, or if you mount multiple storybooks, in which case the pipeline only has to be defined once. Defaults totrue.
usage
Usage
# lib/my_app_web/router.ex
use MyAppWeb, :router
import PhxLiveStorybook.Router
...
scope "/" do
pipe_through :browser
live_storybook "/storybook", backend_module: MyAppWeb.Storybook
endNote that it is not possible to use this macro in a scope with a path
different from /.
Defines routes for PhxLiveStorybook static assets.
Static assets should not be CSRF protected. So they need to be mounted in your router in a different pipeline than storybook's.
It can take the path the storybook assets will be mounted at.
Default path is "/storybook/assets".
usage
Usage
# lib/my_app_web/router.ex
use MyAppWeb, :router
import PhxLiveStorybook.Router
...
scope "/" do
storybook_assets()
end