Skip to content

🎨 Theme Examples & Templates

This directory contains example themes and code templates to help you get started with ZiraDocs theme creation.

Perfect starting point - includes only the essential variables:

{
"name": "minimal",
"description": "Minimal theme with essential variables only",
"author": "ZiraDocs",
"version": "1.0.0",
"variables": {
"--slidelang-primary-color": "#3b82f6",
"--slidelang-secondary-color": "#64748b",
"--slidelang-accent-color": "#06b6d4",
"--slidelang-background-color": "#ffffff",
"--slidelang-text-color": "#1f2937",
"--slidelang-text-on-primary": "#ffffff",
"--slidelang-bg-title-slide": "#1f2937",
"--slidelang-bg-section-slide": "#3b82f6",
"--slidelang-bg-content-slide": "#ffffff",
"--slidelang-bg-end-slide": "#06b6d4",
"--slidelang-font-main": "system-ui, sans-serif",
"--slidelang-font-code": "monospace",
"--slidelang-border-radius": "0.5rem",
"--slidelang-shadow-main": "0 1px 3px rgba(0,0,0,0.1)",
"--slidelang-bg-info": "#eff6ff",
"--slidelang-bg-success": "#ecfdf5",
"--slidelang-bg-warning": "#fffbeb",
"--slidelang-bg-danger": "#fef2f2",
"--slidelang-info-text-color": "#1e40af",
"--slidelang-success-text-color": "#065f46"
}
}

Use this template to quickly generate theme variations:

// Color palette generator
function generateTheme(primaryColor, name) {
return {
"name": name,
"description": `Auto-generated theme based on ${primaryColor}`,
"author": "Theme Generator",
"version": "1.0.0",
"variables": {
"--slidelang-primary-color": primaryColor,
"--slidelang-secondary-color": adjustBrightness(primaryColor, -20),
"--slidelang-accent-color": complementaryColor(primaryColor),
// ... generate all other variables
}
};
}
// Light theme base
"--slidelang-background-color": "#ffffff",
"--slidelang-text-color": "#1f2937",
// Dark theme base
"--slidelang-background-color": "#1f2937",
"--slidelang-text-color": "#f9fafb"
// Tech company (blue/purple)
"--slidelang-primary-color": "#6366f1",
"--slidelang-accent-color": "#8b5cf6",
// Healthcare (green/blue)
"--slidelang-primary-color": "#059669",
"--slidelang-accent-color": "#0891b2",
// Finance (navy/gold)
"--slidelang-primary-color": "#1e40af",
"--slidelang-accent-color": "#f59e0b"
function validateTheme(theme) {
const requiredVariables = [
'--slidelang-primary-color',
'--slidelang-background-color',
'--slidelang-text-color',
'--slidelang-bg-title-slide',
'--slidelang-bg-content-slide',
'--slidelang-font-main'
];
const missing = requiredVariables.filter(
variable => !theme.variables[variable]
);
return {
valid: missing.length === 0,
missing: missing,
totalVariables: Object.keys(theme.variables).length
};
}
function checkContrast(backgroundColor, textColor) {
// Calculate WCAG contrast ratio
const ratio = getContrastRatio(backgroundColor, textColor);
return {
ratio: ratio,
AA: ratio >= 4.5, // WCAG AA compliance
AAA: ratio >= 7.0 // WCAG AAA compliance
};
}
my-slidelang-theme/
├── package.json
├── README.md
├── LICENSE
├── themes/
│ ├── light.json
│ ├── dark.json
│ └── variants/
├── examples/
│ └── sample-presentation.slidelang
├── screenshots/
│ ├── light-preview.png
│ └── dark-preview.png
└── tools/
└── theme-builder.js
{
"name": "@yourname/slidelang-theme-ocean",
"version": "1.0.0",
"description": "Ocean-inspired themes for ZiraDocs presentations",
"main": "themes/ocean.json",
"files": ["themes/", "README.md", "LICENSE"],
"keywords": ["slidelang", "theme", "presentation", "ocean", "blue"],
"author": "Your Name <your.email@example.com>",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/yourname/slidelang-theme-ocean"
}
}
Terminal window
# Use local theme file
slidelang build presentation.slidelang --theme external:./themes/ocean.json
# Use from npm package
npm install @yourname/slidelang-theme-ocean
slidelang build presentation.slidelang --theme external:./node_modules/@yourname/slidelang-theme-ocean/themes/ocean.json
const ZiraDocsRenderer = require('slidelang-renderer');
const oceanTheme = require('./themes/ocean.json');
const renderer = new ZiraDocsRenderer();
renderer.setTheme(oceanTheme);
renderer.renderPresentation(slideLangContent);
  • Adobe Color: color.adobe.com
  • Coolors: coolors.co
  • Material Design Colors: material.io/design/color
  • Tailwind CSS Colors: tailwindcss.com/docs/customizing-colors
  • Google Fonts: fonts.google.com
  • Font Pair: fontpair.co
  • Typewolf: typewolf.com
  • Dribbble: dribbble.com/tags/presentation
  • Behance: behance.net/search/projects/?field=presentation
  • Slide Design Gallery: Various presentation showcases

Ready to create your theme? Start with the minimal theme template or follow the complete Theme Creation Guide.