A plugin for generating code using Shopifys' Liquid files.
To install:
cargo install --path .
To register (from inside Nushell):
register <path to installed plugin>
Usage example:
Given a CSV file like
โฏ open people.csv | take 4
โญโโโโฌโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโฎ
โ # โ name โ id โ email โ role โ manager โ nickname โ favorite_pet โ
โโโโโผโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ 0 โ Michael Brown โ EMP7703 โ [email protected] โ Data Analyst โ false โ Maverick โ Guinea Pig โ
โ 1 โ Linda Rodriguez โ EMP5810 โ [email protected] โ Designer โ false โ Virtuoso โ Hamster โ
โ 2 โ David Jones โ EMP4896 โ [email protected] โ Software Engineer โ true โ Maverick โ Turtle โ
โ 3 โ John Jackson โ EMP8744 โ [email protected] โ Software Engineer โ false โ Guru โ Turtle โ
โฐโโโโดโโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโฏ
and a .liquid file with some Python code
โฏ cat python.liquid
โโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ File: python.liquid
โโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1 โ #!/usr/bin/env python
2 โ
3 โ def do_something(name, email):
4 โ print("Hello " + name + ", Email: " + email)
5 โ
6 โ def main():
7 โ {%- for item in items %}
8 โ do_something("{{ item.name }}", "{{ item.email }}")
9 โ {%- endfor %}
10 โ
11 โ if __name__ == "__main__":
12 โ main()
โโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
You can do this:
โฏ open people.csv | take 4 | codegen python.liquid
#!/usr/bin/env python
def do_something(name, email):
print("Hello " + name + ", Email: " + email)
def main():
do_something("Michael Brown", "[email protected]")
do_something("Linda Rodriguez", "[email protected]")
do_something("David Jones", "[email protected]")
do_something("John Jackson", "[email protected]")
if __name__ == "__main__":
main()