update docs to reflect latest changes
This commit is contained in:
parent
d31fd244af
commit
b298f47860
1 changed files with 26 additions and 11 deletions
37
README.md
37
README.md
|
@ -35,9 +35,12 @@ inputs.nte.engines.${system}.default
|
||||||
```
|
```
|
||||||
it accepts 3 arguments:
|
it accepts 3 arguments:
|
||||||
|
|
||||||
- `extraArgs` - an attrset of additional arguments passed to all entries and templates
|
- `pkgs` - nixpkgs
|
||||||
- `entries` - a list of all entry files to be processed
|
- `src` - the directory containing all entries and templates
|
||||||
- `templates` - a list of all template files to be applied
|
- an attrset of:
|
||||||
|
- `extraArgs` - an attrset of additional arguments passed to all entries and templates
|
||||||
|
- `entries` - a list of all entry files to be processed
|
||||||
|
- `templates` - a list of all template files to be applied
|
||||||
|
|
||||||
and returns a string containing a shell script that applies the templates to the entries
|
and returns a string containing a shell script that applies the templates to the entries
|
||||||
|
|
||||||
|
@ -92,7 +95,11 @@ nte offers a standard library that contains `nixpkgs` and utility functions foun
|
||||||
|
|
||||||
## templates
|
## templates
|
||||||
|
|
||||||
a template can take an arbitrary number of arguments and returns `{ name, output }`
|
a template can take an arbitrary number of arguments and returns `{ name, format, output }`:
|
||||||
|
|
||||||
|
- `name` - used as a template ID for the entries
|
||||||
|
- `format` - the extension of the output file (ignored if an entry defines `file`)
|
||||||
|
- `output` - string if in a base template, entry to another template otherwise
|
||||||
|
|
||||||
example template:
|
example template:
|
||||||
```nix
|
```nix
|
||||||
|
@ -103,6 +110,8 @@ example template:
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
name = "greeting";
|
name = "greeting";
|
||||||
|
format = "txt";
|
||||||
|
|
||||||
output = ''
|
output = ''
|
||||||
Hello ${name}! Welcome to ${location}.
|
Hello ${name}! Welcome to ${location}.
|
||||||
|
|
||||||
|
@ -120,13 +129,10 @@ a template's output can also be an entry to another template:
|
||||||
date,
|
date,
|
||||||
time,
|
time,
|
||||||
...
|
...
|
||||||
} @ extraArgs : let
|
}: {
|
||||||
inherit (extraArgs) file;
|
|
||||||
in {
|
|
||||||
name = "greeting-with-date";
|
name = "greeting-with-date";
|
||||||
output = {
|
output = {
|
||||||
template = "greeting";
|
template = "greeting";
|
||||||
inherit file;
|
|
||||||
|
|
||||||
inherit name location;
|
inherit name location;
|
||||||
|
|
||||||
|
@ -136,16 +142,16 @@ in {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
a template that's inherited from a different template also inherits its format - no need to define it again
|
||||||
|
|
||||||
## entries
|
## entries
|
||||||
|
|
||||||
an entry can take an arbitrary number of arguments and returns `{ template, file, ... }`, the `...` being the desired template's arguments (sans `extraArgs`, those are passed either way)
|
an entry can take an arbitrary number of arguments and returns `{ template, ... }`, the `...` being the desired template's arguments (sans `extraArgs`, those are passed either way)
|
||||||
|
|
||||||
example entries (using the previous example templates):
|
example entries (using the previous example templates):
|
||||||
```nix
|
```nix
|
||||||
_: {
|
_: {
|
||||||
template = "greeting";
|
template = "greeting";
|
||||||
file = "wroclaw/welcome-jacek.txt";
|
|
||||||
|
|
||||||
name = "Jacek";
|
name = "Jacek";
|
||||||
location = "Wrocław";
|
location = "Wrocław";
|
||||||
|
@ -161,7 +167,7 @@ an entry using the stdlib:
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
template = "greeting-with-date";
|
template = "greeting-with-date";
|
||||||
file = "osieck/welcome-rafal.txt";
|
|
||||||
name = "Rafał";
|
name = "Rafał";
|
||||||
location = "Osieck";
|
location = "Osieck";
|
||||||
date = run "date +%F";
|
date = run "date +%F";
|
||||||
|
@ -183,5 +189,14 @@ in {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
nte by default will follow your source file structure, if you want to specify the output location yourself use `file`:
|
||||||
|
```nix
|
||||||
|
_: {
|
||||||
|
# ...
|
||||||
|
file = "foo/bar.txt";
|
||||||
|
}
|
||||||
|
```
|
||||||
|
in this example the output of this entry will end up at `$out/foo/bar.txt` instead of the default location - a base template's `format` will also be ignored
|
||||||
|
|
||||||
# license
|
# license
|
||||||
MIT
|
MIT
|
||||||
|
|
Loading…
Reference in a new issue