diff --git a/README.md b/README.md index 77da1088..4fc024b1 100644 --- a/README.md +++ b/README.md @@ -844,6 +844,24 @@ $ bb -e "(require '[lambdaisland.regal :as regal]) (regal/regex [:* \"ab\"])" A clojure configuration libary. Latest test version: `"0.1.16"`. +#### [comb](https://github.com/weavejester/comb) + +Simple templating system for Clojure. Latest tested version: `"0.1.1"`. + +``` clojure +$ export BABASHKA_CLASSPATH=$(clojure -Spath -Sdeps '{:deps {comb {:mvn/version "0.1.1"}}}') +$ rlwrap bb +... +user=> (require '[comb.template :as template]) +user=> (template/eval "<% (dotimes [x 3] %>foo<% ) %>") +"foofoofoo" +user=> (template/eval "Hello <%= name %>" {:name "Alice"}) +"Hello Alice" +user=> (def hello (template/fn [name] "Hello <%= name %>")) +user=> (hello "Alice") +"Hello Alice" +``` + ### Blogs - [Babashka: a quick example](https://juxt.pro/blog/posts/babashka.html) by Malcolm Sparks diff --git a/script/lib_tests/comb_test b/script/lib_tests/comb_test new file mode 100755 index 00000000..3e6e88df --- /dev/null +++ b/script/lib_tests/comb_test @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +set -eo pipefail + +export BABASHKA_CLASSPATH=$(clojure -Spath -Sdeps '{:deps {comb {:mvn/version "0.1.1"}}}') + +if [ "$BABASHKA_TEST_ENV" = "native" ]; then + BB_CMD="./bb" +else + BB_CMD="lein bb" +fi + + +$BB_CMD ' +(ns foo (:require [comb.template :as template])) +(prn (template/eval "<% (dotimes [x 3] %>foo<% ) %>")) +(prn (template/eval "Hello <%= name %>" {:name "Alice"})) +(def hello + (template/fn [name] "Hello <%= name %>")) +(prn (hello "Alice")) +' diff --git a/script/run_lib_tests b/script/run_lib_tests index 10c7f271..aaa56bf3 100755 --- a/script/run_lib_tests +++ b/script/run_lib_tests @@ -10,3 +10,4 @@ script/lib_tests/regal_test script/lib_tests/medley_test script/lib_tests/babashka_curl_test script/lib_tests/cprop_test +script/lib_tests/comb_test