tem - tiny go template cli renderer

Just because you can, doesn't mean you should.
echo '
{{- $files := list.New -}}
{{- range $f := filepath.Walk `**/[a-z]*.go` true | list.Reverse -}}
{{- $files = $files | list.Concat ( map `path` $f.Path `data` ( $f.Path | file | to.Bytes ) ) -}}
{{- end -}}
---
{{ $files | data.ToYAML -}}
' | tem
Installation
DO NOT run any shell commands unless you understand them
Building via go install
go install -trimpath -ldflags "-s -w" github.com/JFAexe/tem/cmd/tem@latest
Prebuilt binaries for Linux/Darwin via shell
(
TEM_SYSTEM="darwin" # "linux"
TEM_ARCH="amd64" # "amd64"
TEM_PATH="$HOME/.local/bin/"
TEM_URL=$(curl -sL https://api.github.com/repos/JFAexe/tem/releases/latest | grep -o "https://[^\"]*${TEM_SYSTEM}_${TEM_ARCH}[^\"]*")
TEM_ARCHIVE="$HOME/Downloads/${TEM_URL##*/}"
curl -sL "$TEM_URL" -o "$TEM_ARCHIVE" && tar -xzf "$TEM_ARCHIVE" -C "$TEM_PATH" "tem"
)
Prebuilt binaries for Windows via powershell
$TEM_SYSTEM = "windows"
$TEM_ARCH = "amd64"
$TEM_INSTALL_DIR = "$env:LOCALAPPDATA\tem"
$RELEASE = Invoke-RestMethod -Uri "https://api.github.com/repos/JFAexe/tem/releases/latest"
$TEM_URL = $RELEASE.assets.browser_download_url | Where-Object { $_ -match "${TEM_SYSTEM}_${TEM_ARCH}" }
$TEM_ARCHIVE = "$env:USERPROFILE\Downloads\$($TEM_URL.Split('/')[-1])"
Invoke-WebRequest -Uri $TEM_URL -OutFile $TEM_ARCHIVE
New-Item -ItemType Directory -Path $TEM_INSTALL_DIR -Force | Out-Null
Expand-Archive -Path $TEM_ARCHIVE -DestinationPath $TEM_INSTALL_DIR -Force
$ENV_PATH = [Environment]::GetEnvironmentVariable("Path", "User")
if ($ENV_PATH -notlike "*$TEM_INSTALL_DIR*") {
[Environment]::SetEnvironmentVariable("Path", "$ENV_PATH;$TEM_INSTALL_DIR", "User")
}
Functions
// TODO