Booyaka offers a flexible configuration system that allows you to customize various aspects of your documentation site. You can use either a YAML or JSON configuration file to define settings such as site metadata, appearance, navigation, and more.
If you haven't set up a Booyaka project yet, you can create one by running the following command in your terminal 👇
booyaka new project-nameThis command will generate a new Booyaka project with the necessary folder structure and default configuration files (pass --json flag to create a JSON configuration file instead of YAML).
Once generated, you will find the configuration file named booyaka.config.yaml or booyaka.config.json in the root of your project directory.
Here is an overview of the main configuration options available in Booyaka:
metadata:
url: "https://example.com" # The base URL of the documentation site
title: "" # The title of the site
description: "" # A short description of the site for SEO purposes
keywords: # A list of keywords for SEO purposes
- "docs"
- "booyaka"
appearance:
show_theme_switcher: true # Show theme switcher in the header
defaullt_theme: "system" # Default theme ("light", "dark", "system")
show_toggle_left_sidebar: true # Show toggle button for left sidebar
show_toggle_right_sidebar: false # Show toggle button for right sidebar
container_width: "col-lg-10 mx-auto" # Bootstrap container width class
content_width: "col-lg-7" # Bootstrap column width class for content
background_noise_opacity: 0.03 # Opacity of background noise texture
git:
enable_versioning: false # Enable versioning based on Git tags/branches
enable_contributors_info: false # Show contributors info from Git history
header:
search:
enable: true # Enable search in header
index_meta_data: true # Index metadata for search
index_page_titles: true # Index page titles for search
content:
allowedRawHtmlTags: # Allowed raw HTML tags in Markdown content
- "b"
- "i"
- "strong"
- "em"
- "a"
- "p"
- "ul"
- "ol"
- "li"
showLastUpdated: true # Show "Last Updated" timestamp
lastDateUpdatedFormat: "yyyy-MM-dd HH:mm:ss" # Format for "Last Updated"
enableAutoFormatLinks: true # Auto-format URLs as clickable links
bottom_navigation: true # Enable bottom navigation links
codeHighlightTheme: "default" # Code syntax highlighting theme
share_ai_buttons: true # Show AI share buttons in page header
share_buttons_ai_providers: # List of AI providers for share buttons
- label: "ChatGPT"
url: "https://chat.openai.com/share?text={content}"
description: "Share with ChatGPT"
- label: "Claude"
url: "https://claude.ai/share?text={content}"
description: "Share with Claude"
navbar: # Top navigation bar configuration
- title: "Home"
url: "/"
icon: "" # Optional icon (Tabler Icons)
- title: "Docs"
url: "/docs"
icon: "icon-book"
sidebar_navigation: # Sidebar navigation configuration
- name: "Getting Started"
items:
- title: "Introduction"
url: "/docs/intro"
icon: ""
- title: "Installation"
url: "/docs/install"
icon: "icon-download"
- name: "Guides"
items:
- title: "Usage"
url: "/docs/usage"
icon: ""
sidebarLeftType: "default" # Type of the left sidebar
sidebarRightType: "default" # Type of the right sidebar
extra_sections:
left_sidebar: # Extra sections for the left sidebar
- title: "" # Optional title
content: "" # Optional content (HTML/Markdown)
right_sidebar: # Extra sections for the right sidebar
- title: ""
content: ""
footer:
text: "" # Footer text content
links: # Footer links configuration
- title: "GitHub"
url: "https://github.com/example"
icon: "icon-brand-github"🔗Modifying the Configuration
To modify the configuration, simply edit the booyaka.config.yaml file and update the desired fields. After making changes, restart your Booyaka server to see the updates reflected in your documentation site.