Skip to content

lcnvdl/bilderhic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 bilderhic

License

MIT

Third party licenses:

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: Awesomapp

Usage 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
    - close

Clear your environment

env clear

Change 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]
:end

Example 2

:each folder recursive
:begin
  echo [$currentFolder]
:end

Example 3

:each folder recursive **/node_*
:begin
  echo [$currentFolder]
:end

Example 4

:each folder **/node_*
:begin
  echo [$currentFolder]
:end

Example 5

:each folder async
:begin
  echo [$currentFolder]
:end

Example 6

:each folder async limit 5
:begin
  echo [$currentFolder]
:end

Logger

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>
:end

Await

Wait for all async commands to finish.

:await

If 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
:await

Bhic / Bilderhic

It does nothing. It's useful for ensure that you are running a file on Bilderhic.

!bhic
or
!bilderhic

File 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
- close

Examples

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 finished

Timestamp

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]

About

NodeBuild is a simple integration tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published