Keep in mind that the only required files (and, consequently, appropriate folders) for a minimum successful build are at least: one HTML base template, and one page or post. Other elements are optional.
A reasonably **minimal** staticoso site folder tree can look like this:
Preprocessor flags can be included in single-line comments.
They must be prepended by a `%` (percent sign) character, and values are assigned with the [standard Python INI syntax](https://docs.python.org/3/library/configparser.html#supported-ini-file-structure).
_Note: **Markdown** doesn't officially support comments. staticoso thus uses its own syntax: a line starting with `//` (2 slashes) indicates a comment._
As CLI arguments, they are prepended by double dashes (`--`) and section name, and values are assigned to them with your standard shell syntax (usually, it will be `--SectionFlag="Value"`, with a space for separation between arguments).
-`BlogName` (`--BlogName`): The name of the blog section of your site. Can be omitted, and the site name will be used instead.
-`Tagline` (`--SiteTagline`): The tagline or motto of your site.
### Minify
-`Minify` (`--Minify`): Whether or not to minify the output HTML. Defaults to `False`.
-`KeepComments` (`--MinifyKeepComments`): Optionally keeping comments in minified HTML, instead of removing them. Defaults to `False`.
### Categories
-`Automatic` (`--CategoriesAutomatic`): Whether or not to automatically create pages in the `Categories/` directory of your site. Defaults to `False`.
-`Uncategorized` (`--CategoriesUncategorized`): Enabling a custom name for the automatically managed "Uncategorized" category. Defaults to `Uncategorized`.
-`GemtextOutput`: Whether or not to output a Gemtext conversion of the site. Requires [html2gmi](https://github.com/LukeEmmet/html2gmi) to be present in system `$PATH`. Defaults to `False`.
-`MastodonURL`: URL of a Mastodon instance to use for notifying of new posts and creating comment links. Leave blank to disable Mastodon.
-`MastodonToken`: Application token of a Mastodon account to use for notifying of new posts and creating comment links. Leave blank to disable Mastodon.
-`FeedCategoryFilter`: List of post categories to include in the site main feed. Defaults to only `['Blog']`.
-`ActivityPubHoursLimit`: Maximum time limit (in hours) for sharing any newly-created post via ActivityPub; posts older than that amount won't get shared. Defaults to `168` (1 week).
-`OutputDir`: Specifies a custom output path for the compiled website's files. Defaults to `./public/`.
_Note: You only really need to care about this section if you're developing themes. If you are building your site with an already prepared theme, then you can do without this information._
staticoso uses a simple internal markup language that's the essence of its template system.
Tags are enclosed in square brackets (with colons as token separators), and declared with the form `[staticoso:Name:Values]`.
For some tags, there are no values to be specified, so the last part can be omitted. Starting the declaration with `staticoso` is always required.
You can use the following tags in your templates or pages, to let everything work as you want. Some are obviously needed for compiling minimum viable pages, like the one for displaying content.