bilderhic
v1.3.2
Published
Bilderhic (bhic) is a smart and simple command tool for automatization.
Readme
bilderhic
Bilderhic is a smart and simple command tool for automatization.
How does it work?
You have to create a pipe file. Bilderhic will run the commands inside your file. The commands of the pipe file can be Bilderhic commands, or bash / cmd commands. Bilderhic includes usefull commands for edit files.
Installation
npm i -g bilderhicLicense
Third party licenses:
- https://github.com/microsoft/tslib/blob/main/LICENSE.txt
- https://github.com/isaacs/node-glob/blob/main/LICENSE
- https://github.com/eemeli/yaml/blob/master/LICENSE
- https://github.com/ReactiveX/rxjs/blob/master/LICENSE.txt
Usage
bhic <file> [-vb or --verbose] [-d or --debug]
or
bhic [-vb or --verbose] [-d or --debug] [-c or --command] <single line command>~ Bilderhic Commands ~
> env command
Description
It allows you to create / load / edit environment variables (inside your process).
Usage
Set variable manually
env set <key> <value>Set variable value (if the variable doesn't exists)
env set-default <key> <value>Set variable from user input
env prompt <key> -m <message>Adds a value to a numeric variable
env add <key> <value>Load variables
env load <file.yml>File.yml example
app:
id: com.brand.app
version: 2
description: This is an awesome Android Application.
name: AwesomappUsage of environment variables
env load File.yml
:open config.xml
- set widget.id=[app.id]
- set widget.android-versionCode=[app.version]
- set widget.version=0.0.[app.version]
- set widget>name=[app.name]
- set widget>description=[app.description]
- save
- closeClear your environment
env clearChange the debug mode
env debug <enable or disable>> copy command
Description
Copies a file or a folder. Override the files if it exists.
Usage
copy <from> <to> [-i or --ignore <file or folder>] [-q or --quiet] [-e or --ignore-errors]> sync command
Description
Synchronizes (mirror mode) two folders. Only writes the diferrences between the folders.
Usage
sync <source> <destination> [-i or --ignore <file or folder or wildcard>] [-q or --quiet] [-nd or --disable-delete]> del command
Description
Deletes a file o a folder (recursively) if exists.
Usage
del <file or folder>> cd command
DOC
Usage
cd
cd <folder>
cd --clear
cd --back> log command
Writes a text to the configured loggers.
log [info | warn | debug | error | success] <text to log>> mkdir command
DOC
> ren command
Renames a file o a folder.
Usage
ren <file or folder> <newName> [--skip-unexisting or -sk] [--overwrite or -o]> base64 command
Description
Parses a base-64 string.
Usage
base64 <text>
or
base64 <text> > <filename>
or
base64 <text> >> <environment variable>Example
base64 YmlsZGVyaGlj > mistery.txt> cat command
Description
Reads a file and prints its content.
Usage
cat <filename>
or
cat <filename> > <filename>
or
cat <filename> >> <environment variable>Example
base64 YmlsZGVyaGlj > mistery.txt> run command
Description
Renames a file or a folder.
Usage
ren <origin> <target> [--overwrite or -w]> exit command
Description
Stops the pipe or the process.
Usage
exit [pipe]
or
exit [<exit code>]> sleep command
Description
Waits until timer ends.
Usage
sleep <time (ms)>> beep command
Description
Makes a console beep sound.
Usage
beep [times] [delay between beeps]Examples
echo Beep!
beep
echo Beep! Beep!
beep 2
echo Beep! ... Beep! ... Beep!
beep 3 1000~ Special Commands ~
Pipe
Open a new pipe from a file
:pipe <file>Pipe line
Open a new pipe from a line of code
:pipeline <code>Each
Open a new pipe from a list of folders or files
:each folder [recursive] [async [limit x]] [filter]:each file [recursive] [filter]Example 1
:each folder
:begin
echo [$currentFolder]
:endExample 2
:each folder recursive
:begin
echo [$currentFolder]
:endExample 3
:each folder recursive **/node_*
:begin
echo [$currentFolder]
:endExample 4
:each folder **/node_*
:begin
echo [$currentFolder]
:endExample 5
:each folder async
:begin
echo [$currentFolder]
:endExample 6
:each folder async limit 5
:begin
echo [$currentFolder]
:endLogger
Adds a logger instance.
:logger add <logger type> [logger name]Logger types:
- File
Example:
:logger add file
- set file logs.txt
log Hello word!Open
Open a file editor
:open <file> [force a file format]Example 1: Open a JSON file.
:open settings.json
- close Example 2: Open a JSON file as a Text file.
:open settings.json txt
- close Eval
Run javacript code and saves the result to $eval (environment variable).
:eval <code>Example:
:eval +(new Date())
echo [$eval]If
If condition
:if <conditions>:if <conditions>
:begin
<instructions here>
:endAwait
Wait for all async commands to finish.
:awaitIf you want to start an async command, you need to start it with a ~ character.
Example:
run echo This is a sync command
~run echo This is an async command
:awaitBhic / Bilderhic
It does nothing. It's useful for ensure that you are running a file on Bilderhic.
!bhic
or
!bilderhicFile edition
Text editors: TXT Object editors: XML, HTML, JSON
~ Text editors ~
- append <text>- set <line number> <text>- replace <text> <replacement text>- replaceone <text> <replacement text>- replace:raw <text> <replacement text>- replaceone:raw <text> <replacement text>- save- close~ Object editors ~
- add <key>=<value>- set <selector> = <value or variable>- get <selector> > <variableName>- save- closeExamples
bhic pipe.txt bhic -c echo Hi world! bhic pipe.txt --set myVariable=myCustomValue
Misc
Multiple line command
bhic -c echo Running :eol: sleep 5000 :eol: beep :eol: echo Run finishedTimestamp
bhic -c echo My timestamp is [timestamp]Date
bhic -c echo Today is [date]Date (custom format)
bhic -c echo Today is [date:YYYY-MM-DD]Time
bhic -c echo The current time is [hour]Time (custom format)
bhic -c echo The current time is [hour:HH.MM]