From a2625d7e78646e4d2ef8d1e5b6baec9081c92756 Mon Sep 17 00:00:00 2001
From: Case Duckworth
Date: Tue, 2 Jan 2024 22:05:13 -0600
Subject: Initial commit
---
README | 39 +++++++++++++++++++++++++++++++++++++++
nduja | 5 +++++
2 files changed, 44 insertions(+)
create mode 100644 README
create mode 100755 nduja
diff --git a/README b/README
new file mode 100644
index 0000000..cd76895
--- /dev/null
+++ b/README
@@ -0,0 +1,39 @@
+NDUJA -- an sms-sized ssg
+
+nduja is a static site generator that can fit in a text message or an old-school
+tweet, just barely. It's 140 bytes long on the nose. In fact, I'll put the
+whole thing here for you:
+
+```
+#!/bin/sh
+X()(eval "dd<<.
+`awk -vRS= '!/^{$0="
"$0"
"}//'`
+.");N()(X${n%.n});T
+` tags to paragraphs not starting with a `<`
+2. expands the template file (T) as a shell here-document with its contents.
+
+if `T` doesn't exist, it's created for you! isn't that neat :)
+
+I've even added in EXTENSIBILITY:
+
+If a library file (L) exists, it'll be sourced, meaning you can define whatever
+shell functions you need to make writing your site easier. Crucially, you can
+redefine these two functions:
+
+- `X`, the eXpando function, which defines how to plop your content into T.
+- `N`, the NDUJA function, which defines what to do to turn a .n file into a
+ .. whatever.
+
+Go nuts! You could argue that by redefining those two functions, nduja is not
+really text-sized, but i don't care! the actual script contains the
+functionality you technically need ;)
+
+LICENSE: there isn't one, silly! This program is released to the PUBLIC DOMAIN
+
+see also: unk, nef, ...
diff --git a/nduja b/nduja
new file mode 100755
index 0000000..b1f4f29
--- /dev/null
+++ b/nduja
@@ -0,0 +1,5 @@
+#!/bin/sh
+X()(eval "dd<<.
+`awk -vRS= '!/^{$0=""$0"
"}//'`
+.");N()(X${n%.n});T
+