Skip to content

sawshep/sawsge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sawsge

My simple static site generator for blogs or projects.

Installation

Sawsge is availible as a Gem and as an AUR package.

Install as a Gem: gem install sawsge

NOTE: When installing as a Gem, Pandoc must also be installed.

Install from the AUR: paru -S sawsge

Usage

Run sawsge [DIRECTORY] where [DIRECTORY] is the source directory root. If [DIRECTORY] is not provided, Sawsge will target ./

File Structure

In the source directory root should exist header.html, footer.html, and config.toml. Additional files may need to exist for different modes.

Config

Here's an example config for a project:

[general]
# For now this can only be a single directory, no
# subdirectories allowed!
out_dirname = "out"

# "blog" or "project"
mode = "project"

# If (header|footer)_filename is an empty string, no header
# or footer will be added to the rendered pages, although
# for now this will build a broken website.
header_filename = "header.html"
footer_filename = "footer.html"

# All external links will be given the `target=_blank`
# attribute, opening them in new tabs when clicked, unless
# the link has a user-set target.
external_links_target_blank = true

# A list of files, relative to the src root, to exclude from
# builds
ignore = ["README.md"]

[blog]
posts_dirname = "post"

General Operation

Sawsge makes all links on the site point to directories, so there is no index.html at the end of any URL (example.com/thing/index.html vs example.com/thing/). Sawsge will build your website to out_dirname in your config; make sure there are no files in there, as they will be deleted!

Blog Mode

Blog mode creates a special homepage with the title and a summary of each post, with latest posts at the top. In blog mode, sawsge will look for posts under posts_dirname in the config. In posts_dirname, each post should be in a directory specifying its date in YYYY/MM/DD format, e.g. /[posts_dirname]/2021/03/09/index.md. In its source, the post should include at least one <h1></h1> and one <summary></summary>HTML block. Both will be used to generate the summary on the front page.

Project Mode

Project mode is much simpler than blog mode. It performs no special handling with different files--each Markdown file will be generated as a plain page.

About

Simple static site generator for blogs or projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published