GenesysSSG is a powerful and flexible static site generator written in .NET. It empowers developers to effortlessly create and deploy static websites on any system, including Windows, Linux, and Mac. With its intuitive liquid templating engine, you can easily generate dynamic and customized content for your websites.
To get started with GenesysSSG, ensure that you have Dotnet installed on your machine.
to install GenesysSSG invoke this command from terminal
dotnet tool install -g GenesysSSG
Using GenesysSSG is a breeze. Follow these simple steps to create your static site:
Create a new directory for your project and navigate to it in the terminal.
mkdir test
cd test
Initialize a new GenesysSSG project by running the following command:
genesysssg -n
Add your first blog item using:
genesysssg -b "First blog"
Open your project directory in a text editor like Visual Studio Code:
code .
edit blogs/firstblog.md
Edit the blogs/firstblog.md file with your content and save the changes.
genesysssg -w -s
Once you are satisfied with the content, push your project to your Git repository to make it live.
GenesysSSG supports the following startup arguments:
-s
: Serve content locally.-w
: Watch for changes and regenerate content automatically.-n
: Initialize a new project.-p <port>
: Specify a custom port to listen on.-b <title>
: Create a new blog entry.-d <title>
: Create a new document entry (ensure you are in the correct directory).-x
: Extract the theme to the template directory.-c
: Clear cached version of template.The configuration of GenesysSSG is managed through the config.yml
file. Customize the following options to tailor your site:
Name | Description | Type | Example Value |
---|---|---|---|
email |
Your email address | string | test@test.com |
theme |
The theme used to generate your site's content | string | SolidState |
inputDirectory |
The directory where your input files are stored | string | input |
outputDirectory |
The directory where the generated output files will be placed | string | output |
templateDirectory |
The directory where your template files are located | string | template |
title |
The title of your blog/document site | string | My Blog |
ga |
Your Google Analytics key | string | G-23476sdfkjh |
description |
A brief description of your blog/document site | string | This is my page generated by SSG |
facebook |
Your Facebook page link | string | some link |
twitter |
Your Twitter handle or page link | string | some link |
linkedIn |
Your LinkedIn profile link | string | some link |
tel |
Your telephone number | string | (555) 555-5555 |
additionalFooterLinks |
Additional links to display in the footer | array | - |
additionalNavLinks |
Additional links to include in the navigation menu | array | - |
additionalItems |
Additional items used when generating content | array | - |
subDirectory |
If you site is not served from root (e.g. https://mysite.com/john) then use this settings to set it to john/ | array | - |
generic |
Generic section for any object | map/dictionary | complex |
lang |
Lang used for html attribute | string | en |
Example of fully configured options:
inputDirectory: input
outputDirectory: output
templateDirectory: template
title: My blog
ga: G-23465sjdefr
theme: JackTheBlogegr
description: my blog my rules
additionalItems:
test: true
test2: false
additionalFooterLinks:
- text: google
link: google.com
additionalNavLinks:
- text: google
link: google.com
facebook: facebook.com/link
twitter: twitter.com/link
linkedIn: linkedin/link
email: email@email.com
generic:
about:
text: some text
url: my.url
lang: en
by default you do not need to configure every item in configuration.
Choose from a variety of stunning themes to style your website. Check out the available themes in the Themes section. If none of the existing themes suit your needs, you can easily create your own custom theme or modify an existing one to match your vision.