# msg An incredibly opinionated, hackable, minimal Static Site Generator. > See https://github.com/compromyse/compromyse.xyz for an example site. ### Compilation & Usage ```sh # REQUIREMENTS: CMake, Git, GCC/Clang, GNUMake/Ninja $ git clone https://github.com/compromyse/msg $ mkdir build && cd build $ cmake .. $ make # or ninja $ ./msg -h msg: The Minimal Static Site Generator Usage: ./msg [-h] [-w] [-v] [-o ] -h : Help -w : Watch working directory for changes -v : Verbose -o : Output directory : Working directory ``` ### Site Structure ```sh . ├── assets │   └── me.webp ├── config.cfg ├── index.html ├── partials │   ├── footer.html │   ├── navbar.html ├── projects.html └── templates └── base.html ``` ### Features #### Includes - include files from `/partials` ```html {{ include "navbar.html" }} ... ``` #### Contentfor - define content for templates ```html {{ content "head" }} {{ body }} {{ contentfor "head" }} HOME {{ endcontent }}

...

``` #### Eachdo - iterate over resources ```html title = XYZ links = [ href = https://example.org label = abc ___ href = https://google.com label = test ] ---

XYZ!

{{ eachdo resources.projects }}

{{ put title }}

{{ endeachdo }} {{ eachdo page.links }}

{{ put href }}

{{ put label }}

{{ endeachdo }} ``` ```html links = [ href = https://github.com/compromyse label = GITHUB ___ href = https://www.linkedin.com/in/compromyse label = LINKEDIN ] {{ eachdo config.links }} {{ put label }} {{ endeachdo }} ``` #### Template - specify template for page ```html template = base_tailwind.html ---

XYZ!

``` `Licensed under GPLv3`