Gensist grabs a folder of markdown files and generates a website from it. The folder structure and filenames are preserved.
. .
└── content └── build
├── home.md >>> ├── home.html
├── index.md ├── index.html
└── info.md └── info.html
Command | Info |
---|---|
gensist new <name> |
Create a new project |
gensist |
Build current folder |
gensist build |
Build current folder |
gensist watch |
Automatically rebuilds your website and reloads the browser tab when files are changed |
gensist init |
Generate missing files. |
gensist -v |
Display gensist version |
Install gensist with "npm i -g gensist"
, generate a new project with "npm new my-website"
and start it by running "gensist watch"
. Your browser should open a new tab and when you now make changes to your files the browser should automatically update the page as soon as you save them.
You can configure gensist by placing a gensist.json
file in the root your project. All paths in the config are relative to the gensist.json
file of your project.
{
"title": "Test Site",
"input": "content",
"output": "build",
"template": "template.html",
"style": [
"theme.css"
]
}
Property | Default value | Type | Description |
---|---|---|---|
title |
"Gensist" |
string |
Title of your website - you can customize it further in template.html |
input |
content |
string |
Input folder |
output |
build |
string |
Output folder |
template |
template.html |
string |
The HTML template used to construct each page of your site |
optimize |
true |
boolean |
Tells gensist to compress the HTML/CSS |
style |
Not set | string[] |
List of stylesheets to apply to the page |
assets |
Not set | string |
Asset folder for images, fonts, etc. |
If there is no gensist.json
, gensist will fall back on this config:
{
"title": "Gensist",
"input": "content",
"output": "build",
"template": "template.html",
"optimize": true
}