1
0
mirror of https://github.com/Luzifer/korvike.git synced 2024-09-19 08:52:57 +00:00
korvike/README.md
Knut Ahlers 5a833fa112
Add support for executing sub-templates
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2021-03-22 16:22:23 +01:00

2.2 KiB

Go Report Card

Luzifer / korvike

korvike is the finnish translation to the word "replacer" and that is what it does: It takes a Go template and executes it.

Available functions

  • {{ .<variable name> }}
    Take key-value pairs from the CLI and replace them inside the template
    $ echo "{{ .foo }}" | korvike -v foo=bar
    bar
    
  • {{ b64encode <string> }}
    Encodes the string with base64 StdEncoding
    $ echo '{{ b64encode "Hello World" }}' | korvike
    SGVsbG8gV29ybGQ=
    
  • {{ env <variable name> [default value] }}
    Read environment variables and replace them inside the template
    $ export FOO=bar
    $ echo '{{ env "FOO" }}' | korvike
    bar
    
  • {{ file <file name> [default value] }}
    Read a file and place it inside the template
    $ echo "Hello World" > hello
    $ echo '{{ file "hello" }}' | korvike
    Hello World
    
  • {{ markdown <source> }}
    Format the source using a markdown parser
    $ echo '{{ markdown "# headline" | korvike }}'
    <h1>headline</h1>
    
  • {{ now <format string> }}
    Format the current date into the template (uses Go time format)
    $ echo '{{ now "2006-01-02 15:04:05" }}' | korvike
    2017-04-17 16:27:34
    
  • {{ tplexec (file "my.tpl") }}
    Execute the given template with the same function set and variables as the parent template.
    $ export FOO=bar
    $ echo '{{ env "FOO" }}' >my.tpl
    $ echo '{{ tplexec (file "my.tpl") }}' | korvike
    bar
    
  • {{ vault <path> <key> [default value] }}
    Read a key from Vault using VAULT_ADDR and VAULT_TOKEN environment variables (or ~/.vault-token file) for authentication.
    $ vault write secret/test foo=bar
    $ echo '{{ vault "secret/test" "foo" }}' | korvike
    bar