{"_id":"@akulkarni01/papr","_rev":"3-ecd14c0bb11b162b5af77cb9f22f4c28","name":"@akulkarni01/papr","dist-tags":{"latest":"0.5.0"},"versions":{"0.3.5":{"name":"@akulkarni01/papr","version":"0.3.5","keywords":["markdown","html","report","charts","echarts","cli"],"license":"UNLICENSED","_id":"@akulkarni01/papr@0.3.5","maintainers":[{"name":"akulkarni01","email":"ajay+npm@tigerdata.com"}],"homepage":"https://github.com/timescale/papr","bugs":{"url":"https://github.com/timescale/papr/issues"},"bin":{"papr":"dist/cli.js"},"dist":{"shasum":"ddc01d3c8039b7c5a3a4b55710bb2f1a89b0a71a","tarball":"https://registry.npmjs.org/@akulkarni01/papr/-/papr-0.3.5.tgz","fileCount":6,"integrity":"sha512-3wav4x6X6M37kho08lkyMpE5Lrc1LbQSkv6uW13SfLatiGHBimeVw1TPC/ymKB8wIeHpNVjxNBU+fnrIM3J/Qg==","signatures":[{"sig":"MEUCIQDMQ56qbyqxxNhYANMRE8zCBtvIUn7dwU38dYHDRcc0cAIgL9WZNYkDSyw1iG64jhWPmKm2EMxSJm7GsD7Ft6LHoec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60736},"type":"module","engines":{"node":">=18"},"gitHead":"2660b793a876ae02d52baecccb0c27093707f90b","scripts":{"dev":"tsup src/cli.ts --format esm --out-dir dist --watch --external puppeteer-core","build":"tsup src/cli.ts --format esm --out-dir dist --external puppeteer-core --clean"},"_npmUser":{"name":"akulkarni01","email":"ajay+npm@tigerdata.com"},"repository":{"url":"git+https://github.com/timescale/papr.git","type":"git"},"_npmVersion":"11.12.0","description":"Turn markdown into beautiful HTML reports","directories":{},"_nodeVersion":"22.18.0","dependencies":{"yaml":"^2.4.0","unified":"^11.0.0","commander":"^12.0.0","remark-gfm":"^4.0.0","remark-parse":"^11.0.0","puppeteer-core":"^24.37.3","remark-frontmatter":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/papr_0.3.5_1778548209773_0.36408138547236457","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@akulkarni01/papr","version":"0.3.6","keywords":["markdown","html","report","charts","echarts","cli"],"license":"UNLICENSED","_id":"@akulkarni01/papr@0.3.6","maintainers":[{"name":"akulkarni01","email":"ajay+npm@tigerdata.com"}],"homepage":"https://github.com/timescale/papr","bugs":{"url":"https://github.com/timescale/papr/issues"},"bin":{"papr":"dist/cli.js"},"dist":{"shasum":"0e313cd1cd6dface9d83166d15d505321a10d8e9","tarball":"https://registry.npmjs.org/@akulkarni01/papr/-/papr-0.3.6.tgz","fileCount":6,"integrity":"sha512-5JBMfFOafchSlnbO8CrMyNo97rSsiiRLluvZ7WAUQUqA8CGloclemAS1cFwEdZLAaRATcUS3K9Sir1KXmPCsFQ==","signatures":[{"sig":"MEUCIFwliGctAGOlRL9BR6YEZ2m804DsGWzHVe6ObFwtwNPzAiEA+JFVNChWT9m0htlTVzdfoafxpHN4KIZ4Zi1djeBVV3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60738},"type":"module","engines":{"node":">=18"},"gitHead":"2660b793a876ae02d52baecccb0c27093707f90b","scripts":{"dev":"tsup src/cli.ts --format esm --out-dir dist --watch --external puppeteer-core","build":"tsup src/cli.ts --format esm --out-dir dist --external puppeteer-core --clean"},"_npmUser":{"name":"akulkarni01","email":"ajay+npm@tigerdata.com"},"repository":{"url":"git+https://github.com/timescale/papr.git","type":"git"},"_npmVersion":"11.12.0","description":"Turn markdown into beautiful HTML reports","directories":{},"_nodeVersion":"22.18.0","dependencies":{"yaml":"^2.4.0","unified":"^11.0.0","commander":"^12.0.0","remark-gfm":"^4.0.0","remark-parse":"^11.0.0","puppeteer-core":"^24.37.3","remark-frontmatter":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/papr_0.3.6_1778548502594_0.21038690938497817","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@akulkarni01/papr","version":"0.5.0","description":"Turn markdown into beautiful HTML reports","type":"module","license":"UNLICENSED","repository":{"type":"git","url":"git+https://github.com/timescale/papr.git"},"homepage":"https://github.com/timescale/papr","keywords":["markdown","html","report","charts","echarts","cli"],"engines":{"node":">=18"},"bin":{"papr":"dist/cli.js"},"scripts":{"build":"tsup src/cli.ts --format esm --out-dir dist --external puppeteer-core --clean","dev":"tsup src/cli.ts --format esm --out-dir dist --watch --external puppeteer-core"},"dependencies":{"commander":"^12.0.0","puppeteer-core":"^24.37.3","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.0","remark-parse":"^11.0.0","unified":"^11.0.0","yaml":"^2.4.0"},"devDependencies":{"@types/node":"^20.0.0","tsup":"^8.0.0","typescript":"^5.4.0"},"gitHead":"4ccbd500fa00dcbb6142f98132d7b1d994ee7872","_id":"@akulkarni01/papr@0.5.0","bugs":{"url":"https://github.com/timescale/papr/issues"},"_nodeVersion":"22.18.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-3/pch2c83WmoYjdvMCzY2WcnJIPQDMXoxkHV74nkf/iWwqxIeEiK3JljZ2LAbkRSpxdsoCQUaH9rnj2L7Keocg==","shasum":"639ccb55a6dc60bc77115cf3b7a5aed418505dd4","tarball":"https://registry.npmjs.org/@akulkarni01/papr/-/papr-0.5.0.tgz","fileCount":7,"unpackedSize":137715,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAxyGMmT1Z/prW8PVxZFPrO79TVlFdW9C/ZqIf4L8UcMAiAsWeGtbWNhgsfv5/3udzIOyQzz6dq67/mB3o9DClydBQ=="}]},"_npmUser":{"name":"akulkarni01","email":"ajay+npm@tigerdata.com"},"directories":{},"maintainers":[{"name":"akulkarni01","email":"ajay+npm@tigerdata.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/papr_0.5.0_1778721986123_0.7547964073847457"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T01:10:09.657Z","modified":"2026-05-14T01:26:26.405Z","0.3.5":"2026-05-12T01:10:09.929Z","0.3.6":"2026-05-12T01:15:02.748Z","0.5.0":"2026-05-14T01:26:26.297Z"},"bugs":{"url":"https://github.com/timescale/papr/issues"},"license":"UNLICENSED","homepage":"https://github.com/timescale/papr","keywords":["markdown","html","report","charts","echarts","cli"],"repository":{"type":"git","url":"git+https://github.com/timescale/papr.git"},"description":"Turn markdown into beautiful HTML reports","maintainers":[{"name":"akulkarni01","email":"ajay+npm@tigerdata.com"}],"readme":"# Papr\n\nTurn markdown into beautiful HTML reports. Write standard markdown with tables — Papr automatically converts them into interactive charts, KPI strips, and styled tables.\n\nZero special syntax. Any agent that can write markdown can produce a Papr report.\n\n## Install\n\n```bash\nnpm install -g papr\n```\n\nOr run directly:\n\n```bash\nnpx papr build html report.md\n```\n\n## Usage\n\n```bash\npapr build html report.md                # → report.html\npapr build html report.md -o output.html  # custom output path\npapr build pdf report.md                 # → report.pdf\npapr build pdf report.md --landscape     # landscape orientation\n```\n\nOpen the resulting HTML file in any browser. Everything is self-contained — no server needed.\n\n## How it works\n\nPapr parses your markdown file and uses heuristics to classify each table:\n\n| Table shape | Rendered as |\n|---|---|\n| 2–6 rows, 2–4 cols, headers like \"Metric / Value / Change\" | **KPI strip** |\n| First column is time (months, quarters, years), other cols numeric | **Line chart** |\n| First column is categories, one numeric column, 3+ rows | **Bar chart** |\n| Exactly 2 columns: category + positive number, 2–8 rows | **Pie chart** |\n| Everything else | **Styled table** |\n\nCharts are interactive (hover for tooltips) using [ECharts](https://echarts.apache.org/).\n\n## Markdown format\n\nStandard markdown. The only conventions:\n\n- **`# H1` headings** become tabs in the sidebar\n- **First blockquote after an H1** becomes the tab subtitle\n- **`## H2` headings** become section headings within a tab\n- **Tables** are auto-classified into charts, KPIs, or styled tables\n- **Blockquotes** (other than subtitles) become callout asides\n- **Frontmatter** sets the report title and subtitle\n\n### Example\n\n````markdown\n---\ntitle: \"Q4 2025 Product Analytics\"\nsubtitle: \"Acme Corp · Feb 2026\"\n---\n\n# Executive Summary\n\n> Revenue hit $4.2M. Users crossed 200K.\n\nStrong quarter driven by organic growth and the Teams tier launch.\n\n| Metric | Value | Change |\n|--------|-------|--------|\n| Monthly active users | 214K | +18% vs Q3 |\n| Q4 revenue | $4.2M | +23% YoY |\n| Net revenue retention | 118% | +6pp vs Q3 |\n\n| Month | Revenue ($K) | Users (K) |\n|-------|-------------|-----------|\n| Jan | 280 | 142 |\n| Feb | 295 | 148 |\n| Mar | 310 | 155 |\n\n> **Teams tier** reached 18% of revenue within 3 months of launch.\n\n# Growth & Acquisition\n\n> 67% of signups came organically.\n\n| Channel | CPA ($) |\n|---------|---------|\n| Referral | 8.2 |\n| Organic SEO | 12.5 |\n| Paid Search | 30.5 |\n````\n\nThis produces a two-tab report with a KPI strip, a line chart with dual Y-axes, a callout aside, and a horizontal bar chart — all from plain markdown tables.\n\n## For AI agents\n\nPapr is designed for AI-generated reports. Give your agent these instructions:\n\n> Write a markdown report. Use `# H1` headings to separate major sections (each becomes a tab). Use standard markdown tables for data — they'll be automatically converted into charts. Put the single most important number in the first column, a label in the second, and a comparison in the third to create KPI strips. Use blockquotes for key insights.\n\nThat's it. No special syntax to learn.\n\n## Design\n\nReports use the [Geist](https://vercel.com/font) font family, a Tufte-inspired layout with centered content, and an acid yellow + charcoal color scheme. All styling is embedded in the output HTML.\n","readmeFilename":"README.md"}