summaryrefslogtreecommitdiff
path: root/plugins/encode64
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/encode64')
-rw-r--r--plugins/encode64/README.md69
-rw-r--r--plugins/encode64/encode64.plugin.zsh17
2 files changed, 84 insertions, 2 deletions
diff --git a/plugins/encode64/README.md b/plugins/encode64/README.md
new file mode 100644
index 000000000..66fc7cba4
--- /dev/null
+++ b/plugins/encode64/README.md
@@ -0,0 +1,69 @@
+# encode64
+
+Alias plugin for encoding or decoding using `base64` command
+
+## Functions and Aliases
+
+| Function | Alias | Description |
+| ---------- | ----- | ------------------------------ |
+| `encode64` | `e64` | Encodes given data to base64 |
+| `decode64` | `d64` | Decodes given data from base64 |
+
+## Enabling plugin
+
+1. Edit your `.zshrc` file and add `encode64` to the list of plugins:
+
+ ```sh
+ plugins=(
+ # ...other enabled plugins
+ encode64
+ )
+ ```
+
+2. Restart your terminal session or restart the shell:
+
+ ```sh
+ exec zsh
+ ```
+
+## Usage and examples
+
+### Encoding
+
+- From parameter
+
+ ```console
+ $ encode64 "oh-my-zsh"
+ b2gtbXktenNo
+ $ e64 "oh-my-zsh"
+ b2gtbXktenNo
+ ```
+
+- From piping
+
+ ```console
+ $ echo "oh-my-zsh" | encode64
+ b2gtbXktenNo==
+ $ echo "oh-my-zsh" | e64
+ b2gtbXktenNo==
+ ```
+
+### Decoding
+
+- From parameter
+
+ ```console
+ $ decode64 b2gtbXktenNo
+ oh-my-zsh%
+ $ d64 b2gtbXktenNo
+ oh-my-zsh%
+ ```
+
+- From piping
+
+ ```console
+ $ echo "b2gtbXktenNoCg==" | decode64
+ oh-my-zsh
+ $ echo "b2gtbXktenNoCg==" | decode64
+ oh-my-zsh
+ ```
diff --git a/plugins/encode64/encode64.plugin.zsh b/plugins/encode64/encode64.plugin.zsh
index 4dbd1b453..979e06742 100644
--- a/plugins/encode64/encode64.plugin.zsh
+++ b/plugins/encode64/encode64.plugin.zsh
@@ -1,4 +1,17 @@
-encode64(){ echo -n $1 | base64 }
-decode64(){ echo -n $1 | base64 --decode }
+encode64() {
+ if [[ $# -eq 0 ]]; then
+ cat | base64
+ else
+ printf '%s' $1 | base64
+ fi
+}
+
+decode64() {
+ if [[ $# -eq 0 ]]; then
+ cat | base64 --decode
+ else
+ printf '%s' $1 | base64 --decode
+ fi
+}
alias e64=encode64
alias d64=decode64