Welcome to Dejan's Blog

GenesysSSG

GenesysSSG

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.

Instalation

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

Usage

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.

Startup Arguments

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.

Configuration Options

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.

Themes

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.

About me
Me
I'm Dejan Đenić, a seasoned software developer with over 20 years of experience, specializing in .NET backend development, NoSQL databases, microservices, CI/CD, and containerization. I have management experience, emphasizing secure API development. Through my blog and LinkedIn, I share insights, fostering a community of developers, and promoting effective team leadership in software development.
Social Plugin