Main page. Just simple HTML, CSS and JS. https://asxp.io
  • Ruby 57.4%
  • HTML 22.2%
  • CSS 10.3%
  • JavaScript 7.5%
  • Nix 1%
  • Other 1.6%
Find a file
Sergei Poljanski a605ccdc52
invoicing: Prawn PDF renderer with Noto fonts
InvoicePdf.render(invoice) returns A4 PDF bytes. Layout: title + number,
horizontal rule, two-column FROM/BILL TO, meta strip (issued/due/currency/
status) bracketed by rules, line items table, right-aligned totals with
optional GEL equivalent, payment block (Bank of Georgia IBAN), optional
notes, repeating footer with issuer ID and page number.

Both party columns capture pdf.y after rendering and the global cursor jumps
to whichever ran longer — avoids the bbox cursor-restore footgun that was
collapsing the meta strip into the FROM column.

Noto Sans Georgian is registered as a fallback family so the Georgian legal
name renders without needing a separate text run.

Issuer details (legal name, tax ID, registration, address, bank) are
hardcoded as a constant — these are public on the rendered site already and
change rarely enough that a config file would be overkill.
2026-05-26 17:43:38 +03:00
.forgejo/workflows ruby rework with contact form 2026-05-05 00:45:27 +04:00
db/migrations db: connection helper and invoices migration 2026-05-26 17:43:18 +03:00
lib invoicing: Prawn PDF renderer with Noto fonts 2026-05-26 17:43:38 +03:00
public fonts: vendor Noto Sans + Noto Sans Georgian 2026-05-26 17:29:30 +03:00
views more SEO: org -> person 2026-05-05 01:45:18 +04:00
.dockerignore ruby rework with contact form 2026-05-05 00:45:27 +04:00
.env.example ruby rework with contact form 2026-05-05 00:45:27 +04:00
.gitignore ruby rework with contact form 2026-05-05 00:45:27 +04:00
asxpio.rb SEO optimization 2026-05-05 01:13:59 +04:00
CLAUDE.md SEO optimization 2026-05-05 01:13:59 +04:00
config.ru ruby rework with contact form 2026-05-05 00:45:27 +04:00
docker-compose.yml compose: join external storage network 2026-05-26 17:29:09 +03:00
Dockerfile gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
flake.lock ruby rework with contact form 2026-05-05 00:45:27 +04:00
flake.nix gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile.lock gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00