File tree Expand file tree Collapse file tree 5 files changed +71
-0
lines changed
Expand file tree Collapse file tree 5 files changed +71
-0
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ Here the list of libraries tested:
3737| :white_check_mark : | [ ring/jetty] ( ./ring-jetty ) | Web server | |
3838| :white_check_mark : | [ safely] ( ./safely ) | Circuit breaker | |
3939| :white_check_mark : | [ secure-random] ( ./secure-random ) | ` SecureRandom ` initialization | |
40+ | :white_check_mark : | [ selmer] ( ./selmer ) | A fast, Django inspired template system for Clojure. | |
4041| :x : | [ system] ( ./system ) | Layer on top of components | * Buildtime error, see Readme* |
4142
4243
Original file line number Diff line number Diff line change 1+ /target
2+ /classes
3+ /checkouts
4+ profiles.clj
5+ pom.xml
6+ pom.xml.asc
7+ * .jar
8+ * .class
9+ /.lein- *
10+ /.nrepl-port
11+ .hgignore
12+ .hg /
Original file line number Diff line number Diff line change 1+ # Selmer
2+
3+ Testing whether [ Selmer] ( https://github.com/yogthos/Selmer ) can be used in a native binary image with GraalVM.
4+
5+ ## Usage
6+
7+ Currently testing:
8+
9+ [selmer "1.12.18"]
10+
11+ Test with:
12+
13+ lein do clean, uberjar, native, run-native
14+
15+
16+ ## Results
17+ ` [selmer.parser] ` :white_check_mark :
18+ ` [selmer.filters] ` :white_check_mark :
Original file line number Diff line number Diff line change 1+ (defproject selmer " 0.1.0-SNAPSHOT"
2+
3+ :dependencies [[org.clojure/clojure " 1.10.1" ]
4+ [selmer " 1.12.18" ]]
5+
6+ :main simple.main
7+
8+ :uberjar-name " simple-main.jar"
9+
10+ :profiles {:uberjar {:aot :all }
11+ :dev {:plugins [[lein-shell " 0.5.0" ]]}}
12+
13+ :aliases
14+ {" native"
15+ [" shell"
16+ " native-image" " --report-unsupported-elements-at-runtime" " --no-server"
17+ " --initialize-at-build-time"
18+ " -jar" " ./target/${:uberjar-name:-${:name}-${:version}-standalone.jar}"
19+ " -H:Name=./target/${:name}" ]
20+
21+ " run-native" [" shell" " ./target/${:name}" ]})
Original file line number Diff line number Diff line change 1+ (ns simple.main
2+ (:require [selmer.parser :refer [render]]
3+ [selmer.filters :refer [add-filter!]]
4+ [clojure.string :as str])
5+ (:gen-class ))
6+
7+ (defn -main []
8+ (add-filter! :embiginate str/upper-case)
9+ (println (render " Hello {{name}}!" {:name " GraalVM" }))
10+ (println (render " {{d|date:\" yyyy-MM-dd\" }}" {:d (java.util.Date. )}))
11+ (println (render " {{number|phone}}" {:number " 01234 567890" }))
12+ (println (render " {{items|count}} item{{items|pluralize}}" {:items [1 ]}))
13+ (println (render " {{foo|rand-nth}}" {:foo [1 2 3 ]}))
14+ (println (render " {{data}}" {:data " <foo>" }))
15+ (println (render " {{data|safe}}" {:data " <foo>" }))
16+ (println (render " {{name|default-if-empty:\" I <3 ponies\" }}" {:name " GraalVM" }))
17+ (println (render " {% if xs|empty? %}foo{% endif %}" {:xs []}))
18+ (println (render " {{domain|hash:\" md5\" }}" {:domain " example.org" }))
19+ (println (render " {{shout|embiginate}}" {:shout " graalvm" })))
You can’t perform that action at this time.
0 commit comments