[project]
site_name = "rtb-telemetry"
site_description = "Opt-in anonymous usage telemetry with pluggable sinks, salted machine identity, and persisted consent."
site_author = "Matt Cockayne"
site_url = "https://telemetry.rust.phpboyscout.uk"
repo_url = "https://gitlab.com/phpboyscout/rust/telemetry"
copyright = """
Copyright © 2026 Matt Cockayne
"""
[project.theme]
logo = "images/branding/logo_transparent.svg"
favicon = "images/branding/favicon.svg"
language = "en"
features = [
"content.code.copy",
"navigation.footer",
"navigation.indexes",
"navigation.sections",
"search.highlight",
"search.suggest",
"toc.follow",
]
[[project.nav]]
"Overview" = "index.md"
[[project.nav]]
"Tutorials" = [
"tutorials/index.md",
{ "Record your first event" = "tutorials/record-your-first-event.md" },
]
[[project.nav]]
"How-to" = [
"how-to/index.md",
{ "Persist a user's consent decision" = "how-to/persist-a-consent-decision.md" },
{ "Write events to a file" = "how-to/write-events-to-a-file.md" },
{ "Send events to an HTTPS endpoint" = "how-to/send-events-to-an-https-endpoint.md" },
{ "Export to an OTLP collector" = "how-to/export-to-an-otlp-collector.md" },
{ "Write a custom sink" = "how-to/write-a-custom-sink.md" },
{ "Assert on events in tests" = "how-to/assert-on-events-in-tests.md" },
]
[[project.nav]]
"Reference" = [
"reference/index.md",
{ "TelemetryContext" = "reference/telemetry-context.md" },
{ "Event" = "reference/event.md" },
{ "Sinks" = "reference/sinks.md" },
{ "The consent file" = "reference/consent-file.md" },
{ "Cargo features and requirements" = "reference/cargo-features.md" },
{ "Errors" = "reference/errors.md" },
]
[[project.nav]]
"Explanation" = [
"explanation/index.md",
{ "Two-level opt-in" = "explanation/two-level-opt-in.md" },
{ "Machine identity" = "explanation/machine-identity.md" },
{ "Where redaction applies" = "explanation/redaction-boundary.md" },
{ "Why FileSink holds a lock" = "explanation/file-sink-line-integrity.md" },
{ "What this does not do" = "explanation/what-this-does-not-do.md" },
]
[[project.nav]]
"About" = [
{ "Branding" = "about/branding.md" },
]
[[project.nav]]
"API reference (docs.rs)" = "https://docs.rs/rtb-telemetry"
[[project.extra.social]]
icon = "fontawesome/brands/gitlab"
link = "https://gitlab.com/phpboyscout/rust/telemetry"
[[project.extra.social]]
icon = "fontawesome/solid/globe"
link = "https://phpboyscout.uk"
[[project.extra.social]]
icon = "fontawesome/brands/github"
link = "https://github.com/phpboyscout"
[[project.extra.social]]
icon = "fontawesome/brands/dev"
link = "https://dev.to/phpboyscout"
[[project.extra.social]]
icon = "fontawesome/brands/instagram"
link = "https://www.instagram.com/matt.cockayne/"
[[project.extra.social]]
icon = "fontawesome/brands/tiktok"
link = "https://www.tiktok.com/@phpboyscout"
[[project.extra.social]]
icon = "fontawesome/brands/youtube"
link = "https://www.youtube.com/@phpboyscout"
[[project.extra.social]]
icon = "fontawesome/brands/linkedin"
link = "https://www.linkedin.com/in/matthewcockayne/"
[[project.extra.social]]
icon = "fontawesome/brands/discord"
link = "https://discord.gg/mQzGbmGyzZ"
[[project.extra.social]]
icon = "fontawesome/solid/book"
link = "https://phpboyscout.uk/topics/rust/"
name = "Rust, and what survived the port — the guide on the blog"