README
Soar
Sensible static sites. Power to the developer, speed to the user.
A static site generator that builds JS-free static pages from JSX templates. All the power of modern web development without any of the bloat. Unstable API, under active development.
- Impossible to be slow. Pages built with Soar have no client-side JS by default, allowing for unrivaled performance on any device and network.
- Easy development with JSX. Soar uses JSX(TSX), allowing for ergonomic and reusable code. Enjoy editor support,external data, JS manipulations, and more. No more confusing templating languages.
- Built on modern tooling. Soar uses ES Modules, TypeScript, and other various modern technology. Pages are transpiled with
swc
, allowing for near instant builds.
Usage
Installation
Requires { "type": "module" }
in package.json
and node>=14.8.0
.
$ npm i soar
Build pages
JSX/TSX page files must export default
a functional component. Page files must be located in /pages
.
$ soar build
# or
$ npx soar build
Example page file
/* /pages/index.tsx */
export default () => (
<div>
<span>Hello world!</span>
<span>{2 + 2}</span>
</div>
)
Roadmap
Just a vague list for now.
- Basic page building
- Basic JSX rendering
- GitHub Actions CI/CD
- Dev server
- Styling support
- Website
- Plugin system
- Image optimization component
- SEO component