264 lines
6.6 KiB
TOML
264 lines
6.6 KiB
TOML
# pres-prvng - presentation.toml
|
|
# Generated by presgen init
|
|
# Theme: rust-vibe
|
|
# Created: 2025-11-14
|
|
|
|
[metadata]
|
|
title = "Infrastructure Provisioning Platform"
|
|
author = "Provisioning Team"
|
|
subtitle = "Why Terraform, Ansible, and Perl don't solve your infrastructure challenges"
|
|
date = "2025-11-14"
|
|
version = "1.0.0"
|
|
keywords = ["infrastructure", "provisioning", "IaC", "Rust", "Nushell", "KCL", "automation", "DevOps", "Kubernetes"]
|
|
description = "Professional presentation showcasing Provisioning Platform: a hybrid Rust/Nushell infrastructure automation system with enterprise security, multi-provider support, and intelligent configuration management"
|
|
contact = "https://github.com/anthropics/provisioning"
|
|
repository = "https://github.com/anthropics/provisioning"
|
|
license = "MIT"
|
|
|
|
# ============================================================
|
|
# CONTENT CONFIGURATION
|
|
# ============================================================
|
|
|
|
[content]
|
|
images_src = "./public/images"
|
|
code_src = "./demos"
|
|
assets_src = "./public"
|
|
|
|
# Content structure - slides should follow this arc
|
|
structure = ["intro", "problem", "solution", "demo", "conclusion", "qna"]
|
|
|
|
# Validation thresholds (from PRESENTATION_GUIDELINES.md)
|
|
max_bullets_per_slide = 7 # P-CONTENT-ONE-MESSAGE (7±2 rule)
|
|
max_concepts_per_slide = 3 # P-CONTENT-ONE-MESSAGE
|
|
max_text_lines = 15 # P-DESIGN-WHITESPACE
|
|
|
|
# Code highlighting settings
|
|
[content.code]
|
|
syntax_theme = "dracula"
|
|
max_lines_per_slide = 15 # P-CODE-SIZE-LIMIT
|
|
highlight_required = true # P-CODE-HIGHLIGHT
|
|
inline_syntax = true
|
|
|
|
# Image configuration
|
|
[content.images]
|
|
min_width = 1920
|
|
min_height = 1080
|
|
formats = ["png", "jpg", "svg", "webp"]
|
|
optimize = true
|
|
|
|
# ============================================================
|
|
# THEME CONFIGURATION
|
|
# ============================================================
|
|
|
|
[theme]
|
|
name = "rust-vibe"
|
|
base = "default"
|
|
|
|
# Color palette (P-DESIGN-CONTRAST)
|
|
[theme.colors]
|
|
background = "#1a1a1a"
|
|
text = "#e0e0e0"
|
|
primary = "#f74c00"
|
|
secondary = "#61dafb"
|
|
accent = "#ff6b6b"
|
|
success = "#4caf50"
|
|
warning = "#ff9800"
|
|
error = "#f44336"
|
|
info = "#2196f3"
|
|
|
|
# Contrast validation (P-DESIGN-CONTRAST)
|
|
contrast_ratio_min = 7.0 # Target AAA standard
|
|
contrast_ratio_warn = 4.5 # Minimum AA standard
|
|
|
|
# Typography configuration (P-DESIGN-FONTS)
|
|
[theme.typography]
|
|
heading_family = "Inter"
|
|
body_family = "Inter"
|
|
code_family = "Fira Code"
|
|
|
|
heading_weight = 700 # Bold
|
|
body_weight = 400 # Regular
|
|
code_weight = 400 # Regular
|
|
|
|
# Font sizes in pixels (P-A11Y-READABILITY)
|
|
h1_size = 48
|
|
h2_size = 36
|
|
h3_size = 28
|
|
body_size = 24
|
|
code_size = 20
|
|
|
|
# Minimum sizes for accessibility
|
|
body_min = 18
|
|
code_min = 16
|
|
heading_min = 28
|
|
line_height = 1.6
|
|
|
|
# Layout configuration (P-DESIGN-WHITESPACE)
|
|
[theme.layout]
|
|
min_whitespace_percent = 30 # 30% minimum whitespace
|
|
padding_horizontal = "2rem"
|
|
padding_vertical = "1.5rem"
|
|
max_width = "100%"
|
|
aspect_ratio = "16:9"
|
|
|
|
# Animations
|
|
[theme.animations]
|
|
enabled = true
|
|
transition_duration = "0.3s"
|
|
slide_transition = "fade"
|
|
|
|
# ============================================================
|
|
# PUBLICATION & ACCESSIBILITY
|
|
# ============================================================
|
|
|
|
[publication]
|
|
site = ""
|
|
export_formats = ["pdf", "html"]
|
|
remote_assets = false
|
|
|
|
[accessibility]
|
|
color_blind_safe = true # P-A11Y-COLOR-BLIND
|
|
use_patterns = true
|
|
use_text_labels = true
|
|
min_body_font = 24 # P-A11Y-READABILITY
|
|
min_code_font = 18
|
|
min_heading_font = 36
|
|
contrast_check = true # Check contrast ratios
|
|
|
|
# ============================================================
|
|
# VALIDATION CONFIGURATION
|
|
# ============================================================
|
|
|
|
[validation]
|
|
validation_level = "warn"
|
|
auto_validate_on_generate = true
|
|
|
|
[validation.content]
|
|
one_message = true # P-CONTENT-ONE-MESSAGE
|
|
max_bullets = true
|
|
code_size = true
|
|
structure = true
|
|
|
|
[validation.design]
|
|
whitespace = true # P-DESIGN-WHITESPACE
|
|
contrast = true # P-DESIGN-CONTRAST
|
|
fonts = true # P-DESIGN-FONTS
|
|
|
|
[validation.code]
|
|
size_limit = true # P-CODE-SIZE-LIMIT
|
|
highlight = true # P-CODE-HIGHLIGHT
|
|
complexity = true
|
|
|
|
[validation.audience]
|
|
terminology = true # P-AUDIENCE-TERMINOLOGY
|
|
jargon = true # P-AUDIENCE-JARGON-CONTEXT
|
|
|
|
[validation.accessibility]
|
|
readability = true # P-A11Y-READABILITY
|
|
color_blind = true # P-A11Y-COLOR-BLIND
|
|
keyboard_navigation = true
|
|
|
|
# ============================================================
|
|
# EXPORT CONFIGURATION
|
|
# ============================================================
|
|
|
|
[export]
|
|
output_dir = "./.project-tools/exports"
|
|
default_format = "pdf"
|
|
|
|
[export.pdf]
|
|
enabled = true
|
|
page_size = "A4"
|
|
quality = "high"
|
|
|
|
[export.html]
|
|
enabled = true
|
|
minify = true
|
|
|
|
# ============================================================
|
|
# PRESENTATION PROFILES
|
|
# ============================================================
|
|
|
|
# Profile: Technical Talk (30-45 minutes)
|
|
[profiles.talk]
|
|
mode = "talk"
|
|
duration = "30min"
|
|
target_slides = 25
|
|
audience = "developers"
|
|
technical_depth = "moderate"
|
|
jargon_level = "medium"
|
|
|
|
[profiles.talk.content]
|
|
code_examples = 3
|
|
live_demos = 1
|
|
demo_backup = true
|
|
focus = ["concepts", "implementation", "best-practices"]
|
|
|
|
[profiles.talk.sections]
|
|
include = "all"
|
|
exclude = []
|
|
|
|
# Profile: Pitch (5-10 minutes)
|
|
[profiles.pitch]
|
|
mode = "pitch"
|
|
duration = "10min"
|
|
target_slides = 12
|
|
audience = "executives"
|
|
technical_depth = "minimal"
|
|
jargon_level = "low"
|
|
|
|
[profiles.pitch.content]
|
|
code_examples = 0
|
|
live_demos = 0
|
|
demo_backup = false
|
|
focus = ["problem", "solution", "impact"]
|
|
|
|
[profiles.pitch.sections]
|
|
include = ["intro", "problem", "solution", "conclusion"]
|
|
exclude = ["demo"]
|
|
|
|
# Profile: Workshop (2-4 hours)
|
|
[profiles.workshop]
|
|
mode = "workshop"
|
|
duration = "3hours"
|
|
target_slides = 40
|
|
audience = "learners"
|
|
technical_depth = "deep"
|
|
jargon_level = "high"
|
|
|
|
[profiles.workshop.content]
|
|
code_examples = 5
|
|
live_demos = 2
|
|
demo_backup = true
|
|
focus = ["learning", "practice", "mastery"]
|
|
|
|
[profiles.workshop.sections]
|
|
include = "all"
|
|
exclude = []
|
|
|
|
# Define exercises for workshop
|
|
[[profiles.workshop.exercises]]
|
|
after = "solution"
|
|
duration = "20min"
|
|
type = "coding"
|
|
title = "Hands-on Exercise"
|
|
description = "Implement the concepts from the previous section"
|
|
|
|
# Profile: Lightning Talk (5 minutes)
|
|
[profiles.lightning]
|
|
mode = "lightning"
|
|
duration = "5min"
|
|
target_slides = 8
|
|
audience = "general"
|
|
technical_depth = "minimal"
|
|
jargon_level = "low"
|
|
|
|
[profiles.lightning.content]
|
|
code_examples = 0
|
|
live_demos = 0
|
|
demo_backup = false
|
|
focus = ["hook", "single-idea", "call-to-action"]
|
|
|
|
[profiles.lightning.sections]
|
|
include = ["intro", "solution", "conclusion"]
|
|
exclude = []
|