aboutsummaryrefslogtreecommitdiff
path: root/projects/msg.md
diff options
context:
space:
mode:
Diffstat (limited to 'projects/msg.md')
-rw-r--r--projects/msg.md95
1 files changed, 94 insertions, 1 deletions
diff --git a/projects/msg.md b/projects/msg.md
index 0eaeddf..2a8851e 100644
--- a/projects/msg.md
+++ b/projects/msg.md
@@ -3,6 +3,99 @@ description = An incredibly opinionated, hackable, minimal Static Site Generator
languages = C
url = /projects/msg
template = project.html
+link = https://github.com/compromyse/msg
+linklabel = SOURCE
---
-# MSG
+> 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 <output>] <directory>
+ -h : Help
+ -w : Watch working directory for changes
+ -v : Verbose
+ -o <output>: Output directory
+ <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
+<!-- index.html -->
+<html>
+ <body>
+ {{ include "navbar.html" }}
+ ...
+ </body>
+</html>
+```
+
+#### Contentfor - define content for templates
+
+```html
+<!-- templates/base.html -->
+<html>
+ <head>
+ {{ content "head" }}
+ </head>
+ <body>
+ {{ body }}
+ </body>
+</html>
+
+<!-- index.html -->
+{{ contentfor "head" }}
+<title>HOME</title>
+{{ endcontent }}
+
+<p>...</p>
+```
+
+#### Eachdo - iterate over resources
+```html
+<!-- projects/xyz.html -->
+title = XYZ
+---
+
+<h1>XYZ!</h1>
+
+<!-- index.html -->
+{{ eachdo projects }}
+<p>{{ put title }}</p>
+{{ endeachdo }}
+```
+
+#### Template - specify template for page
+```html
+<!-- projects/xyz.html -->
+template = base_tailwind.html
+---
+
+<h1 class="p-2">XYZ!</h1>
+```