Feisty is a simple, zero-configuration website build tool based on the filesystem structure and React components and intended to enable small to medium website creation.
How to Run
You can run it in dev mode and use to pre-build pages of your website.
feisty init- creates a simple website folder structure
feisty dev- runs a dev server with hot reloading
feisty build- build your website into static pages
feisty publish- publishes it using a plugin
Folder Structure and Conventions
Since feisty is a zero-configuration utility, it expects you to stick to having
components/ folders in the root where you run the command. Also,
there are some conventions used.
A page entry is its
index.yml file. Inside, you may have any hierarchy with a
few reserved keys:
componentnames the used components. The path is based upon
components/folder. You may not use file extension.
contentis a key allowing to load an
*.ymlfile from the filesystem.
listcontains a glob that allows you to load resources
index.yml files comprise the structure of your website. Each file is read,
the content is processed with either a Markdown or a YAML parser, and passed to
the corresponding component so it can render the page. The page is then put on
the filesystem according to its original placement.
- Extracts paths to some config (we're zero config
- Better DevExp:
- Faster builds
- In-memory FS
- Cancel running build on another update
- Less data in templates (hydration)
- In-browser transitions between pages
- Fingerprint the copied from articles (Markdown, cover) files