{"_id":"nponysay","name":"nponysay","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"type":"module","name":"nponysay","bin":{"ponysay":"src/cli.mjs"},"version":"0.1.0","description":"Ponysay: Node.js edition – display ponies with quotes in your terminal!","main":"src/index.mjs","repository":{"type":"git","url":"git+https://github.com/testudoq-org/nponysay.git"},"author":{"name":"testudo"},"license":"CC-BY-NC-SA-4.0","keywords":["ponysay","ponies","cli","terminal","cowsay","ascii-art","fun"],"homepage":"https://github.com/nietoperz7/nponysay/tree/main/ponysay-node#readme","bugs":{"url":"https://github.com/nietoperz7/nponysay/issues"},"scripts":{"test":"vitest"},"dependencies":{"ansi-to-html":"^0.7.2","chalk":"^4.1.2","commander":"^11.1.0","inquirer":"^12.9.0","minimist":"^1.2.8","puppeteer":"^24.15.0"},"devDependencies":{"@jest/globals":"^29.7.0","jest":"^29.7.0"},"_id":"nponysay@0.1.0","gitHead":"50ed11c0f1141fdd34fa50609291215c9af353b0","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-qD7JvCr6YtSppdEI3zEoxNvHmS0Rzx1vLztUeRuxBqogQYcv3Xfz+zsD3zVET20Tu3sk2otZO6iIP/jOZR73Xw==","shasum":"dcaccae83cf32103e37ca8feb1303774e8881757","tarball":"https://registry.npmjs.org/nponysay/-/nponysay-0.1.0.tgz","fileCount":1079,"unpackedSize":4943739,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCD1p9d5NBij25NKBM2lK4XIsVuxpPfQrXOecFfiQUHaAIhAMpKVk0SFA+StA81YGWIYS2Vvag1Yg0Z4ViEZu67G7u7"}]},"_npmUser":{"name":"testudoq","email":"stephenhstewart@gmail.com"},"directories":{},"maintainers":[{"name":"testudoq","email":"stephenhstewart@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nponysay_0.1.0_1754088657748_0.5548409101619869"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-01T22:50:57.590Z","0.1.0":"2025-08-01T22:50:58.077Z","modified":"2025-08-01T22:50:58.415Z"},"maintainers":[{"name":"testudoq","email":"stephenhstewart@gmail.com"}],"description":"Ponysay: Node.js edition – display ponies with quotes in your terminal!","homepage":"https://github.com/nietoperz7/nponysay/tree/main/ponysay-node#readme","keywords":["ponysay","ponies","cli","terminal","cowsay","ascii-art","fun"],"repository":{"type":"git","url":"git+https://github.com/testudoq-org/nponysay.git"},"author":{"name":"testudo"},"bugs":{"url":"https://github.com/nietoperz7/nponysay/issues"},"license":"CC-BY-NC-SA-4.0","readme":"> **Note:** To use `ponysay` as a command, install globally with `npm install -g .` or run `npm link` in the project directory after cloning. This will register the CLI so you can run `ponysay \"Friendship is magic!\"` directly from your terminal.\r\n## Installation\r\n\r\n**Option 1: Install from npm (recommended)**\r\n```bash\r\nnpm install -g ponysay-node\r\n```\r\nThis will make the `ponysay` command available globally.\r\n\r\n**Option 2: Install from a cloned repository (for development or latest features)**\r\n```bash\r\ngit clone https://github.com/testudoq-org/nponysay.git\r\ncd nponysay/ponysay-node\r\nnpm install\r\nnpm link\r\n```\r\nThis registers your local version globally, so you can run `ponysay \"Friendship is magic!\"` from any terminal.\r\n\r\n**Option 3: Update an existing clone**\r\nAfter pulling updates, run:\r\n```bash\r\nnpm install\r\nnpm link\r\n```\r\nto refresh the global command.\r\n\r\n---\r\n\r\nOnce installed, you can use the standard syntax:\r\n```bash\r\nponysay \"Friendship is magic!\"\r\n```\r\nfrom any terminal, just like the original ponysay tool.\r\n\r\nnponysay — cowsay reimplemention for ponies in node.\r\n\r\n![alt text](image.png)\r\n\r\nToday your node, tomorrow the world!\r\n\r\n---\r\n\r\n**License**\r\n\r\nThis project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).\r\nSee [COPYING.md](./COPYING.md) for details.\r\n\r\n\r\n---\r\n\r\n\r\n\r\n# Ponysay Node\r\n**Current:**  \r\nYou must run the CLI with:  \r\n```sh\r\nnode src/cli.mjs \"Hello!\" --pony Twilight\r\n```\r\n\r\n**After these changes:**  \r\nYou can run:  \r\n```sh\r\nponysay \"Hello!\" --pony Twilight\r\n```\r\nfrom any terminal, matching the original ponysay tool's UX.\r\n\r\n> Node.js (ES6 `.mjs` modules) implementation of Ponysay with modern asset and balloon rendering.\r\n\r\n## Overview\r\n\r\nPonysay Node is a CLI tool for displaying My Little Pony ASCII art with speech/thought balloons. It uses Node.js and ES6 `.mjs` modules for maintainability and extensibility.\r\n\r\n## Balloon Rendering with `$balloon5` Sections\r\n\r\nPonysay Node now supports custom balloon rendering using `$balloon5` sections in `.pony` files.\r\n\r\n- If a `.pony` file contains a `$balloon5` section, it will be used to render the speech/thought balloon.\r\n- If `$balloon5` is missing or malformed, Ponysay falls back to a generic balloon template.\r\n\r\n### Fallback Behavior\r\n\r\n- **Present and valid:** `$balloon5` is parsed and used for rendering.\r\n- **Missing or malformed:** The system automatically uses a default balloon (e.g., cowsay or unicode style).\r\n\r\n## Message Injection and Formatting\r\n\r\n- The message is injected into the balloon at the designated placeholder in `$balloon5`.\r\n- ANSI color codes in the message are preserved and rendered correctly inside the balloon.\r\n- Alignment (left, center, right) is handled according to the balloon's template or default settings.\r\n\r\n## CLI Usage Example\r\n\r\n```sh\r\nponysay-node \"Hello, world!\" --pony=twilight\r\n```\r\n\r\n- If `twilight.pony` has a `$balloon5` section, it will be used for the balloon.\r\n- If not, a generic balloon is used.\r\n\r\n### Example with ANSI Colors\r\n\r\n```sh\r\nponysay-node \"\\x1b[35mPurple text\\x1b[0m and normal text\" --pony=rarity\r\n```\r\n\r\n- ANSI color codes are preserved in the output balloon.\r\n\r\n## Notes\r\n\r\n- **Legacy Notice:** Only the `$balloon5` section is used for custom balloons; older `$balloon` sections are ignored and considered deprecated.\r\n- **Migration:** Asset maintainers should update legacy assets to use `$balloon5`. See [`memory-bank/asset-migration.md`](ponysay-node/memory-bank/asset-migration.md) for migration steps.\r\n- **Validation:** Always validate `$balloon5` sections for correct formatting. Malformed sections trigger fallback to generic balloons.\r\n- **Actionable Steps for Maintainers:**\r\n  - Review all `.pony` files for `$balloon5` presence.\r\n  - Update legacy `$balloon` sections to `$balloon5`.\r\n  - Test balloons with CLI to ensure correct rendering.\r\n  - Refer to migration documentation for guidance.\r\n\r\n\r\nThis is wponsay-node © 2025 by Testudo is licensed under CC BY-NC-SA 4.0\r\n\r\n<a href=\"https://github.com/testudoq-org/nponysay\">wponsay-node</a> © 2025 by <a href=\"https://www.testudo.co.nz/\">Testudo</a> is licensed under <a href=\"https://creativecommons.org/licenses/by-nc-sa/4.0/\">CC BY-NC-SA 4.0</a><img src=\"https://mirrors.creativecommons.org/presskit/icons/cc.svg\" alt=\"\" style=\"max-width: 1em;max-height:1em;margin-left: .2em;\"><img src=\"https://mirrors.creativecommons.org/presskit/icons/by.svg\" alt=\"\" style=\"max-width: 1em;max-height:1em;margin-left: .2em;\"><img src=\"https://mirrors.creativecommons.org/presskit/icons/nc.svg\" alt=\"\" style=\"max-width: 1em;max-height:1em;margin-left: .2em;\"><img src=\"https://mirrors.creativecommons.org/presskit/icons/sa.svg\" alt=\"\" style=\"max-width: 1em;max-height:1em;margin-left: .2em;\">\r\n","readmeFilename":"README.md","_rev":"1-351844012d4f1fc0ebaac0b3774d61c6"}