Files
app/zensical.toml
T
stroblmeandClaude Opus 5 6000258f7c License the workspace under AGPL-3.0-or-later
Replace the empty LICENSE placeholders with the verbatim GNU AGPL v3 text,
fix the invalid "AGPLv3" SPDX string in the package metadata, and name
Melvin Strobl as the copyright holder wherever the old footers said
"Fluksio ... all rights reserved".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 11:53:54 +02:00

125 lines
4.9 KiB
TOML

# 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 &copy; 2026 Melvin Strobl &middot; AGPL-3.0-or-later &middot; <a href="https://fluksio.com">fluksio.com</a> &middot; <a href="https://stroblme.de/imprint/" target="_blank" rel="noopener">Impressum</a> &middot; <a href="https://stroblme.de/privacy-policy/" target="_blank" rel="noopener">Privacy Policy</a>"""
# 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