Features & Non-Features
What is Super-Simple Includes?
A straightforward static site generator that processes include tokens to build websites. Nothing more, nothing less.
Core Features
- Simple Syntax: Use emoji tokens like
🏷️headerand📰content - Content Organization: Separate content from design completely
- Fast Processing: Linear single-pass algorithm with no recursion
- Flexible Pipelines: Configure exactly how your content flows
- Multiple Sources: Mix TOML files, directories, and different content types
- Fast Rust Binary: Standalone static binary with no runtime dependencies
- Atomic Deploy: All-or-nothing deployments prevent broken intermediate states
- Web Hosting Ready: Built for Linux, the OS the Internet is made from
- Safe by Default: Path traversal protection and input validation
Content Sources
- HTML Blocks: Reusable HTML fragments for headers, footers, navigation
- Plain Text: Simple text files with automatic HTML escaping
- Markdown: Full CommonMark support with automatic HTML conversion
- TOML Variables: Key-value pairs for site-wide configuration
- DateTime Sources: Current timestamps and formatted dates
- Git Sources: Repository information like commit hashes and branch names
- Page-Specific Content: Override defaults with page-specific versions
Processing Options
- Copy Assets: Static files copied directly to output
- Template Processing: HTML files processed for include tokens
- Checksum Verification: xxHash3 integrity checking for copy operations
- Inline vs Block: Choose whether included content flows inline or as blocks
- Smart Indentation: Block includes preserve your HTML formatting
- Validation:
ssi validatechecks your configuration and processed output before deployment — including HTML structure, heading hierarchy, accessibility (missingalt, unlabeled form inputs, missinglang), and internal links. Optional strict mode (--strict) treats warnings as errors.
User Experience
- Clear Error Messages: Helpful feedback when things go wrong
- Verbose Mode: See exactly what’s happening during processing
- Simple CLI: Straightforward command-line interface
- No Runtime Dependencies: Static musl binary runs anywhere
Non-Features
What Super-Simple Includes intentionally does NOT do:
By Design
- No Complex Templating: No loops, conditionals, or functions
- No Recursion: Linear single-pass processing prevents infinite loops
- No Dynamic Content: All content is processed at build time
- No Watch Mode: Rebuild manually when files change (use
inotifywaitfor automation) - No Dev Server: Use any static file server you like
- No Plugin System: Core functionality only (use
preservefeature to mix externally-generated files with SSI, even with atomic deploy) - No Themes: Build your own design
- No Image Optimization: Too complex, better handled by dedicated tools
- No Internationalization (i18n): SSI does not have built-in locale switching, translation keys, or multi-language routing. The workaround is to run a separate build per locale — one
ssi-config.tomlper language, each deploying to its own output directory (e.g.,output/en/,output/fr/). Templates and content can be shared across builds; only the locale-specific content directories differ.
Not Yet Implemented
- Auto-Template Generation: Automatically create pages based on content directory structure
- Remote Content Fetching: HTTP/HTTPS includes for external content
Possible Future Features
- Incremental Builds: Per-file-source optimization (not timestamp-based, preserves atomic deploy)
- JavaScript Processing: Basic minification and bundling (no external tools)
- CSS Processing: Basic minification and bundling
- Emoji Shortcodes: Accessibility-friendly
:paperclip:headersyntax alongside emoji tokens - SQLite Include Sources: Database-backed content with SQL query capabilities
- Build-Mode Conditional Rendering: Include sources that render based on build mode (dev/prod/preview)
Platform Limitations
- Linux Only: Not tested on Windows or macOS
- UTF-8 Only: All text files must be UTF-8 encoded
Philosophy
These aren’t missing features — they’re conscious choices. By keeping the scope limited, Super-Simple Includes remains:
- Easy to understand
- Simple to debug
- Fast to run
- Predictable in behavior
If you need these features, there are many excellent static site generators that provide them. SSI focuses on doing one thing well: combining content fragments into complete HTML pages with minimal complexity.