novos-0.1.526 is not a library.
novos
( aka 'novos omits very old standards' )
Build at the speed of thought.
[!WARNING] novos is currently beta software. Expect frequent updates and potential breaking changes as we approach v1.0.
We are currently changing to Tera. For the meantime, the default template partially works. Same with the official website
What is novos?
novos is a lightning-fast static site generator (SSG) built in Rust. It takes your Markdown files and turns them into a website in milliseconds.
Features
- Sass transpilation via native
grass(no C++ or Node.js required) - Fast Parallelism utilizing
Rayonfor multi-core page generation - Self-Contained binary with embedded assets via
rust-embed - Shortcodes, Includes, & Variables for flexible templating
- RSS generation baked-in
- search.json, so you can search
- syntect, because who hates colors?
- minification, because you want speed, right?
- Axum, for a stellar webserver + WebSockts.
- Tera, because who loves repeating themselves?
Supported OSes
| Tier | Operating System | Notes |
|---|---|---|
| Tier 1 | OmniOS CE | Primary development |
| Tier 1 | FreeBSD | Primary development |
| Tier 2 | Ubuntu LTS (Noble) | Verified compatibility |
| Tier 2 | Arch Linux | Verified compatibility |
| Tier 2 | Void Linux | Verified compatibility |
| Tier 3 | macOS (intel/Sillicon) | "CI compiled it" |
| Tier 3 | Windows | "Wine said it worked" |
Roadmap
- Parallel page generation
- Live reload inside dev server
- Theme: Nord-ish
- Plugin API (WASM + .so)
- Taxonomies
- Pagination
Themes
- Solarnight (sass/solarnight.scss)
- Solarnight is a Rose Pine inspired theme.
- Nordish
- A Nord inspired color palette.
Documentation
Documentation is available at docs/
- Get Started: Setup guide for novos
- Installation: Install guide for novos
Backend
- Language: Rust (2024 Edition)
- Markdown:
pulldown-cmark(CommonMark compliant, yay!) - License: 3-Clause BSD
Performance Benchmarks
(The stress test was generated by ./stress.sh)
In text form
)
)
)
)
)
)
In a bar chart
xychart-beta
title "Build Time (seconds) - Lower is Better"
x-axis [Zola, Hugo, novos]
y-axis "Time (s)" 0 --> 5
bar [4.87, 1.93, 0.68]
How novos achieves < 1s builds:
- Zero-Copy Parsing: Leveraging pulldown-cmark's event-based parser.
- Work-Stealing Parallelism: Rayon dynamically balances page rendering across all available CPU threads.
- Sass compilation techniques: Using native grass avoids the overhead of external process calls to Node or Dart.
Commits prior to 2d1acf1be5fb605694cc2f95c5efe8dad0b35de0 are three clause BSD. Commits after that point are Apache-2.0 OR MIT