Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Welcome to Taxus, a Rust-based static site generator built with Tera, featuring WebAssembly “islands” for interactive components.

What is Taxus?

Taxus is a static site generator that combines:

  • Tera templates for the static “sea of HTML” — page layout, content, navigation
  • Markdown content with TOML frontmatter for writing pages and posts
  • SCSS for modern styling
  • TypeScript — optional type-checked browser modules compiled without Node.js or a package manager
  • Yew components — pre-rendered server-side at build time, hydrated by WASM in the browser for interactivity

The key insight: pages are immediately visible with no JavaScript required. Interactive components load asynchronously and attach without re-rendering.

Features

  • Static-first: Pre-rendered HTML for optimal performance and SEO
  • Islands Architecture: Interactive Yew WASM components embedded within static pages
  • TypeScript assets: Opt-in browser modules with source maps and serve-mode rebuilding
  • Markdown Content: Write content in Markdown files with TOML frontmatter
  • Syntax Highlighting: Tree-sitter based code highlighting (Rust, JavaScript, CSS and HTML built in)
  • Co-located Assets: Images and files in the content directory are automatically copied to output
  • Hero Images: Responsive variants, WebP conversion, and <picture>/srcset markup generated automatically
  • Internal Links: Reference other pages by content file path with build-time validation
  • Blog Features: Summary extraction, reading time, word count, custom slugs
  • Pagination: Split large collections across multiple pages
  • RSS/Atom Feeds: Automatic feed generation for content syndication
  • Sitemap: Automatic sitemap.xml generation with priorities and lastmod dates
  • Taxonomies: Tags, categories, and series for content organization
  • Full-Text Search: TF-IDF search index searched client-side by the WASM client
  • Development Server: Hot-reloading local server with WebSocket live reload
  • CLI Interface: build, clean, init, routes, and serve subcommands

Who is this for?

Taxus is ideal for:

  • Rust developers who want to build websites without leaving their favorite language
  • Performance enthusiasts who want fast, optimized static sites with selective WASM interactivity
  • Frontend developers who want typed browser behavior without adopting a JavaScript build toolchain
  • SEO-conscious developers who need pre-rendered content with no JavaScript dependency for initial render
  • Component lovers who prefer the Yew component model for interactive UI pieces

Documentation Overview

License

This project is dual-licensed under the MIT and Apache-2.0 licenses.