defineStudioCMSConfig
defineStudioCMSConfig(
config
):object
A utility function to define the StudioCMS config object.
This function is used to define the optional StudioCMS
config object in the Astro project root. The expected file
name is studiocms.config.mjs
. And it should be adjacent
to the Astro project’s astro.config.mjs
file.
StudioCMS will attempt to import this file and use the default export as the StudioCMS config object authomatically if it exists.
Using this function is optional, but it can be useful for IDEs to provide better intellisense and type checking.
Parameters
• config
• config.dashboardConfig = dashboardConfigSchema
Allows customization of the Dashboard Configuration
Coming soon…
• config.dashboardConfig.AuthConfig = authConfigSchema
Auth Configuration - Allows customization of the Authentication Configuration
• config.dashboardConfig.AuthConfig.enabled: boolean
= ...
Auth Enabled - Allows enabling or disabling of the Authentication Configuration
Default
• config.dashboardConfig.AuthConfig.providers = authProviderSchema
Auth Providers - Allows enabling or disabling of the Authentication Providers
• config.dashboardConfig.AuthConfig.providers.auth0: boolean
= ...
Auth0 Auth Provider - Powered by Lucia
Requires an Auth0 Application to be created and configured using ENV Variables
Default
• config.dashboardConfig.AuthConfig.providers.discord: boolean
= ...
Discord Auth Provider - Powered by Lucia
Requires a Discord OAuth App to be created and configured using ENV Variables
Default
• config.dashboardConfig.AuthConfig.providers.github: boolean
= ...
GitHub Auth Provider - Powered by Lucia
Requires a GitHub OAuth App to be created and configured using ENV Variables
Default
• config.dashboardConfig.AuthConfig.providers.google: boolean
= ...
Google Auth Provider - Powered by Lucia
Requires a Google OAuth App to be created and configured using ENV Variables
Default
• config.dashboardConfig.AuthConfig.providers.usernameAndPassword: boolean
= ...
Username and Password Auth Provider - Powered by Lucia
• config.dashboardConfig.AuthConfig.providers.usernameAndPasswordConfig = localUsernameAndPasswordConfig
• config.dashboardConfig.AuthConfig.providers.usernameAndPasswordConfig.allowUserRegistration: boolean
= ...
Allow User Registration - Allows users to register an account
Default
• config.dashboardConfig.dashboardEnabled: boolean
= ...
OPTIONAL - This allows the user to enable or disable the Astro Studio CMS Dashboard but still provide all the helper’s and utilities to those who are customizing their setup, doing so will disable the dashboard and you will need to manage your content via the Astro Studio Dashboard at http://studio.astro.build
Default
• config.dashboardConfig.dashboardRouteOverride?: string
= ...
OPTIONAL - This allows the user to override the default dashboard route to a custom route
Note: Use with caution, this is an advanced feature
Usage
- The default route is
dashboard
without any/
or\
characters. If you want to override the route to/admin
you would set this value toadmin
Default
• config.dashboardConfig.developerConfig = developerConfigSchema
Developer Options/Configuration
• config.dashboardConfig.developerConfig.testingAndDemoMode: boolean
= ...
Enable Testing and Demo Mode
This will enable the testing and demo mode for the Astro Studio CMS Dashboard, this will allow you to test the dashboard without having to authenticate. This is useful for testing and demo purposes as it will allow you to see how the dashboard works and looks but disable any changes to the database.
Default
• config.dashboardConfig.developerConfig.viewTransitionAPI: boolean
= ...
Zero-JavaScript View Transitions
Chrome 126 (released last week) and Microsoft Edge 126 (releasing this week) both support “cross-document view transitions” unlocking zero-JavaScript view transitions in Astro.
See
https://astro.build/blog/future-of-astro-zero-js-view-transitions/
• config.dashboardConfig.faviconURL: string
= ...
OPTIONAL - This allows the user to override the default Favicon URL to a custom URL
• config.dashboardConfig.UnoCSSConfigOverride = unocssConfigSchema
UnoCSS Configuration - Allows customization of the UnoCSS Configuration
Note: Use with caution, this is an advanced feature
StudioCMS uses UnoCSS+DaisyUI to provide a TailwindCSS-like experience with minimal CSS+prebuilt theme options!. This configuration allows you to override the default configuration.
• config.dashboardConfig.UnoCSSConfigOverride.injectEntry: boolean
= ...
OPTIONAL - This allows the user to enable or disable the UnoCSS Default Entry import
If you would like to use our UnoCSS configuration with our front-end you can enable this option to import the default entry styles or use the example from the code snippet below to import the entry styles into your Base Layout/header.
Default
• config.dashboardConfig.UnoCSSConfigOverride.injectReset: boolean
= ...
OPTIONAL - This allows the user to enable or disable the UnoCSS Default Reset import
If you would like to use our UnoCSS configuration with our front-end you can enable this option to import the default reset styles or use the example from the code snippet below to import the reset styles into your Base Layout/header.
Default
• config.dashboardConfig.UnoCSSConfigOverride.presetsConfig = unocssPresetsSchema
Allows the user to modify the included UnoCSS Presets
• config.dashboardConfig.UnoCSSConfigOverride.presetsConfig.presetDaisyUI = unocssDaisyUISchema
OPTIONAL - This allows the user to enable or disable the UnoCSS DaisyUI Preset
• config.dashboardConfig.UnoCSSConfigOverride.presetsConfig.presetDaisyUI.darkTheme: string
= ...
OPTIONAL - This allows the user to set the default dark theme
Default
• config.dashboardConfig.UnoCSSConfigOverride.presetsConfig.presetDaisyUI.lightTheme: string
= ...
OPTIONAL - This allows the user to set the default light theme
Default
• config.dashboardConfig.UnoCSSConfigOverride.presetsConfig.presetDaisyUI.themes: string
[] = ...
OPTIONAL - This allows the user to use any of the available DaisyUI themes
Default
• config.dateLocale: string
= ...
Date Locale used for formatting dates
• config.dbStartPage: boolean
= ...
Project Initialization Page - Used during First Time Setup to initialize the database
Default
• config.defaultFrontEndConfig = DefaultFrontEndConfigSchema
Default Frontend Configuration
• config.defaultFrontEndConfig.favicon: string
= ...
Favicon Configuration - The default favicon configuration for the Frontend
• config.defaultFrontEndConfig.htmlDefaultHead: object
[] = ...
HTML Default Header - The default head configuration for the Frontend
• config.defaultFrontEndConfig.htmlDefaultLanguage: string
= ...
HTML Default Language - The default language for the HTML tag
Default
• config.defaultFrontEndConfig.inject404Route: boolean
= ...
Inject 404 Route - Injects a 404 route for handling unknown routes
Default
• config.defaultFrontEndConfig.injectDefaultFrontEndRoutes: boolean
= ...
Inject Default Routes - Injects the default routes for the StudioCMS Frontend
Default
• config.defaultFrontEndConfig.layoutOverride?: string
= ...
Layout Override - The default layout override for the Frontend
• config.imageService = imageServiceSchema
Allows customization of the Image Service Options
• config.imageService.astroImageServiceConfig: "sharp"
| "no-op"
= ...
If the user wants to disable the @unpic/astro
image service, they can specify their desired Astro Built-in Image Service using this option.
Note: This option is only used if useUnpic
is set to false
Default
• config.imageService.cdnPlugin?: "cloudinary-js"
= ...
If the user wants to use a custom Supported CDN Plugin, they can specify it here.
Currently Supported CDN Plugins: cloudinary-js
Note: Enabling this option will disable the use of the @unpic/astro
image service for external images. For local images and Fallback, the astroImageServiceConfig
will be used.
• config.imageService.unpicConfig = unpicConfigSchema
OPTIONAL - Allows the user to customize the @unpic/astro
image optimization service
• config.imageService.unpicConfig.cdnOptions: CdnOptions
= ...
CDN-specific options.
• config.imageService.unpicConfig.fallbackService?: ImageCdn
| "sharp"
| "squoosh"
= ...
The image service to use for local images and when the CDN can’t be determined from the image src. Value can be any supported image CDN, or “sharp” or “squoosh” to use the local image service. By default it will either use the local “squoosh” service, or will try to detect available services based on the environment. This detection currently works on Netlify and Vercel.
Falls back to the value of astroImageServiceConfig
if not set here
• config.imageService.unpicConfig.layout: "constrained"
| "fixed"
| "fullWidth"
= ...
The default layout to use for images. Defaults to “constrained”.
See
https://unpic.pics/img/learn/#layouts
Default
• config.imageService.unpicConfig.placeholder: "blurhash"
| "dominantColor"
| "lqip"
= ...
The default placeholder background to use for images.
Can be "blurhash"
, "dominantColor"
, or "lqip"
Local images don’t support "blurhash"
, "dominantColor"
or "lqip"
, and will
not include a background
Default is no background.
Note that because the element uses no Javascript, the background will not
be removed when the image loads, so you should not use it for images that
have transparency.
See
https://unpic.pics/placeholder
Default
• config.imageService.useUnpic: boolean
= ...
OPTIONAL - Allows the user to enable/disable the use of the @unpic/astro
image optimization service for external images
Default
• config.includedIntegrations = includedIntegrationsSchema
Allows enabling and disabling of the included integrations
• config.includedIntegrations.astroRobotsConfig?: unknown
= ...
• config.includedIntegrations.useAstroRobots?: unknown
= ...
Allows the user to enable/disable the use of the StudioCMS Custom astro-robots-txt
Integration
Default
• config.includedIntegrations.useInoxSitemap?: unknown
= ...
Allows the user to enable/disable the use of the Inox-tools Sitemap Plugin For more information on the Inox-tools Sitemap Plugin, visit:
See
https://inox-tools.vercel.app/sitemap-ext
TEMPORARILY DISABLED
If you would like to still use the Inox-tools Sitemap Plugin, you can manually add it to your project’s Integrations.
• config.overrides = overridesSchema
Component Overrides - Allows for customizing the components used in StudioCMS
• config.overrides.CustomImageOverride?: string
= ...
Allows the user to override the default image component used in StudioCMS for rendering images.
• config.overrides.FormattedDateOverride?: string
= ...
Allows the user to override the default formatted date component used in StudioCMS for rendering dates.
• config.rendererConfig = StudioCMSRendererConfigSchema
Renderer Configuration
Allows customization of the current renderer being used
• config.rendererConfig.markdocConfig = markdocConfigSchema
Allows customization of the Markdoc Configuration
Markdoc is a powerful, flexible, Markdown-based authoring framework. Built by Stripe.
See
https://markdoc.dev/ for more info about markdoc.
• config.rendererConfig.markdocConfig.argParse?: ParserArgs
= ...
The MarkDoc Arg Parse to use for rendering pages and posts
• config.rendererConfig.markdocConfig.renderType: "html"
| "react-static"
| markdocRenderer
= ...
The MarkDoc Content Renderer to use for rendering pages and posts
Can be one of the following: html
, react-static
, or a custom renderer
• config.rendererConfig.markdocConfig.transformConfig?: Partial
<object
> = ...
The MarkDoc Transform Config to use for rendering pages and posts
See
https://markdoc.dev/docs/config
• config.rendererConfig.markedConfig = markedConfigSchema
Allows customization of the Marked Configuration
Marked is a markdown parser and compiler. Built for speed. It is used to convert markdown strings into HTML for rendering content on StudioCMS pages.
See
https://marked.js.org/ for more info about marked.
• config.rendererConfig.markedConfig.highlighterConfig = markedHighlighterConfigSchema
Allows the user to customize the current Marked Highlighter
• config.rendererConfig.markedConfig.highlighterConfig.highlighter: "shiki"
| "disabled"
= ...
Allows the user to choose between the shiki
and Other eventually supported Highlighters
Note: The Shiki Highlighter is from the astro
package.
Default
• config.rendererConfig.markedConfig.highlighterConfig.shikiConfig = shikiConfigSchema
Allows the user to configure the Shiki Highlighter
• config.rendererConfig.markedConfig.highlighterConfig.shikiConfig.loadLangs?: LanguageInput
[] = ...
Allows the user to load additional Shiki Languages
Note: This option is only used if the user wants to load additional Shiki Languages
Example
• config.rendererConfig.markedConfig.highlighterConfig.shikiConfig.loadThemes?: ThemeInput
[] = ...
Allows the user to load additional Shiki Themes
Note: This option is only used if the user wants to load additional Shiki Themes
Example
• config.rendererConfig.markedConfig.highlighterConfig.shikiConfig.theme: BundledTheme
= ...
Allows the user to choose a Shiki Theme.
Note: The Only available themes are the ones listed below, and the user can import them from the shiki
package. using loadTheme option.
Current Bundled Themes:
houston
github-dark
github-light
night-owl
Import the theme from the shiki
package
Default
• config.rendererConfig.markedConfig.includedExtensions = markedExtensionsSchema
Allows Enabling and Disabling of the included Marked Extensions
• config.rendererConfig.markedConfig.includedExtensions.markedAlert: boolean
= ...
Allows the user to enable/disable the use of the marked-alert
extension
Default
See
https://www.npmjs.com/package/marked-alert
• config.rendererConfig.markedConfig.includedExtensions.markedEmoji: boolean
= ...
Allows the user to enable/disable the use of the marked-emoji
extension
Default
See
https://www.npmjs.com/package/marked-emoji
• config.rendererConfig.markedConfig.includedExtensions.markedFootnote: boolean
= ...
Allows the user to enable/disable the use of the marked-footnote
extension
Default
See
https://www.npmjs.com/package/marked-footnote
• config.rendererConfig.markedConfig.includedExtensions.markedSmartypants: boolean
= ...
Allows the user to enable/disable the use of the marked-smartypants
extension
Default
See
https://www.npmjs.com/package/marked-smartypants
• config.rendererConfig.markedConfig.loadmarkedExtensions?: MarkedExtension
[] = ...
Allows the user to load additional Marked Extensions
Note: This option is only used if the user wants to load additional Marked Extensions
See
https://marked.js.org/using_advanced#extensions for more info about Marked Extensions
Example
• config.rendererConfig.mdxConfig = mdxConfigSchema
Allows customization of the MDX Configuration
MDX is a JSX in Markdown loader, parser, and renderer for ambitious projects.
See
https://mdxjs.com/ for more info about MDX.
• config.rendererConfig.mdxConfig.recmaPlugins: PluggableList
= ...
List of recma plugins (optional); this is a new ecosystem, currently in beta, to transform esast trees (JavaScript)
• config.rendererConfig.mdxConfig.rehypePlugins: PluggableList
= ...
List of rehype plugins (optional).
• config.rendererConfig.mdxConfig.remarkPlugins: PluggableList
= ...
List of remark plugins (optional).
• config.rendererConfig.mdxConfig.remarkRehypeOptions: RemarkRehypeOptions
= ...
Options to pass through to remark-rehype (optional); the option allowDangerousHtml will always be set to true and the MDX nodes (see nodeTypes) are passed through; In particular, you might want to pass configuration for footnotes if your content is not in English.
• config.rendererConfig.renderer: "marked"
| "astro"
| "markdoc"
| "mdx"
| CustomRenderer
= ...
The Markdown Content Renderer to use for rendering pages and posts
Marked is A markdown parser and compiler. Built for speed.
See
- https://marked.js.org/ for more info about marked.
Astro is the built-in Astro remark-markdown plugin.
Markdoc is a powerful, flexible, Markdown-based authoring framework. Built by Stripe.
- https://markdoc.dev/ for more info about markdoc.
• config.verbose: boolean
= ...
Whether to show verbose output
Default
Returns
object
dashboardConfig
dashboardConfig:
object
=dashboardConfigSchema
Allows customization of the Dashboard Configuration
Coming soon…
dashboardConfig.AuthConfig
AuthConfig:
object
=authConfigSchema
Auth Configuration - Allows customization of the Authentication Configuration
dashboardConfig.AuthConfig.enabled
enabled:
boolean
Auth Enabled - Allows enabling or disabling of the Authentication Configuration
Default
dashboardConfig.AuthConfig.providers
providers:
object
=authProviderSchema
Auth Providers - Allows enabling or disabling of the Authentication Providers
dashboardConfig.AuthConfig.providers.auth0
auth0:
boolean
Auth0 Auth Provider - Powered by Lucia
Requires an Auth0 Application to be created and configured using ENV Variables
Default
dashboardConfig.AuthConfig.providers.discord
discord:
boolean
Discord Auth Provider - Powered by Lucia
Requires a Discord OAuth App to be created and configured using ENV Variables
Default
dashboardConfig.AuthConfig.providers.github
github:
boolean
GitHub Auth Provider - Powered by Lucia
Requires a GitHub OAuth App to be created and configured using ENV Variables
Default
dashboardConfig.AuthConfig.providers.google
google:
boolean
Google Auth Provider - Powered by Lucia
Requires a Google OAuth App to be created and configured using ENV Variables
Default
dashboardConfig.AuthConfig.providers.usernameAndPassword
usernameAndPassword:
boolean
Username and Password Auth Provider - Powered by Lucia
dashboardConfig.AuthConfig.providers.usernameAndPasswordConfig
usernameAndPasswordConfig:
object
=localUsernameAndPasswordConfig
dashboardConfig.AuthConfig.providers.usernameAndPasswordConfig.allowUserRegistration
allowUserRegistration:
boolean
Allow User Registration - Allows users to register an account
Default
dashboardConfig.dashboardEnabled
dashboardEnabled:
boolean
OPTIONAL - This allows the user to enable or disable the Astro Studio CMS Dashboard but still provide all the helper’s and utilities to those who are customizing their setup, doing so will disable the dashboard and you will need to manage your content via the Astro Studio Dashboard at http://studio.astro.build
Default
dashboardConfig.dashboardRouteOverride?
optional
dashboardRouteOverride:string
OPTIONAL - This allows the user to override the default dashboard route to a custom route
Note: Use with caution, this is an advanced feature
Usage
- The default route is
dashboard
without any/
or\
characters. If you want to override the route to/admin
you would set this value toadmin
Default
dashboardConfig.developerConfig
developerConfig:
object
=developerConfigSchema
Developer Options/Configuration
dashboardConfig.developerConfig.testingAndDemoMode
testingAndDemoMode:
boolean
Enable Testing and Demo Mode
This will enable the testing and demo mode for the Astro Studio CMS Dashboard, this will allow you to test the dashboard without having to authenticate. This is useful for testing and demo purposes as it will allow you to see how the dashboard works and looks but disable any changes to the database.
Default
dashboardConfig.developerConfig.viewTransitionAPI
viewTransitionAPI:
boolean
Zero-JavaScript View Transitions
Chrome 126 (released last week) and Microsoft Edge 126 (releasing this week) both support “cross-document view transitions” unlocking zero-JavaScript view transitions in Astro.
See
https://astro.build/blog/future-of-astro-zero-js-view-transitions/
dashboardConfig.faviconURL
faviconURL:
string
OPTIONAL - This allows the user to override the default Favicon URL to a custom URL
dashboardConfig.UnoCSSConfigOverride
UnoCSSConfigOverride:
object
=unocssConfigSchema
UnoCSS Configuration - Allows customization of the UnoCSS Configuration
Note: Use with caution, this is an advanced feature
StudioCMS uses UnoCSS+DaisyUI to provide a TailwindCSS-like experience with minimal CSS+prebuilt theme options!. This configuration allows you to override the default configuration.
dashboardConfig.UnoCSSConfigOverride.injectEntry
injectEntry:
boolean
OPTIONAL - This allows the user to enable or disable the UnoCSS Default Entry import
If you would like to use our UnoCSS configuration with our front-end you can enable this option to import the default entry styles or use the example from the code snippet below to import the entry styles into your Base Layout/header.
Default
dashboardConfig.UnoCSSConfigOverride.injectReset
injectReset:
boolean
OPTIONAL - This allows the user to enable or disable the UnoCSS Default Reset import
If you would like to use our UnoCSS configuration with our front-end you can enable this option to import the default reset styles or use the example from the code snippet below to import the reset styles into your Base Layout/header.
Default
dashboardConfig.UnoCSSConfigOverride.presetsConfig
presetsConfig:
object
=unocssPresetsSchema
Allows the user to modify the included UnoCSS Presets
dashboardConfig.UnoCSSConfigOverride.presetsConfig.presetDaisyUI
presetDaisyUI:
object
=unocssDaisyUISchema
OPTIONAL - This allows the user to enable or disable the UnoCSS DaisyUI Preset
dashboardConfig.UnoCSSConfigOverride.presetsConfig.presetDaisyUI.darkTheme
darkTheme:
string
OPTIONAL - This allows the user to set the default dark theme
Default
dashboardConfig.UnoCSSConfigOverride.presetsConfig.presetDaisyUI.lightTheme
lightTheme:
string
OPTIONAL - This allows the user to set the default light theme
Default
dashboardConfig.UnoCSSConfigOverride.presetsConfig.presetDaisyUI.themes
themes:
string
[]
OPTIONAL - This allows the user to use any of the available DaisyUI themes
Default
dateLocale
dateLocale:
string
Date Locale used for formatting dates
dbStartPage
dbStartPage:
boolean
Project Initialization Page - Used during First Time Setup to initialize the database
Default
defaultFrontEndConfig
defaultFrontEndConfig:
object
=DefaultFrontEndConfigSchema
Default Frontend Configuration
defaultFrontEndConfig.favicon
favicon:
string
Favicon Configuration - The default favicon configuration for the Frontend
defaultFrontEndConfig.htmlDefaultHead
htmlDefaultHead:
object
[]
HTML Default Header - The default head configuration for the Frontend
defaultFrontEndConfig.htmlDefaultLanguage
htmlDefaultLanguage:
string
HTML Default Language - The default language for the HTML tag
Default
defaultFrontEndConfig.inject404Route
inject404Route:
boolean
Inject 404 Route - Injects a 404 route for handling unknown routes
Default
defaultFrontEndConfig.injectDefaultFrontEndRoutes
injectDefaultFrontEndRoutes:
boolean
Inject Default Routes - Injects the default routes for the StudioCMS Frontend
Default
defaultFrontEndConfig.layoutOverride?
optional
layoutOverride:string
Layout Override - The default layout override for the Frontend
imageService
imageService:
object
=imageServiceSchema
Allows customization of the Image Service Options
imageService.astroImageServiceConfig
astroImageServiceConfig:
"sharp"
|"no-op"
If the user wants to disable the @unpic/astro
image service, they can specify their desired Astro Built-in Image Service using this option.
Note: This option is only used if useUnpic
is set to false
Default
imageService.cdnPlugin?
optional
cdnPlugin:"cloudinary-js"
If the user wants to use a custom Supported CDN Plugin, they can specify it here.
Currently Supported CDN Plugins: cloudinary-js
Note: Enabling this option will disable the use of the @unpic/astro
image service for external images. For local images and Fallback, the astroImageServiceConfig
will be used.
imageService.unpicConfig
unpicConfig:
object
=unpicConfigSchema
OPTIONAL - Allows the user to customize the @unpic/astro
image optimization service
imageService.unpicConfig.cdnOptions
cdnOptions:
CdnOptions
CDN-specific options.
imageService.unpicConfig.fallbackService?
optional
fallbackService:ImageCdn
|"sharp"
|"squoosh"
The image service to use for local images and when the CDN can’t be determined from the image src. Value can be any supported image CDN, or “sharp” or “squoosh” to use the local image service. By default it will either use the local “squoosh” service, or will try to detect available services based on the environment. This detection currently works on Netlify and Vercel.
Falls back to the value of astroImageServiceConfig
if not set here
imageService.unpicConfig.layout
layout:
"constrained"
|"fixed"
|"fullWidth"
The default layout to use for images. Defaults to “constrained”.
See
https://unpic.pics/img/learn/#layouts
Default
imageService.unpicConfig.placeholder
placeholder:
"blurhash"
|"dominantColor"
|"lqip"
The default placeholder background to use for images.
Can be "blurhash"
, "dominantColor"
, or "lqip"
Local images don’t support "blurhash"
, "dominantColor"
or "lqip"
, and will
not include a background
Default is no background.
Note that because the element uses no Javascript, the background will not
be removed when the image loads, so you should not use it for images that
have transparency.
See
https://unpic.pics/placeholder
Default
imageService.useUnpic
useUnpic:
boolean
OPTIONAL - Allows the user to enable/disable the use of the @unpic/astro
image optimization service for external images
Default
includedIntegrations
includedIntegrations:
object
=includedIntegrationsSchema
Allows enabling and disabling of the included integrations
includedIntegrations.astroRobotsConfig?
optional
astroRobotsConfig:unknown
includedIntegrations.useAstroRobots?
optional
useAstroRobots:unknown
Allows the user to enable/disable the use of the StudioCMS Custom astro-robots-txt
Integration
Default
includedIntegrations.useInoxSitemap?
optional
useInoxSitemap:unknown
Allows the user to enable/disable the use of the Inox-tools Sitemap Plugin For more information on the Inox-tools Sitemap Plugin, visit:
See
https://inox-tools.vercel.app/sitemap-ext
TEMPORARILY DISABLED
If you would like to still use the Inox-tools Sitemap Plugin, you can manually add it to your project’s Integrations.
overrides
overrides:
object
=overridesSchema
Component Overrides - Allows for customizing the components used in StudioCMS
overrides.CustomImageOverride?
optional
CustomImageOverride:string
Allows the user to override the default image component used in StudioCMS for rendering images.
overrides.FormattedDateOverride?
optional
FormattedDateOverride:string
Allows the user to override the default formatted date component used in StudioCMS for rendering dates.
rendererConfig
rendererConfig:
object
=StudioCMSRendererConfigSchema
Renderer Configuration
Allows customization of the current renderer being used
rendererConfig.markdocConfig
markdocConfig:
object
=markdocConfigSchema
Allows customization of the Markdoc Configuration
Markdoc is a powerful, flexible, Markdown-based authoring framework. Built by Stripe.
See
https://markdoc.dev/ for more info about markdoc.
rendererConfig.markdocConfig.argParse?
optional
argParse:ParserArgs
The MarkDoc Arg Parse to use for rendering pages and posts
rendererConfig.markdocConfig.renderType
renderType:
"html"
|"react-static"
|markdocRenderer
The MarkDoc Content Renderer to use for rendering pages and posts
Can be one of the following: html
, react-static
, or a custom renderer
rendererConfig.markdocConfig.transformConfig?
optional
transformConfig:Partial
<object
>
The MarkDoc Transform Config to use for rendering pages and posts
Type declaration
functions
functions:
Record
<string
,ConfigFunction
>
nodes
nodes:
Partial
<Record
<NodeType
,Schema
<Readonly
<Partial
<…>>,string
>>>
partials
partials:
Record
<string
,any
>
tags
tags:
Record
<string
,Schema
<Readonly
<Partial
<{ nodes: Partial<Record<NodeType, Schema<Readonly<Partial<…>>, string>>>; tags: Record<string, Schema<Readonly<Partial<…>>, string>>; variables: Record<…>; functions: Record<…>; partials: Record<…>; validation?: { …; }; }>>,string
>>
validation?
optional
validation:object
validation.environment?
optional
environment:string
validation.parents?
optional
parents:Node
[]
validation.validateFunctions?
optional
validateFunctions:boolean
variables
variables:
Record
<string
,any
>
See
https://markdoc.dev/docs/config
rendererConfig.markedConfig
markedConfig:
object
=markedConfigSchema
Allows customization of the Marked Configuration
Marked is a markdown parser and compiler. Built for speed. It is used to convert markdown strings into HTML for rendering content on StudioCMS pages.
See
https://marked.js.org/ for more info about marked.
rendererConfig.markedConfig.highlighterConfig
highlighterConfig:
object
=markedHighlighterConfigSchema
Allows the user to customize the current Marked Highlighter
rendererConfig.markedConfig.highlighterConfig.highlighter
highlighter:
"shiki"
|"disabled"
Allows the user to choose between the shiki
and Other eventually supported Highlighters
Note: The Shiki Highlighter is from the astro
package.
Default
rendererConfig.markedConfig.highlighterConfig.shikiConfig
shikiConfig:
object
=shikiConfigSchema
Allows the user to configure the Shiki Highlighter
rendererConfig.markedConfig.highlighterConfig.shikiConfig.loadLangs?
optional
loadLangs:LanguageInput
[]
Allows the user to load additional Shiki Languages
Note: This option is only used if the user wants to load additional Shiki Languages
Example
rendererConfig.markedConfig.highlighterConfig.shikiConfig.loadThemes?
optional
loadThemes:ThemeInput
[]
Allows the user to load additional Shiki Themes
Note: This option is only used if the user wants to load additional Shiki Themes
Example
rendererConfig.markedConfig.highlighterConfig.shikiConfig.theme
theme:
BundledTheme
Allows the user to choose a Shiki Theme.
Note: The Only available themes are the ones listed below, and the user can import them from the shiki
package. using loadTheme option.
Current Bundled Themes:
houston
github-dark
github-light
night-owl
Import the theme from the shiki
package
Default
rendererConfig.markedConfig.includedExtensions
includedExtensions:
object
=markedExtensionsSchema
Allows Enabling and Disabling of the included Marked Extensions
rendererConfig.markedConfig.includedExtensions.markedAlert
markedAlert:
boolean
Allows the user to enable/disable the use of the marked-alert
extension
Default
See
https://www.npmjs.com/package/marked-alert
rendererConfig.markedConfig.includedExtensions.markedEmoji
markedEmoji:
boolean
Allows the user to enable/disable the use of the marked-emoji
extension
Default
See
https://www.npmjs.com/package/marked-emoji
rendererConfig.markedConfig.includedExtensions.markedFootnote
markedFootnote:
boolean
Allows the user to enable/disable the use of the marked-footnote
extension
Default
See
https://www.npmjs.com/package/marked-footnote
rendererConfig.markedConfig.includedExtensions.markedSmartypants
markedSmartypants:
boolean
Allows the user to enable/disable the use of the marked-smartypants
extension
Default
See
https://www.npmjs.com/package/marked-smartypants
rendererConfig.markedConfig.loadmarkedExtensions?
optional
loadmarkedExtensions:MarkedExtension
[]
Allows the user to load additional Marked Extensions
Note: This option is only used if the user wants to load additional Marked Extensions
See
https://marked.js.org/using_advanced#extensions for more info about Marked Extensions
Example
rendererConfig.mdxConfig
mdxConfig:
object
=mdxConfigSchema
Allows customization of the MDX Configuration
MDX is a JSX in Markdown loader, parser, and renderer for ambitious projects.
See
https://mdxjs.com/ for more info about MDX.
rendererConfig.mdxConfig.recmaPlugins
recmaPlugins:
PluggableList
List of recma plugins (optional); this is a new ecosystem, currently in beta, to transform esast trees (JavaScript)
rendererConfig.mdxConfig.rehypePlugins
rehypePlugins:
PluggableList
List of rehype plugins (optional).
rendererConfig.mdxConfig.remarkPlugins
remarkPlugins:
PluggableList
List of remark plugins (optional).
rendererConfig.mdxConfig.remarkRehypeOptions
remarkRehypeOptions:
RemarkRehypeOptions
Options to pass through to remark-rehype (optional); the option allowDangerousHtml will always be set to true and the MDX nodes (see nodeTypes) are passed through; In particular, you might want to pass configuration for footnotes if your content is not in English.
rendererConfig.renderer
renderer:
"marked"
|"astro"
|"markdoc"
|"mdx"
|CustomRenderer
The Markdown Content Renderer to use for rendering pages and posts
Marked is A markdown parser and compiler. Built for speed.
See
- https://marked.js.org/ for more info about marked.
Astro is the built-in Astro remark-markdown plugin.
Markdoc is a powerful, flexible, Markdown-based authoring framework. Built by Stripe.
- https://markdoc.dev/ for more info about markdoc.
verbose
verbose:
boolean
Whether to show verbose output
Default
Example
Defined in
packages/studiocms_core/src/lib/defineStudioCMSConfig.ts:31