From 1c42acca2491769a261de87be4904ba12ae5637e Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Wed, 27 Aug 2025 09:39:20 -0400 Subject: . --- projects/msg.html | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 projects/msg.html (limited to 'projects/msg.html') diff --git a/projects/msg.html b/projects/msg.html new file mode 100644 index 0000000..3b30c62 --- /dev/null +++ b/projects/msg.html @@ -0,0 +1,173 @@ + + + + + + + + + + MSG | COMPROMYSE + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +
+

MSG

+
+

An incredibly opinionated, hackable, minimal Static Site Generator.

+
C
+
+ + SOURCE +
+ +
+

See github.com/compromyse/compromyse.xyz for an example site.

+ +

Compilation & Usage

+ +

# 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

+ +

.
+├── assets
+│   └── me.webp
+├── config.cfg
+├── index.html
+├── partials
+│   ├── footer.html
+│   ├── navbar.html
+├── projects.html
+└── templates
+    └── base.html
+
+

+ +

Features

+ +

Includes - include files from /partials

+ +

<!-- index.html -->
+<html>
+  <body>
+    {{ include "navbar.html" }}
+    ...
+  </body>
+</html>
+
+

+ +

Contentfor - define content for templates

+ +

<!-- 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

+ +

<!-- projects/xyz.html -->
+title = XYZ
+---
+
+<h1>XYZ!</h1>
+
+<!-- index.html -->
+{{ eachdo resources.projects }}
+<p>{{ put title }}</p>
+{{ endeachdo }}
+
+

+ +

Template - specify template for page

+ +

<!-- projects/xyz.html -->
+template = base_tailwind.html
+---
+
+<h1 class="p-2">XYZ!</h1>
+
+

+ +
+ +
+ + + +
+ + + + -- cgit v1.2.3