# Fluksio documentation site, built with zensical (https://zensical.org). # Content lives in docs/, the static build goes to site/ (gitignored). # Build: `make docs` | Live preview: `make docs-serve` # This config is zensical-native (TOML). It is portable to Material for MkDocs # by translating to mkdocs.yml if the engine ever needs to change. [project] site_name = "Fluksio" site_description = "Documentation for Fluksio, node-based automation for experiments and for buildings." site_url = "https://docs.fluksio.com/" # Footer line. HTML renders as-is, so the legal links (mirroring the index # landing footer) and a link back to the main site live here. copyright = """Copyright © 2026 Fluksio · fluksio.com · Impressum · Privacy Policy""" # Fluksio brand color schemes (slate blue on neutral white/near-black, with # terracotta as the one secondary accent), layered over the built-in # default/slate schemes. See docs/stylesheets/extra.css. extra_css = ["stylesheets/extra.css"] # Site navigation. Must stay above the first [project.*] table header, or TOML # would nest it inside that table and zensical would silently fall back to # auto-generated (alphabetical) navigation. nav = [ { "Home" = "index.md" }, { "Getting started" = [ { "Pick your starting point" = "getting-started/index.md" }, { "Data science" = "getting-started/data-science.md" }, { "Facility automation" = "getting-started/facility-automation.md" }, ] }, { "Concepts" = [ { "Flows, nodes and messages" = "concepts/flows.md" }, { "Where a node's values come from" = "concepts/values.md" }, { "Keeping state in a flow" = "concepts/state.md" }, { "Runs: pipelines that finish" = "concepts/runs.md" }, ] }, { "The interface" = [ { "The dashboard app" = "interface/index.md" }, { "The flow editor" = "interface/flow-editor.md" }, { "Dashboards and panels" = "interface/dashboards.md" }, { "Secrets, modules and alerts" = "interface/operations.md" }, { "Accounts and the portal" = "interface/portal.md" }, ] }, { "Code and the CLI" = [ { "The fluksio command" = "code/cli.md" }, { "Writing node code" = "code/nodes.md" }, { "The HTTP API" = "code/api.md" }, { "Remote workers" = "code/workers.md" }, { "Agents over MCP" = "code/agents.md" }, ] }, { "Reference" = [ { "Node types" = "reference/node-types.md" }, { "Payload types" = "reference/payload-types.md" }, { "Configuration" = "reference/configuration.md" }, ] }, # The roadmap, the design guidelines and the architecture material stay in # the repositories — repo-only, intentionally not published. ] # Drop the "Made with Zensical" generator notice from the footer. [project.extra] generator = false [project.theme] language = "en" # The brand mark the dashboard SPA uses (frontend/public/favicon.svg), as both # the browser favicon and the header logo, so the docs match the app. favicon = "assets/favicon.svg" logo = "assets/favicon.svg" features = [ "content.code.copy", "navigation.footer", "navigation.indexes", "navigation.instant", "navigation.sections", "navigation.top", "navigation.tracking", "search.highlight", "toc.follow", ] # Body font mirrors both frontends (Inter); code font stays the theme default, # which matches the app's system monospace stack. [project.theme.font] text = "Inter" # Three states, the same as both frontends: follow the system, then an explicit # light and an explicit dark the toggle cycles through. [[project.theme.palette]] media = "(prefers-color-scheme)" toggle.icon = "lucide/monitor-cog" toggle.name = "Follow the system theme" [[project.theme.palette]] media = "(prefers-color-scheme: light)" scheme = "default" toggle.icon = "lucide/sun" toggle.name = "Switch to dark mode" [[project.theme.palette]] media = "(prefers-color-scheme: dark)" scheme = "slate" toggle.icon = "lucide/moon" toggle.name = "Switch to light mode" # Markdown extensions: admonitions, grids (attr_list + md_in_html), code blocks # with highlighting and copy, content tabs, collapsible details, mermaid. [project.markdown_extensions.abbr] [project.markdown_extensions.admonition] [project.markdown_extensions.attr_list] [project.markdown_extensions.def_list] [project.markdown_extensions.footnotes] [project.markdown_extensions.md_in_html] [project.markdown_extensions.toc] permalink = true [project.markdown_extensions.pymdownx.details] [project.markdown_extensions.pymdownx.highlight] anchor_linenums = true [project.markdown_extensions.pymdownx.inlinehilite] [project.markdown_extensions.pymdownx.superfences] custom_fences = [ { name = "mermaid", class = "mermaid", format = "pymdownx.superfences.fence_code_format" } ] [project.markdown_extensions.pymdownx.tabbed] alternate_style = true