summaryrefslogtreecommitdiff
path: root/src/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'src/snippets')
-rwxr-xr-xsrc/snippets27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/snippets b/src/snippets
new file mode 100755
index 0000000..e2d7557
--- /dev/null
+++ b/src/snippets
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -euo pipefail
+
+
+usage() {
+ echo 'Usage: snippets FILENAME.adoc'
+}
+
+FILENAME="${1:-}"
+eval "$(assert-arg -- "$FILENAME" 'FILENAME.adoc')"
+
+
+awk -v BASE="${FILENAME%.adoc}.html" '
+/^----$/ {
+ if (!in_block) {
+ file = BASE "." count++ ".txt"
+ system("rm -f " file)
+ }
+ in_block = !in_block
+ next
+}
+
+in_block {
+ print >> file
+ print file
+}
+' "$FILENAME"