-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtackle.yaml
59 lines (56 loc) · 2.02 KB
/
tackle.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<-:
help: A hello world based tour of tackle-box
exec:
hello_worlds:
- Simplist:
file: simple.yaml
desc: Simplest example using a `print` hook
- With rendering:
file: simple-render.yaml
desc: Printing using rendering where context is used from prior key
- Calling hooks multiple ways:
file: multiple-prints.yaml
desc: Using the `print` hook multiple ways
- Interactive examples:
file: interactive.yaml
desc: Interactive example using `input` and `select` hooks
- With flow control logic:
file: flow-control.yaml
desc: Interactive example using `input` and `select` hooks
- Python hooks:
file: python-hook.yaml
desc: |
Using a python hook which is located in the `hooks/hello.py` and automatically
made available. These are the basis of all tackle hooks.
- Declarative hooks:
file: declarative-hook.yaml
desc: |
Using declarative hook, ie hook created in yaml. These are reusable groups of
logic or can be used to validate schemas and expose methods against them.
- Declarative imported hooks:
file: declarative-hook-import.yaml
desc: |
Again, a declarative hook but this time it is simply a file located in the `hooks`
directory which is then made available to rest of the runtime.
- Road map:
file: roadmap.yaml
desc: |
And more to come in the future.
examples:
->: checkbox "Select which ways to print `hello world` in tackle"
checked: true
choices: hello_worlds
do->:
for: examples
chdir: hellos
input-info:
->: markdown
text: |
Input File:
```
{{file(item.file)}}
```
desc->: print "[bold red]{{item.desc}}[/bold red]"
output-info->: print "Console Output:" "\n"
run->: tackle {{item.file}}
cat->: confirm Continue?