feat: add external vcard-cli

This commit is contained in:
2022-11-20 20:39:30 +08:00
parent 8979029e29
commit 820417832b
10 changed files with 1819 additions and 1 deletions

View File

@@ -0,0 +1,33 @@
# vcard-qr
Generate basic VCard QR codes from your terminal. Stick them on your things so people can contact you if they get lost!
This little program is only vaguely serious; I wrote it after hearing about Tile's [lost and found labels](https://www.tile.com/product/lost-and-found-labels) product, which will run you *$15* for... some QR codes pointing to a web page with your information on it. Now, I'm not exactly sure what the total cost of a mass-produced sticker sheet and a few kilobytes of database storage is, but I'm going to make an educated guess and say its somewhere in the ballpark of a few pennies.
"What a ripoff!" I thought. "And, come to think of it, can't QR codes contain VCards...?"
And thus `vcard-qr` was born.
## Features
- Interactively generate VCard QR codes.
- Free and open source.
- Works offline forever.
Or, expressed in a way my fellow Zoomers will have an easier time understanding:
![pls do not take this meme seriously](https://imgur.com/ONxH1DS.png)
## Usage
Just invoke `cargo run` or `vcard-qr` and answer the interactive prompts. Most information is optional; in accordance with the VCard spec, technically only a name is required, but you probably want to specify at least an email or a phone number. If you want, you can also specify:
- A website.
- An address or addresses.
- A custom note.
Once you've been thoroughly prompted, the program will render your VCard to the disk. By default it's formatted as a 1024x1024 PNG, but this is configurable - see below.
## Configuration
There are a few arguments you can change from the default to tweak the final output:
- `-o`/`--output-name` - the name of the output file, sans extension. Defaults to `vcard`.
- `-f`/`--format` - the output format of the QR code, either `png` or `svg`. Defaults to `png`.
- `-e`/`--error-correction` - how much error correction should be baked into the QR code - `low`, `medium`, `high`, or `max`. Higher EC levels will generate larger QR codes, but can increase the chance that the code will remain readable if it's damaged. Defaults to `low`.
- `-s`/`--size` - The height and width of the output image, in pixels. Defaults to 1024.