@qr-cli/ink
v1.0.3
Published
React Ink wrapper for QR console rendering
Readme
qr-cli
Terminal QR codes, but with style.
qr-cli is available as:
@qr-cli/cli: command-line QR output for terminals@qr-cli/ink: Ink/React component for terminal UIs@qr-cli/renderer: low-level QR rendering library
CLI Quick Start
Install globally:
npm install -g @qr-cli/cli
qr-cli "https://github.com/C-Hess/qr-cli"Or run with npx:
npx @qr-cli/cli "https://github.com/C-Hess/qr-cli"You can also pipe input from stdin:
echo "https://github.com/C-Hess/qr-cli" | qr-cliUsing In Ink (React TUI)
Install dependencies:
npm install @qr-cli/ink ink reactIf the Ink component is your main integration point, use @qr-cli/ink and drop in QrCode.
import React from "react";
import { render } from "ink";
import { QrCode } from "@qr-cli/ink";
function App() {
return (
<QrCode
content="https://github.com/C-Hess/qr-cli"
renderOptions={{
outputMode: "halfblocks",
errorCorrectionLevel: "M",
margin: 2
}}
darkModuleColor="black"
lightModuleColor="white"
/>
);
}
render(<App />);Useful QrCode props:
content(required): value to encoderenderOptions:margin,padding,errorCorrectionLevel,encodingMode,qrVersion,outputModedarkModuleColor: Ink foreground color for dark moduleslightModuleColor: Ink background/light module color
For Ink, color styling comes from darkModuleColor and lightModuleColor.
CLI Options
--margin <n>: quiet-zone width in modules (default:2)--padding <n>: outer padding width in modules (default:1)--error-correction <L|M|Q|H>: EC level (alias:--ec, default:M)--qr-version <n|auto>: QR version (0orauto= automatic)--encoding <numeric|alphanumeric|byte|kanji>: encoding mode (alias:--mode)--color-scheme <none|high-contrast>: terminal coloring (alias:--color)--output-mode <halfblocks|fullblocks>: render style (alias:--output)--no-newline: omit trailing newline--help: usage help--version: CLI version
Shorthand accepted for output mode:
--output half--output full
