asn-qr-code-label-generator/CLAUDE.md
Marlin Baumgart 169b380893 fix: correct Avery label format name
The previously referenced Avery format L4731REV-25 describes the format incl. package size; This corrects the format to L4731
2026-01-03 00:20:36 +01:00

49 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
A browser-based QR code label generator for Paperless-ngx Archive Serial Numbers (ASN). The entire application is a single `index.html` file with no build process.
## Development
**No build tools required** - Open `index.html` directly in a browser or serve it with any static file server.
The application uses CDN-hosted dependencies:
- TailwindCSS (with forms and typography plugins)
- AlpineJS 3.x
## Architecture
Single-page application using AlpineJS for reactivity. Key structure in `index.html`:
- **`qrCodeApp()`** (line 255): AlpineJS component containing all application state and logic
- `generateLabels()`: Creates label data array with QR code URLs via external API (api.qrserver.com)
- `printLabels()`: Triggers browser print dialog
- Generates 189 labels per sheet (7 columns × 27 rows)
- **Print styling**: Uses CSS `@page` rule for A4 paper with zero margins (requires Chrome/Chromium)
- **Label format**: Hardcoded for Avery L4731 labels (see specifications below)
## Avery L4731 Label Specifications
Page: A4 (210mm × 297mm)
| Dimension | Value |
|-----------|-------|
| Label size | 25.4mm × 10mm |
| Grid | 7 columns × 27 rows (189 labels) |
| Top/Bottom margin | 13.5mm |
| Left/Right margin | 8.6mm |
| Horizontal gap | 2.5mm |
| Vertical gap | 0mm (labels touch) |
| Horizontal pitch | 27.9mm |
| Vertical pitch | 10mm |
## Code Style
- 2 spaces for indentation
- LF line endings
- UTF-8 encoding