
a simple Block Header Generator
Download
cargo install bhg
Setup
- Create the
bhg directory in the .config directory: mkdir -p ~/.config/bhg
- Inside the directory create a
variables.json, which contains constants that can be used as variables in the block-header
base.<file extension> - for each file type
bhg output.c will use the ~/.config/bhg/base.c as a base file
bhg output.rs will use the ~/.config/bhg/base.rs as a base file
Usage
Command
bhg <output file> <description>
Special Variables
| Variable |
Value source |
| description |
passed as command line argument |
| year |
the current year |
| month |
the current month |
| day |
the current day |
| hour |
the current hour |
| minute |
the current minute |
| second |
the current second |
| microsecond |
the current microsecond |
| weekday |
the current weekday (monday = 1, ..., sunday = 7) |
| weekdayName |
the current weekday name |
| monthName |
the current month name |
| timestamp |
the current timestamp |
| timestampMS |
the current timestamp in milliseconds |
| timestampISO |
the current timestamp in ISO format |
Example
bhg output.c This is a description
variables file
{
"name": "John Doe",
"email": "john.doe@gmail.com"
}
base.c file - lines prefixed with -> will be centered
/*
-------------------------------------------------------------
->ABC Company
-------------------------------------------------------------
->{name}, {day}-{month}-{year}
-------------------------------------------------------------
->{email}, {description}
-------------------------------------------------------------
This line won't be centered {weekdayName}
-------------------------------------------------------------
*/
output.c file - generated in the current working directory
/*
-------------------------------------------------------------
ABC Company
-------------------------------------------------------------
John Doe, 31-12-2023
-------------------------------------------------------------
john.doe@gmail.com, This is a description
-------------------------------------------------------------
This line won't be centered Sunday
-------------------------------------------------------------
*/