{"_id":"@alikaner/dotink","name":"@alikaner/dotink","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@alikaner/dotink","version":"0.1.0","description":"Strict plain-text INK format lexer, parser, and AST generator.","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"next dev","build":"next build","start":"next start","lint":"next lint","build:pkg":"tsc -p tsconfig.pkg.json","prepublishOnly":"npm run build:pkg"},"dependencies":{"next":"16.1.6","react":"19.2.3","react-dom":"19.2.3"},"devDependencies":{"@tailwindcss/postcss":"^4","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","babel-plugin-react-compiler":"1.0.0","eslint":"^9","eslint-config-next":"16.1.6","tailwindcss":"^4","typescript":"^5"},"gitHead":"80b8f571f73eae9cf2a1310f6f4499bd91bfa97f","_id":"@alikaner/dotink@0.1.0","_nodeVersion":"24.11.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-s8PG3P14RBSHYDvmU2dZk8TS1XC317mMIsFW362LT6j8yvr9PcmaoTggYtkg2qubrOPEc3BOhKbjKZ69qWV8Fw==","shasum":"b82005519fc4da7e8fe78a087352570ee24d4c76","tarball":"https://registry.npmjs.org/@alikaner/dotink/-/dotink-0.1.0.tgz","fileCount":12,"unpackedSize":22361,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEwy0kQRyd5SDjILb5pGn2arYmJ/EIXrwfX7tnp54IaCAiANTaysbbjMQHOA+r2BMRWnzu/IKPqcoWPnGIxV9o/NAg=="}]},"_npmUser":{"name":"alikaner","email":"alikaner.dev@gmail.com"},"directories":{},"maintainers":[{"name":"alikaner","email":"alikaner.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dotink_0.1.0_1772288921832_0.006560673675382267"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-28T14:28:41.740Z","0.1.0":"2026-02-28T14:28:42.001Z","modified":"2026-02-28T14:28:42.225Z"},"maintainers":[{"name":"alikaner","email":"alikaner.dev@gmail.com"}],"description":"Strict plain-text INK format lexer, parser, and AST generator.","readme":"# INK Format Parser & Documentation Site\n\nA parser, lexer, and live documentation playground for the **INK FORMAT v1.0** specification.\n\n## Features\n- **Strict Parsing**: Enforces rules like maximum 120 characters per line, mandatory headers (`@BOOK`, `@REVISION`), and no HTML.\n- **AST Generation**: Converts raw `.ink` files into a strongly typed Abstract Syntax Tree (AST).\n- **Interactive Playground**: A Next.js web application to test `.ink` files in real-time.\n\n## The `.ink` Format Specification\n\nThe `.ink` format is a strict plain-text format designed for writing stories and structured documents.\n\n### Rules:\n- **Encoding**: UTF-8 plain text only.\n- **No HTML, Emojis, or Special Fonts**.\n- **Line Length**: Max 120 characters per line.\n- **Headers**: Must start with `@BOOK` and include metadata (TITLE, AUTHOR, etc.).\n- **Revisions**: Must end with a `@REVISION` block.\n- **Blocks**: Supports `[[THOUGHT]]`, `[[FLASHBACK]]`, and `[[DREAM]]`.\n- **Tags**: Supports internal tags like `<<FIX>>`, `<<IDEA>>`, `<<CHECK>>`.\n\n### Example\nSee `src/examples/dark-path.ink`.\n\n## Getting Started\n\nFirst, install the dependencies:\n```bash\nnpm install\n```\n\nRun the parser tests:\n```bash\nnpx tsx src/parser/test.ts\n```\n\nRun the development server for the Playground:\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n","readmeFilename":"README.md","_rev":"1-eefd12f56c7a746cf7f69a2601b67216"}