diff --git a/Cargo.toml b/Cargo.toml index 22b57f7..fe1e716 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,8 +2,6 @@ name = "nomo" version = "0.1.0" edition = "2024" -description = "A templating library" -license = "EUPL-1.2" [[bench]] name = "parsing" diff --git a/README.md b/README.md deleted file mode 100644 index aa08854..0000000 --- a/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# Nomo, a simple templating library - - -Nomo is pure Rust templating library meant to be unopinionated in which target -language it is embedded. - -Here is an example `nomo` HTML snippet: - -```nomo -
- -
-``` - -It supports the following features: - -**If/Else Conditionals** - -```nomo -{{ if user.level > 3 }} - ... -{{ else if value == 1 }} - ... -{{ else }} - ... -{{ end }} -``` - -**For Loops** - -```nomo -{{ for user in users }} - {{= user.name }} -{{ end }} -``` - -**Whitespace Supression** - -```nomo -Hello -{{- if world == 2 -}} - Hi -{{- end }} -``` - -will print `Hello Hi`. - -**Function Calls** - -```nomo -{{= uppercase(user_name) }} -``` - -One can use function chaining for less nesting: - -```nomo -{{= user_name | uppercase }} -``` - -The `|` operator has the lowest precedence of the operators. -Functions can still be given arguments. It is always the last argument that is -'applied' by the operator. - -```nomo -{{= username? | or_default("Unknown") }} -``` - -**Undefined Chaining** - -Per default, trying to access a value that is not defined will cause an error. - -This can be changed with the `?` operator. This can be applied at any level: - -```nomo -{{= user?.profile.description? }} -``` - -This will give an error if `user.profile` is not defined. If either `user` or -`description` is missing, it simply does not render anything (akin to an empty -string). However if there _is_ an user, it must have a profile value.