mirror of
https://gitlab.com/TECHNOFAB/soonix.git
synced 2026-02-02 07:15:06 +01:00
Compare commits
4 commits
7e3efd400c
...
19a88a0c26
| Author | SHA1 | Date | |
|---|---|---|---|
| 19a88a0c26 | |||
| 481b9c4a38 | |||
| 0cadca0298 | |||
|
|
26e79ede19 |
7 changed files with 38 additions and 1 deletions
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -2,6 +2,16 @@
|
|||
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
|
||||
|
||||
- - -
|
||||
## [v0.2.0](https://gitlab.com/TECHNOFAB/soonix/compare/a8acaf7143572dac1bc02b124e593d68b5bdddc7..v0.2.0) - 2026-01-28
|
||||
#### Features
|
||||
- (**generator**) add Mustache - ([26e79ed](https://gitlab.com/TECHNOFAB/soonix/commit/26e79ede19e815a619a3878ffd5fa6b757da50c4)) - asimon
|
||||
#### Bug Fixes
|
||||
- (**generator**) replace gotmpl with gomplate - ([a8acaf7](https://gitlab.com/TECHNOFAB/soonix/commit/a8acaf7143572dac1bc02b124e593d68b5bdddc7)) - asimon
|
||||
#### Miscellaneous Chores
|
||||
- (**module**) remove "template" generator type - ([481b9c4](https://gitlab.com/TECHNOFAB/soonix/commit/481b9c4a38455ba6d8502029894f9223ab2545d5)) - [@TECHNOFAB](https://gitlab.com/TECHNOFAB)
|
||||
|
||||
- - -
|
||||
|
||||
## [v0.1.0](https://gitlab.com/TECHNOFAB/soonix/compare/25cc087b1da8dda965d47283c120a726b84ad6cf..v0.1.0) - 2026-01-05
|
||||
#### Features
|
||||
- add nice to have `devshellModule` to soonix module for easy import - ([add807e](https://gitlab.com/TECHNOFAB/soonix/commit/add807ef8980197bbd06652a36d937b93b2a31c7)) - [@TECHNOFAB](https://gitlab.com/TECHNOFAB)
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ use the `devshellModule` for easy integration, see the docs for more.
|
|||
- **`derivation`**: Use existing Nix derivations as file content
|
||||
- **`gomplate`**: Advanced Go template rendering via gomplate
|
||||
- **`jinja`**: Python Jinja2 template rendering
|
||||
- **`mustache`**: Mustache template rendering
|
||||
|
||||
## Docs
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ Soonix helps you:
|
|||
- **derivation**: Use existing Nix derivations as file content
|
||||
- **gomplate**: Advanced Go template rendering via gomplate
|
||||
- **jinja**: Python Jinja2 template rendering
|
||||
- **mustache**: Mustache template rendering
|
||||
|
||||
### Automatic File Management
|
||||
|
||||
|
|
|
|||
15
lib/lib.nix
15
lib/lib.nix
|
|
@ -100,6 +100,21 @@
|
|||
} ''
|
||||
python ${renderScript} > $out
|
||||
'';
|
||||
|
||||
mustache = {
|
||||
name,
|
||||
opts,
|
||||
data,
|
||||
}: let
|
||||
inherit (opts) template;
|
||||
mustache = opts.mustache or pkgs.mustache-go;
|
||||
dataJson = writeText "template-data.json" (builtins.toJSON data);
|
||||
in
|
||||
runCommand name {
|
||||
buildInputs = [mustache];
|
||||
} ''
|
||||
mustache ${dataJson} ${template} > $out
|
||||
'';
|
||||
};
|
||||
|
||||
buildAllFiles = files:
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ in {
|
|||
};
|
||||
|
||||
generator = mkOption {
|
||||
type = types.enum ["nix" "string" "derivation" "gomplate" "jinja" "template"];
|
||||
type = types.enum ["nix" "string" "derivation" "gomplate" "jinja" "mustache"];
|
||||
description = ''
|
||||
Which engine to use for content generation.
|
||||
'';
|
||||
|
|
|
|||
1
tests/fixtures/mustache_template
vendored
Normal file
1
tests/fixtures/mustache_template
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
Hello {{hello}}
|
||||
|
|
@ -30,6 +30,12 @@
|
|||
data.hello = "world";
|
||||
opts.template = ./fixtures/jinja_template;
|
||||
};
|
||||
mustache = {
|
||||
output = "mustache";
|
||||
generator = "mustache";
|
||||
data.hello = "world";
|
||||
opts.template = ./fixtures/mustache_template;
|
||||
};
|
||||
};
|
||||
in {
|
||||
suites."Soonix Tests" = {
|
||||
|
|
@ -53,6 +59,9 @@ in {
|
|||
|
||||
assert "-f ${finalFiles}/jinja" "should exist"
|
||||
assert_file_contains ${finalFiles}/jinja "Hello world"
|
||||
|
||||
assert "-f ${finalFiles}/mustache" "should exist"
|
||||
assert_file_contains ${finalFiles}/mustache "Hello world"
|
||||
'';
|
||||
}
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue