99 lines
1.9 KiB
Markdown
99 lines
1.9 KiB
Markdown
# beelloo
|
|
|
|
`beelloo` is a small CLI tool that turns a structured Markdown invoice into print-ready HTML for A4, with a live preview server for fast iteration.
|
|
|
|
## Install
|
|
|
|
Build locally (latest Go version must be installed on the machine):
|
|
|
|
```bash
|
|
make build
|
|
```
|
|
|
|
The binary is written to `_bin/beelloo`.
|
|
|
|
## Commands
|
|
|
|
### `beelloo new <file.md>`
|
|
|
|
Creates a scaffold Markdown file with the expected structure.
|
|
|
|
### `beelloo build <file.md> [--css=path]`
|
|
|
|
Parses and validates the Markdown, then writes a static HTML file next to it.
|
|
|
|
Example:
|
|
|
|
```bash
|
|
beelloo build invoice.md
|
|
```
|
|
|
|
This will produce `invoice.html`.
|
|
|
|
`--css` overrides the default embedded CSS for the build output (CSS is inlined into the HTML file).
|
|
|
|
### `beelloo serve <file.md> [--addr=127.0.0.1:0] [--css=path]`
|
|
|
|
Starts an HTTP server that renders the Markdown on every request. This is intended for live preview while editing the Markdown and CSS.
|
|
|
|
By default, `serve` reads CSS from `internal/render/style.css`. You can override it with `--css` to point at your own file. The CSS is served as `/style.css` and refreshed on each browser reload.
|
|
|
|
Example:
|
|
|
|
```bash
|
|
beelloo serve invoice.md --css=internal/render/style.css
|
|
```
|
|
|
|
## Markdown Format
|
|
|
|
The Markdown keys are in English, while the rendered invoice stays in French.
|
|
|
|
```markdown
|
|
# Invoice
|
|
|
|
## Seller
|
|
Name: Alice Example
|
|
Address:
|
|
10 Rue de Test
|
|
75000 Paris
|
|
Email: alice@example.com
|
|
Phone: 01 02 03 04 05
|
|
SIRET: 12345678900012
|
|
|
|
## Buyer
|
|
Name: Example Corp
|
|
Address:
|
|
Example Corp SAS
|
|
99 Avenue Exemple
|
|
69000 Lyon
|
|
SIRET: 98765432100034
|
|
|
|
## Invoice
|
|
Number: 20250407
|
|
Subject: Facture pour prestations de service
|
|
Location: Paris
|
|
Date: 2026-02-10
|
|
Description: Prestations informatiques
|
|
|
|
## Items
|
|
| Designation | Unit price | Quantity |
|
|
| --- | --- | --- |
|
|
| Forfait IT | 1175 | 1 |
|
|
|
|
## Payment
|
|
Holder: Alice Example
|
|
IBAN: FR00 0000 0000 0000 0000 0000 000
|
|
```
|
|
|
|
## Tests
|
|
|
|
```bash
|
|
make test
|
|
```
|
|
|
|
## Regenerating Golden HTML
|
|
|
|
```bash
|
|
make regen-golden
|
|
```
|