| Crates.io | neur |
| lib.rs | neur |
| version | 0.1.0 |
| created_at | 2025-11-13 07:40:57.757999+00 |
| updated_at | 2025-11-13 07:40:57.757999+00 |
| description | A minimal static site generator. |
| homepage | |
| repository | https://github.com/aryaveersr/neur |
| max_upload_size | |
| id | 1930623 |
| size | 124,676 |
A minimalist static site generator using the Tera templating engine, Lightning CSS, and Comrak.
git clone https://github.com/aryaveersr/neur
cargo installcargo install --path .
Neur comes configured out-of-the-box, allowing you to get started quickly.
To create a new project, simply create a src sub-directory for your files and run neur.
src/
├─ home.css
├─ index.html
├─ about.html
The output files are generated in the dist sub-directory by default.
To change the default source and output directories, refer to configuration.
Neur uses the Tera templating engine. All html files starting with an _ are not considered for generation and thus can be used as layouts, components, etc. Refer to Tera's documentation for more info.
Neur supports generating html pages from markdown files. These files use the _template.html found in the same directory, or a minimal fallback template.
Here's an example of how you might create a custom template:
posts/
├─ _template.html
├─ hello-world.md
(in _template.html)
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{ title }}</title>
</head>
<body>
<header>
<h1>{{ title }}</h1>
<span>Published on {{ date }}.</span>
</header>
<main>{{ content }}</main>
</body>
</html>
(in hello-world.md)
---
title: Hello world!
date: 24th of December.
---
# Hello, world?
Neur supports CSS syntax lowering using Lightning CSS, allowing you to use features such as nested styles, logical properties, etc.
Neur comes configured out-of-the-box with sensible defaults, however these can be changed either by passing arguments to the command-line, or defining them in neur.toml. In case of conflicts, command-line arguments take precedence.
neur --help # Show help.
neur --source "pages" --output "out" --minify false
neur.tomlsource = "pages"
minify = true
source:
output:
minify: bool. Defaults to false. Whether to minify the output files.