/youngsoni

A static site generator.

Primary LanguageHTMLGNU Affero General Public License v3.0AGPL-3.0

GitHub tag (latest SemVer) GitHub issues License GitHub stars

Youngsoni

A static site generator.

Report Bug · Request Feature · Releases

About The Project

Desktop Mobile
desktop mobile

What is a static site generator?

A static site generator is a tool that generates a full static HTML website based on raw data and a set of templates. Essentially, a static site generator automates the task of coding individual HTML pages and gets those pages ready to serve to users ahead of time.

What is a static site?

A static site consists of a series of HTML files, each one representing a physical page of a website. On static sites, each page is a separate HTML file.

Why is it called Youngsoni?

Youngsoni is the lesser hairy-footed dunnart (Sminthopsis youngsoni), a small carnivorous Australian marsupial. It is a widespread and fairly common species, being found in many desert areas of Western Australia, Northern Territory and Queensland.

Built With

Features

  • Open source, AGPL License.
  • Lightweight and easy to deploy.
  • Clean, mobile-friendly interface.
  • Supports seperate sections for personal links and cryptocurrencies.
  • Pages are automatically paginated. Disabling and adjusting page size is all done through your config file
  • A webserver is started so you can view your website in a browser.
  • Support for the Nunjucks templating engine.
  • The powerful and easy to learn markdown syntax is used for writing posts.
  • RSS feeds are automatically generated.
  • A web user interface that can create, edit and delete information for your site.
  • Host anywhere static HTML is supported.

Installation

Install dependencies:

sudo apt install nodejs git

sudo apt install npm

Clone the git repository:

git clone https://github.com/ElijahToussaint/youngsoni

Go into the directory:

cd youngsoni

Install node packages:

npm install

Generate site:

./generate.sh

Preview site on localhost:

npm start

To access the webui:

http://localhost:{port}/webui

Configuration

Configuration files can be found in the config and data directories.

Post files are stored in the posts directory and saved with the .md extension.

All .md files need to be in front matter format to be parsed and displayed correctly.

Refer to the example files in the config and data directories for examples.

All multimedia files referenced in the site should be stored in the public assets directory. When referencing files on the site, format the path like this: {path}/path/file.extension. The {path} is a Nunjucks variable that references the relative path depth of the files.

All configuration files should be in hjson format and saved with the .hjson extension.

Customization

The appearence of the generated site can be modified by editing the custom CSS file in the public directory.

There is an example custom css file that can be used as a reference for what variables to modify. Copy and paste the contents of the example custom css file into the custom css file and experiment with the design.

Youngsoni uses Bootstrap for its frontend design. Learn to modify the CSS variables here.

Support / Donate

Youngsoni is free, open-source software. Donations directly support development of the project.

Crypto

  • Bitcoin (BTC): bc1qrf2f64n4znghwvaxt3mf3jr82fxw9wf83w6xtg
  • Ethereum (ETH): 0xB07b8b081BAA0d6Ad5D072A3132FfFd289bc5dAF
  • Bitcoin Cash (BCH): qqxveqvtefqx4aszn83euv7mdcd8mgtx3cr3vu85dk
  • Litecoin (LTC): LQZCnoGLKyEpqw7jpKfc1qpYN1bwLvyTcS
  • Dogecoin (DOGE): D8cBSTDAh4LXDxkHVN44Nnf3LECgTerNjx
  • Zcash (ZEC): t1YKzhroHjPwUwc5uxU7t4RP2rCt6FDo2ee
  • Dash (DASH): XfQ2kvpQBKWjiDpCUe7G4RukrQN2YvVy7Y
  • Monero (XMR): 44tUtL754iP1uM1Vet2uUqJtLNCfgDCdjFqtSjg58oUYT576G47xdzjYoRrFhUr66obzLtFuBprMjBt1YfiKy2SpAqocWS8

Contact

Code Mirrors