veltox 0.1.0

A fast, themeable static site generator written in Rust β€” ideal for documentation and blogs.
# Veltox


**Veltox** is a blazing-fast, themeable static site generator written in Rust β€” perfect for documentation, blogs, and technical sites. It converts Markdown files into HTML using customizable templates, generates a dynamic sidebar, and builds a searchable index for client-side search or content listing.

---

## ✨ Features


- πŸ“ **Markdown to HTML** conversion with YAML frontmatter support
- 🎨 **Theme system** with Tera templates and custom CSS
- πŸ“ **Dynamic sidebar** generation based on your content structure
- πŸ” **Search index** (`search-index.json`) for building search bars or blog listings
- πŸ“¦ **Self-contained output** β€” all assets and templates copied into `public/`
- ⚑ **Fast and minimal** β€” no JavaScript required, no runtime dependencies

---

## πŸ“¦ Installation


Install via Cargo:

```bash
cargo install veltox
```

Or build from source:

```bash
git clone https://github.com/yourname/veltox
cd veltox
cargo build --release
```

---

## πŸš€ Usage


Place your Markdown files in a `content/` folder:

```markdown
# content/intro.md


---
title: "Welcome"
template: "page.html"
---

# Hello


This is your first Veltox page.
```

Then run:

```bash
veltox
```

Veltox will generate your site in the `public/` folder.

---

## 🎨 Themes


Themes live in `themes/<name>/` and include:

```
themes/
└── docs/
    β”œβ”€β”€ templates/
    β”‚   └── page.html
    └── theme.css
```

Set your theme in `veltox.toml`:

```toml
theme = "docs"
```

Veltox copies the selected template and CSS into `public/`, ensuring all links are relative and portable.

---

## πŸ” Search Index


Veltox automatically generates a `search-index.json` containing:

```json
[
  {
    "title": "Welcome",
    "url": "./intro.html",
    "content": "Markdown content here..."
  }
]
```

Use this for client-side search, blog listings, or tag filters.

---

## 🧩 Plugin System (Planned)


Veltox is designed to be extensible. A plugin system is planned to allow hooks like:

- `on_load`
- `on_render`
- `on_index`
- `on_finish`

Stay tuned!

---

## πŸ“„ License


MIT

---

## ❀️ Built With


- [Rust]https://www.rust-lang.org/
- [Tera]https://keats.github.io/tera/
- [Pulldown-Cmark]https://github.com/raphlinus/pulldown-cmark
- [Walkdir]https://docs.rs/walkdir

---

Veltox is built to document real Rust projects β€” like the web framework it was born to support. Use it, fork it, extend it. It’s yours.