My Static Websites

screenshot of My Static Websites

The source code of my static websites

Overview

Zero is an innovative static site generator crafted in Rust that stands out for its simplicity and speed. Originally created as a project to understand the intricacies of Rust, it has evolved into an excellent tool for experimenting with AI coding utilities. With a focus on performance, Zero boasts a unique approach of regenerating all content on every build, but maintains impressive speed thanks to Rust's powerful capabilities. The addition of built-in ramdisk support ensures that users can avoid unnecessary wear and tear on their SSD while developing.

This generator is not just a personal venture; it successfully powers several real websites. With a clean structure and a user-friendly approach, Zero streamlines the process of site creation for developers looking for a hassle-free experience.

Features

  • Partial TypeScript Support: .ts assets are stripped of types and minified into .js, streamlining large files for better performance.
  • Partial SCSS Support: Local @use/@import are inlined while simple nesting is flattened, though variables and mixins are not supported.
  • Client-side Routing: Generates .json files alongside .html pages to enable robust client-side navigation.
  • Minification: Automatically minifies HTML, JS, and CSS, optimizing the output for web performance.
  • Data Parsing: Parses .json files under sites/<site>/data/ and makes them accessible to templates via data.* variables for dynamic content rendering.
  • Liquid Template Support: Offers partial support for Liquid syntax allowing includes, assigns, loops, and conditional replacements enhancing flexibility.
  • Development Features: Facilitates a quick setup with git hooks and auto-regeneration on file changes, making it ideal for iterative development.
  • RAM Disk Support: On Linux systems, use the --ramdisk flag to store generated files in RAM, protecting SSDs during development.