Go to file
2025-09-22 22:20:31 +02:00
source [fix] whitespace handling 2025-09-22 22:20:31 +02:00
tools [ini] 2025-07-17 11:31:32 +02:00
.gitignore [ini] 2025-07-17 11:31:32 +02:00
licence.txt [add] Lizenzierung 2025-07-17 12:41:23 +00:00
readme.md [mod] readme 2025-09-22 21:44:58 +02:00

coin

transforms a template string to its refined version by substituting its placeholders with concrete values; hence it can be used as a very basic template engine

Building

Requirements

  • shell interpreter

Instructions

  • execute tools/build

Installation

Requirements

  • shell interpreter

Instructions

  • (as root) execute tools/install

Usage

Requirements

  • Python 3 interpreter

Explanation

  • see coin -h

Examples

basic

echo '{{flowers}} are {{color}}' | coin -a 'flowers:roses' -a 'color:red'

# roses are red

The same result can be produced by using multiple coin calls:

echo '{{flowers}} are {{color}}' | coin -a 'flowers:roses' | coin -a 'color:red'

# roses are red

In some contextes curly brackets might be reserved or not available for other reasons. This can be mitigated by using different placeholder indicators:

echo '<<flowers>> are <<color>>' | coin -o '<<' -c '>>' -a 'flowers:roses' -a 'color:red'

# roses are red

file arguments

echo -n "cornflowers" > /tmp/flowers.txt
echo -n "blue" > /tmp/color.txt
echo '{{flowers}} are {{color}}' | coin -a 'flowers:@/tmp/flowers.txt' -a 'color:@/tmp/color.txt'

# cornflowers are blue

data file

echo -e "flowers: daffodills\ncolor: yellow" > /tmp/data.yaml
echo '{{flowers}} are {{color}}' | coin -d /tmp/data.yaml

# daffodills are yellow