{"_id":"remark-flow","_rev":"34-559ad3fb2b6ee9466d95287a34b67dd0","name":"remark-flow","dist-tags":{"dev":"1.2.1-dev.1","latest":"1.3.4"},"versions":{"1.0.0":{"name":"remark-flow","version":"1.0.0","keywords":["remark","remark-plugin","markdown","custom-button","custom-variable","unified"],"author":"","license":"ISC","_id":"remark-flow@1.0.0","maintainers":[{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"dist":{"shasum":"b4350471e7837619e15438402a22ac941710feed","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.0.0.tgz","fileCount":15,"integrity":"sha512-407x0Z5sxU4vhwul4Yvqzlrcua/HxwKe4dItg6s39rOvpOKHoMfbn+F9qFoHCnPmRHUZjzB12UA+SJ+NZp30Uw==","signatures":[{"sig":"MEQCID+8Wk5u2bQcmX3fYVd1J3xxPq+4e5BsLSDGVymfCQvZAiB5mRAx5KnuTRodWibhMCFNbmkKZOi+U9FIw18xvrOl5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25801},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"95b4daeb1e873618e10693c2429a45ad476a0b57","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},"deprecated":"This version is deprecated, please upgrade to newer version","_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"20.19.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.0.0_1755931014779_0.7605457351111284","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.1":{"name":"remark-flow","version":"0.1.0-alpha.1","keywords":["remark","remark-plugin","markdown","custom-button","custom-variable","unified"],"author":"","license":"ISC","_id":"remark-flow@0.1.0-alpha.1","maintainers":[{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"dist":{"shasum":"bbdf83978cd9f15dbb5bb5f34ca8a393bfd13488","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.0-alpha.1.tgz","fileCount":19,"integrity":"sha512-WKH92d4xsgc5YtoD389JTEBh5KVGHNe8DUSBXYfy0HEHYCUM1CB/Xtj0Uyy43H/j7vTS/NP9xhTLU+bUzs975A==","signatures":[{"sig":"MEUCIB46sCofsTX+4jI4ouOFZXxlnj3JposC43PjS/mXF95/AiEA41Ht0g5U1y5WaHaA6jQrOh5HGRUJmC7uh1q4FEh0WlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27573},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6169d05d4159944441c385bc3c7827559b7b4382","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},"_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"20.19.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.0-alpha.1_1755935661279_0.9443110218565753","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.2":{"name":"remark-flow","version":"0.1.0-alpha.2","keywords":["remark","remark-plugin","markdown","custom-button","custom-variable","unified"],"author":"","license":"ISC","_id":"remark-flow@0.1.0-alpha.2","maintainers":[{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"dist":{"shasum":"845c44fee5934f7f2b953738fd69cf20599b2bfd","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.0-alpha.2.tgz","fileCount":19,"integrity":"sha512-lTt8eXqJ9AP5DkUL8D3Tx9Z1ZmGLj4FY6PXdn3aNzLOey/E1LYKXV+DbacFp8zg+B9uIlVlAAgsZaFmudWlasQ==","signatures":[{"sig":"MEYCIQCFPtDFMAXhas4KBimsymE0teGTFfyLIm7pBHaJoBEuJwIhAObcLhv5W1LArfC5gyhCLJS/oXP5Jo1PcGNM2QrIsnOj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27685},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a70a9c7174284503afedefe63d0ce6533517bf06","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},"_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"20.19.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.0-alpha.2_1755935810316_0.021288443922136135","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.3":{"name":"remark-flow","version":"0.1.0-alpha.3","keywords":["remark","remark-plugin","markdown","custom-button","custom-variable","unified"],"author":"","license":"ISC","_id":"remark-flow@0.1.0-alpha.3","maintainers":[{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"dist":{"shasum":"de4835cad78998ad40628c5f4c41a7e48ee835ba","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.0-alpha.3.tgz","fileCount":19,"integrity":"sha512-S4qzOx8s2dSHiLjkhBIIS6o3VrvIsNAmbv7gHdVXSWLY6mtHKUT1HKDeZWhFdTDGyk33ttyq0Z8DR7pzF7VBdg==","signatures":[{"sig":"MEQCIBNjiDXoHTuQiAdo2iN13Vh5yPnlNdbdttBALN+AxQUDAiAofDXsDIKu0eQ/GRl+jc/9BwGdlKxRD8+zg4lovX/QMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27685},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0e6f935dba8abd1bdb5fa101e576643a8bf1adf4","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},"_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"20.19.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.0-alpha.3_1755936222682_0.6641280579369673","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.3":{"name":"remark-flow","version":"1.0.0-alpha.3","keywords":["remark","remark-plugin","markdown","custom-button","custom-variable","unified"],"author":"","license":"ISC","_id":"remark-flow@1.0.0-alpha.3","maintainers":[{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"dist":{"shasum":"126ffe90e3ada684e0c552fe5b6e9f668dfc1aae","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.0.0-alpha.3.tgz","fileCount":19,"integrity":"sha512-JJ9XStzP1T6HEORoE8IPZ7YGZWfWo4XpEueEtAV+/EIIZKU75RzMZI5OM6zOft+NDBtLkV6Ha9aod0nbvf4aVw==","signatures":[{"sig":"MEUCIQCOgnrscWnSvmKLjWOyXRn9SI17N1lCX3HsrDdg9t9GlgIgGOf3QWL22F4jM1lqtwjDc4btdH8DgWyPxgBf9QIKrp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27685},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0e6f935dba8abd1bdb5fa101e576643a8bf1adf4","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},"deprecated":"This version is deprecated, please upgrade to newer version","_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"20.19.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.0.0-alpha.3_1755936456958_0.7816363088042904","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.4":{"name":"remark-flow","version":"1.0.0-alpha.4","keywords":["remark","remark-plugin","markdown","custom-button","custom-variable","unified"],"author":"","license":"ISC","_id":"remark-flow@1.0.0-alpha.4","maintainers":[{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"dist":{"shasum":"59b4fb8b65fe4042bb9ddfc575f48fc141803ba8","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.0.0-alpha.4.tgz","fileCount":23,"integrity":"sha512-5M6/kXKpaTUH95moKJTChabHp3UuosVGd3LFYmrDnXEzaeGCi6nPb0Xj2igtUZSSOWVSpC9nHCKVKUDtCd7PQQ==","signatures":[{"sig":"MEUCIQDdU1kanVt5n6rXwAhQhSZ06SZGtxWNXa6K9vTrQO9stQIgMvJpeKtIr0KZoXQNObLF9FwjDS8A29wabqQV5S0nktk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47947},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9bc1ca5c500f6a28e9babf38b69618df6ecb0a86","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},"deprecated":"This version is deprecated, please upgrade to newer version","_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"20.19.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.0.0-alpha.4_1756001221036_0.6735909706301315","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.6":{"name":"remark-flow","version":"1.0.0-alpha.6","keywords":["remark","remark-plugin","markdown","custom-button","custom-variable","unified"],"author":"","license":"ISC","_id":"remark-flow@1.0.0-alpha.6","maintainers":[{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"dist":{"shasum":"5bd3174a7acd5c41011e6376d6220f88dbe0016b","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.0.0-alpha.6.tgz","fileCount":19,"integrity":"sha512-HMKo+FSn/DrakwM1JRH6PG2JwtJOZf+nS44hZ7tzcyTHEkn87thbXCniSPUuipIRVbsGCw6TP7XK1mDT6jRVcg==","signatures":[{"sig":"MEYCIQCtM/W0RQktL+duoTRoIc3TMdTQjfKAx7atJ6Rpl9/wNwIhANt3tuSGH4EYhh1uNa3uhvYUpCnQg2N7alwJVDQhsmHL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45198},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9bc1ca5c500f6a28e9babf38b69618df6ecb0a86","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},"deprecated":"This version is deprecated, please upgrade to newer version","_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"20.19.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.0.0-alpha.6_1756004812547_0.6480466953719304","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.7":{"name":"remark-flow","version":"1.0.0-alpha.7","keywords":["remark","remark-plugin","markdown","custom-variable","unified"],"author":"","license":"ISC","_id":"remark-flow@1.0.0-alpha.7","maintainers":[{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"dist":{"shasum":"73143deefeb39df546a9d4d249ac2f74959af480","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.0.0-alpha.7.tgz","fileCount":19,"integrity":"sha512-Aad2d8jQeIUwfe74M3rdNpaNKYeEh+/9U0EpJRE/tRy7tfJ08gwVSxdlWX3nGV0Eo9d1rplb4TAGjK2KWaCflA==","signatures":[{"sig":"MEQCIAmAUZ/iFS25nK4QTuErozOO+Vtkc1BQKcKBB3W7fxQaAiBviMxgzi8ocoy1AWQsI5hqSSGC2XdcXFfoqN96FB3+Sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45440},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9bc1ca5c500f6a28e9babf38b69618df6ecb0a86","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},"deprecated":"This version is deprecated, please upgrade to newer version","_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"20.19.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.0.0-alpha.7_1756005949473_0.545900643594859","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"remark-flow","version":"1.1.0","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@1.1.0","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"dbe4f2edf1ca7a6fc5a23842dd0c7b36e6fb11e2","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.1.0.tgz","fileCount":23,"integrity":"sha512-W5nYKdcSgsmD9LdZZS4eadZm8r1GzxSZ9UlDNP0D54NF9xMGcM8R1dRPkA6VGitpwMrn4K3QHrXQDWjabmrJEg==","signatures":[{"sig":"MEUCIEf6V7QOOVMYAYxgJzX59FGoqucOpfCq0m+Gwi7+lXx/AiEAyfJH4NAsFl4zSR7UfF8yNRrOSX8JtD4xptxa1ExsZrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56029},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"c71e18b8f91a1db0ab3df2cadf7c35b2d5202ccc","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"aichy","email":"aichy66@gmail.com"},"deprecated":"This version is deprecated, please upgrade to newer version","repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"20.19.4","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.1.0_1757135655337_0.13331905876905847","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"remark-flow","version":"0.1.1","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@0.1.1","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"462b42fd3b6e9772e5a4d3930816157f5d811cc6","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.1.tgz","fileCount":27,"integrity":"sha512-sRbjiRHIRp64J523b2uV/QJZDF2qVTbuFafFrYIb31/MhGoaHGM9/Ownljy46FlAbrXKD+JN8sQx0hxEEvOONA==","signatures":[{"sig":"MEUCIFUlxJDo7iuzbEzjfefIeRKao+fv3DzgWYIB2Bxa0B70AiEAv9MEb0ZZEDeNnnLdw5X+sjB/Sg3k5IFYTxG9i7hLc14=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49616},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a57b32a10327dafe485229a0439d066b833d67a0","scripts":{"test":"jest","build":"tsc --build --clean && tsc --build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"aichy","email":"aichy66@gmail.com"},"deprecated":"This version is deprecated, please upgrade to newer version","repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.9.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"_nodeVersion":"23.11.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.1_1757512726392_0.9306342657441036","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"remark-flow","version":"0.1.2","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@0.1.2","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"fdd0c39971f16abc08b8138eeb7742fe1cccd528","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.2.tgz","fileCount":27,"integrity":"sha512-NzDKyGUWji65d1xIyH3VmZV8yue5z8PDgfdYctziWjFF1r+mH2Aa4dNV/i4XhpXwIxys628LHtQRaGVqHQ4mmQ==","signatures":[{"sig":"MEUCIAadhkJkDm3VG1NX8gyNUAYc7XS20dWnXnmCPyDWz0C/AiEAzslYP0gUUmgI+5yosQv4iW7qm9xc/uhjGZFz8O0673E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60485},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"c71e18b8f91a1db0ab3df2cadf7c35b2d5202ccc","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"aichy","email":"aichy66@gmail.com"},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.9.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"23.11.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.2_1757512949091_0.7426315238065098","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"remark-flow","version":"0.1.3","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@0.1.3","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"bfe12cb361a1912a636b759e0acecf861eafa118","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.3.tgz","fileCount":27,"integrity":"sha512-KKgD+9DN2E/qdC/S9CjBk3j7HzPSkWVFRRgu6V7KG+E305AxQbOrlPxaCUFJAhtHdQwFk+jqtxlbLE+1SnI6EQ==","signatures":[{"sig":"MEUCIQC4m9MqtITqubIJh5FIj/15PRQ0tvHtdVo5nBhpDGDR4wIgFhLj7jY/3wsN1CbCPk6kAhRiJnQuE68ZdeGnwk3EcYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69825},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"89ca1369eefe0b67358e6c2ce360a095476d1036","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"aichy","email":"aichy66@gmail.com"},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.9.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"23.11.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.3_1758160327883_0.7421017935808238","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"remark-flow","version":"0.2.0","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@0.2.0","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"3e37d1b28f994df7b98c00b2dced84d358684144","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.2.0.tgz","fileCount":23,"integrity":"sha512-uwQSVRhi+EIIIP0TJZ5ygDey+PW6bUk1dQEo1kFLzq7GXP3zYdTr2VfQV0TnzKqTWhTG0YjHNVdefnFgt6qVAw==","signatures":[{"sig":"MEUCICv8fNhkEPVRvLN++tCPsFO9n38NJXbdFJY10x2e5TsQAiEAknlZQDUUCO17WRWiqN+cd8JYyW7fFfrrXn/u52+xEOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63981},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"c6ca609cfa151973be09d3b7e923b43228b02193","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"aichy","email":"aichy66@gmail.com"},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.8.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.2.0_1758386838737_0.4959251031936347","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"remark-flow","version":"0.1.4","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@0.1.4","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"da1ef209585ba570a5dd8d496a259018e8c77c26","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.4.tgz","fileCount":27,"integrity":"sha512-+atUp1QEbgZLyN2AaR8hgyY9eys60jDgW6k+9odfPQU6cTGPJk6yP+lnz8fjmvOpJzrk2YLCJjZJWkVSKu8YDA==","signatures":[{"sig":"MEQCIG5LGLlm9GxB4cKBHAeRPfoDXRFDXiq3jQkO13HPbcp+AiA2JD3wtgFcid7enrYy9ErCkPXAXDvyRy+GQVw9oWhHYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68486},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"9c7987184a796784d95141ddce4ec5dbe272c195","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build","interactive-test":"node scripts/interactive-test.js"},"_npmUser":{"name":"aichy","email":"aichy66@gmail.com"},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.9.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"23.11.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.4_1758985267317_0.17621255217173482","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"remark-flow","version":"0.1.5","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@0.1.5","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"cb3abc8751671828afbca3310933fcb1a8c30ca0","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.5.tgz","fileCount":27,"integrity":"sha512-pDmVYmjWdLiOarn3w8PnZxe1OadZUg+DPwAQozMtTMh9WSs2gj1EjFL4WFZ9BDCK1BCbIx2JCew3h4GbKCYleA==","signatures":[{"sig":"MEQCIFAZ0pqZdWPgGcXPTYyYmOzMoBqkcLY8AJoeu0pgWWKaAiB6kSDLcidz5txAE4mmUUTzkAz7jnr+ivzgm2PbauM5Vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68536},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"edbe7f7fb4d2930d3f222d063d73acb6fd4e8f1a","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build","interactive-test":"node scripts/interactive-test.js"},"_npmUser":{"name":"aichy","email":"aichy66@gmail.com"},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.9.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"23.11.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.5_1759067877385_0.0698385563078101","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"remark-flow","version":"0.1.6","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@0.1.6","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"b643a5ad60c6eada355a8269544e23a205e162d5","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.6.tgz","fileCount":27,"integrity":"sha512-voMe63wJgCdl7owirXFemPjgsHM7mBKFaGL4OJNzZzYkh707fQvJidTBqFqeDRe5nW3pIEsWKxM5FvqDIn4TUg==","signatures":[{"sig":"MEUCIBC2btR92c0c7K1Y39+oC2+42jnPbyi+d64+425YAqeXAiEA2ywPaK5uo3SV0c6CgayHbL8SGrwkMsRhfxDaqoC6fOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68536},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"e5fce7cd850879ec46dbb55d8191c1e0b421d6fd","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build","interactive-test":"node scripts/interactive-test.js"},"_npmUser":{"name":"aichy","email":"aichy66@gmail.com"},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.9.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"23.11.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.6_1759845516890_0.3169713722285772","host":"s3://npm-registry-packages-npm-production"}},"0.1.3-beta.0":{"name":"remark-flow","version":"0.1.3-beta.0","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@0.1.3-beta.0","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"321ab2f69550512487b67af59afb5b562aa16f0e","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-0.1.3-beta.0.tgz","fileCount":23,"integrity":"sha512-32dGhWsAaD20Rvq++O09eaKLsYOd5CdRRWsNU4CmR1auHQI1pBRbMFlfD6ep1CoAaNrhUGjE18cug4/ALLlMLQ==","signatures":[{"sig":"MEQCIFCbMn3IRIivScA8IyjA/So6/kSR3L9Kh+An02ql7pBzAiAd8GBkA5gC4rTrs9XeY0wGQEr7hi7y42EgyVoA3MZvlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65649},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"b7f10f830decd749e61c8157bf8035f06b375b4c","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kunlulu","email":"kunlulu810@gmail.com"},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"10.9.2","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"22.16.0","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_0.1.3-beta.0_1766997435004_0.5641523636811132","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"remark-flow","version":"1.2.0","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@1.2.0","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"3b6fb06e156cd8f0d52a073043ae7fbd4a09f332","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.2.0.tgz","fileCount":27,"integrity":"sha512-XX4Je2tcsEqrQEZtEHx4SvdDR+KoDIkT3lklipyJL+HmNGB77PWodJCvfvTU3c60cXA+RHoCWmZ7XlbhdcWe2A==","signatures":[{"sig":"MEUCIAMF/WZYLsX1zX1tDEiCDRBuvRyxmBP/t54fr9BYjgPCAiEAy/uKGShCfwf2xlC15AEZylwJqOZ3C2IJ8b1sgDYN4w0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/remark-flow@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65569},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"4c90752d5a1e982598c93165c423b712e75771a6","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:925f7c1f-13d6-4af6-bdbe-c567d2433413"}},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"12.0.1","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"22.23.1","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.2.0_1785319885803_0.7479993888372845","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-dev.1":{"name":"remark-flow","version":"1.2.1-dev.1","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@1.2.1-dev.1","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"59fe365293258effb8f9be1fc793d9321e48f47b","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.2.1-dev.1.tgz","fileCount":27,"integrity":"sha512-vPEZ69npICteORdEKfE2HsXpg2rt7V/wYqJNfd86UWU1MyGg1x3uMojWphEAMwmoIOMshgDirL0PJQ0vbBpGdQ==","signatures":[{"sig":"MEUCICo08jQ66GIK2Qr0Vc/ZKucdokrQpwR6WYdv9DGGMBp9AiEAxYDrIXMVnu6uGQg3vwnliIYYf42YcuKViiKQcEvj08w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE1tlEu5EDcmkMvISUsPl0UTKHpz3+vfLvc6wEa99H39AiBy5fN+l6ZsPJsGJ7MlKcD2UMgZ9crWG+8k5VOpSPOJTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/remark-flow@1.2.1-dev.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66451},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"b158a6d104b068245e2ae488d63695b87eebe03e","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:925f7c1f-13d6-4af6-bdbe-c567d2433413"}},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"12.0.1","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"22.23.2","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.2.1-dev.1_1788149691792_0.47333665161233074","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"remark-flow","version":"1.2.1","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@1.2.1","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"c0a4cd0fe4ac850f631bfc0191f28433690368f4","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.2.1.tgz","fileCount":27,"integrity":"sha512-kaAUYwfyjLht5D3kDhRUx3jbyUHUH0UFO35uPPL/SaUAlvtfWzqIdkwJ1++nvT+ckKZrvOFEUAAE3sRQKNqTpQ==","signatures":[{"sig":"MEUCIH00SFOS48OjXC8hO0H/GPlGFKDkg5e7EAKHUOv/ltbKAiEA4Nd1S3ROI9gaspPIBVyV6tT1tMIqz9KvB9wifJsJE0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFJHPgPsL/V0c0NE1DTcSmM4K88VhWvnd26MTlCT/p9pAiBvbgUM6gtwW7MdyHFQCsPVlwH2H5Bnfe2GklC/E0w9Aw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/remark-flow@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66445},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"e2acea9c192dde8e7110ce61bb32d138101c0df5","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:925f7c1f-13d6-4af6-bdbe-c567d2433413"}},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"12.0.1","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"22.23.2","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.2.1_1788150266581_0.8850994659361158","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"remark-flow","version":"1.3.0","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@1.3.0","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"a3c1438f9901c7246accd6e99c20f967259114df","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.3.0.tgz","fileCount":31,"integrity":"sha512-Vr7fhtqGv+nwZNsz+6uhkBmOuOcwtpFzLz+J5T1mg/ZuK6MR2CdMbMWh8ygdl4nrGrqAcVwiCYXyz/7Jlc8fAA==","signatures":[{"sig":"MEUCIEa0ClXBBldvRncIYd4eJ8wMwciOr3W2ZSCUvfOrXsOxAiEAolt7v/vA5QurG8ErBswV/n1jS60dEpTeke2aEvvgFJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIENvRhb9uRQPWBoZ6tBVrkaoaVAqcg5ZLYnxubbB2R83AiEArfzuXvOvFCaBtH5p6cXTXRqp/zFT+oGDHjt64POLNho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/remark-flow@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82833},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"f1b827cb3b335a3b9ec378ffcd1ef681521faabe","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:925f7c1f-13d6-4af6-bdbe-c567d2433413"}},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"12.0.1","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"22.23.2","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.3.0_1790127231331_0.03207783738528747","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"remark-flow","version":"1.3.1","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@1.3.1","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"c72de1376e2e60645d3c9ca6f0fe77e24b729c60","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.3.1.tgz","fileCount":31,"integrity":"sha512-0psg9kkLlHacp8jOFs3jV989A4ITTAIG6TehDwl3fW8Hi068CLSUEQp9wSHM0BDed1bv/nxM36UqNSBg4Y6NXQ==","signatures":[{"sig":"MEUCIQCwFw3GYkmSEwGu6u99BllD1pEG9BSNZFRFzyB1xA4qmQIgf4xW/wPQvY2LuYNTWev7cketLxKnhDgCuWgtcLTfhvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD38GWLxIUhIYmMEldGRjEF/Kxihdhf1mqshHyCjK7k1AIgSLMn62WV94VvtGtFgL6vWD7tJvZO+GxNEWI6+d6+TOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/remark-flow@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":85198},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"7f7dfee3598073daefff72d7bd44f16f85107971","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:925f7c1f-13d6-4af6-bdbe-c567d2433413"}},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"12.0.1","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"22.23.2","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.3.1_1790127590812_0.6638623774417911","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"remark-flow","version":"1.3.2","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@1.3.2","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"0e747a1187779eb0aa05d434e3f96df11eace6fc","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.3.2.tgz","fileCount":31,"integrity":"sha512-VIhLGPKPy6+FTIiOIouoF107dHy+u0XLfUnuUMzEd59TCP41YTCzxENPeZklhHiNbhm5O4gDybdOX6DtYvWtCA==","signatures":[{"sig":"MEUCIGq/XBLH59A3Ba2u0MjpVORzWjaYK21ntkhat2IAPdW8AiEA63jzhsCbfZ9PE5JhsBSCcyhpbXuNXTfpYOE2jzBNGlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB1dcVFRQMIjR9jGuf2xT8kFOPT+i8u7Wiu+ARv3aR43AiEAv3pVVotweFXuTrO47UiL0Uzorz+OXDUE+5sl4ktv2MY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/remark-flow@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87261},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"bd6b48b1cf01571dd583aacf44b582f503441a11","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:925f7c1f-13d6-4af6-bdbe-c567d2433413"}},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"12.0.1","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"22.23.2","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","@types/unist":"^3.0.0","remark-parse":"^11.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.3.2_1790127927388_0.799464142980107","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"remark-flow","version":"1.3.3","keywords":["remark","remark-plugin","markdown","custom-variable"],"author":{"name":"remark-flow contributors"},"license":"MIT","_id":"remark-flow@1.3.3","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"homepage":"https://github.com/ai-shifu/remark-flow#readme","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"52d47b6693ef8f1a22b80c07376a28d20ba61de4","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.3.3.tgz","fileCount":35,"integrity":"sha512-JHTbCIfb6b/8m8yQHlLsiqCUKIahcn/tDv9t26GBK+usfpETj3Ig8PGFGqPzmxqRs527pp2a/wjndyL+RC7z7g==","signatures":[{"sig":"MEQCIENi0wajDl4X05y5/S7cyV6maxLpaVD0m/aOSt3DC8OhAiA/KcLmvfD6BbKTzpY8iNsWsYg7KUUXB4taGot5erPdaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD5oALkVfC0vRwrjOMaC4O6yr9EU1FDyFRjLtUmTDyWcQIgdmSv4kh7mVra6dCCPaQfqNABKPxAQOUVjkdlQZfXNPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/remark-flow@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105427},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"93bda6bd3cd6af95e692c8eed54e07f06e59534e","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","test:pipeline":"npm run build && node --test tests/pipeline/rendering-pipeline.test.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:925f7c1f-13d6-4af6-bdbe-c567d2433413"}},"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"12.0.1","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"_nodeVersion":"22.23.2","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","remark-gfm":"^4.0.1","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","remark-math":"^6.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0","remark-breaks":"^4.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"tmp":"tmp/remark-flow_1.3.3_1790217555047_0.42756208568553866","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"_id":"remark-flow@1.3.4","bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"dist":{"shasum":"0eb69d20148c2fdd1b4579ae1761e69a6d9ccc15","tarball":"https://registry.npmjs.org/remark-flow/-/remark-flow-1.3.4.tgz","fileCount":35,"integrity":"sha512-MIrWId+fcoOTjF1m711ye1iFuLA7yHT+6nsWV0FM0NE7NSfx9e+WBPjLU4xm3DC8yBMgUxAzNIW7Ig8iYROjKA==","signatures":[{"sig":"MEUCICVclgjn04aJzqQt9mVbgJN31tnzpVQwjWOBKW1xCFN0AiEAgwrmiiS1SaBxWnXlxpMO1MeJoUBJ0MHNaN9Wv1NhzEA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICV9nezwW8Asfxze7a+LWVK+PJELEkUOvSidIOnsYkJ2AiEAx96szas8EQsP0HNLpuMYAd2xaRRodHNvnJz/GUBw8lE="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/remark-flow@1.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107994},"main":"dist/index.js","name":"remark-flow","types":"dist/index.d.ts","author":{"name":"remark-flow contributors"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"5fbd50bc58635e33025f93b2d46665e747c08e0f","license":"MIT","scripts":{"bump":"standard-version","lint":"eslint --max-warnings 10","test":"jest","build":"tsc --build --clean && tsc --build","commit":"cz","format":"prettier --write .","lint:md":"markdownlint *.md","prepare":"husky","lint:fix":"eslint --fix --max-warnings 10","test:watch":"jest --watch","lint-staged":"lint-staged","lint:md:fix":"markdownlint --fix *.md","format:check":"prettier --check .","test:coverage":"jest --coverage","test:pipeline":"npm run build && node --test tests/pipeline/rendering-pipeline.test.mjs","prepublishOnly":"npm run build"},"version":"1.3.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:925f7c1f-13d6-4af6-bdbe-c567d2433413"}},"homepage":"https://github.com/ai-shifu/remark-flow#readme","keywords":["remark","remark-plugin","markdown","custom-variable"],"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"_npmVersion":"12.0.1","description":"Remark plugins for custom button and variable syntax transformation","directories":{},"lint-staged":{"*.md":["markdownlint --fix","prettier --write"],"src/**/*.{css,scss,json}":["prettier --write"],"src/**/*.{js,jsx,ts,tsx,mjs,cjs}":["eslint --fix --max-warnings 10","prettier --write"]},"maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"unist":"^0.0.1","unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","remark":"^15.0.0","ts-jest":"^29.0.0","unified":"^11.0.0","prettier":"^3.6.2","commitizen":"^4.3.0","remark-gfm":"^4.0.1","typescript":"^5.0.0","@types/jest":"^29.0.0","lint-staged":"^16.1.6","remark-math":"^6.0.0","@types/unist":"^3.0.0","remark-parse":"^11.0.0","remark-breaks":"^4.0.0","markdownlint-cli":"^0.45.0","standard-version":"^9.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.42.0","cz-conventional-changelog":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/remark-flow_1.3.4_1790219768021_0.678188258698049"}}},"time":{"created":"2025-08-23T06:36:54.778Z","modified":"2026-09-24T03:16:08.482Z","1.0.0":"2025-08-23T06:36:54.953Z","0.1.0-alpha.1":"2025-08-23T07:54:21.488Z","0.1.0-alpha.2":"2025-08-23T07:56:50.507Z","0.1.0-alpha.3":"2025-08-23T08:03:42.867Z","1.0.0-alpha.3":"2025-08-23T08:07:37.152Z","1.0.0-alpha.4":"2025-08-24T02:07:01.269Z","1.0.0-alpha.6":"2025-08-24T03:06:52.753Z","1.0.0-alpha.7":"2025-08-24T03:25:49.670Z","1.1.0":"2025-09-06T05:14:15.544Z","0.1.1":"2025-09-10T13:58:46.578Z","0.1.2":"2025-09-10T14:02:29.268Z","0.1.3":"2025-09-18T01:52:08.060Z","0.2.0":"2025-09-20T16:47:18.915Z","0.1.4":"2025-09-27T15:01:07.532Z","0.1.5":"2025-09-28T13:57:57.598Z","0.1.6":"2025-10-07T13:58:37.077Z","0.1.3-beta.0":"2025-12-29T08:37:15.145Z","1.2.0":"2026-07-29T10:11:25.967Z","1.2.1-dev.1":"2026-08-31T04:14:51.875Z","1.2.1":"2026-08-31T04:24:26.673Z","1.3.0":"2026-09-23T01:33:51.418Z","1.3.1":"2026-09-23T01:39:50.911Z","1.3.2":"2026-09-23T01:45:27.483Z","1.3.3":"2026-09-24T02:39:15.134Z","1.3.4":"2026-09-24T03:16:08.126Z"},"bugs":{"url":"https://github.com/ai-shifu/remark-flow/issues"},"author":{"name":"remark-flow contributors"},"license":"MIT","homepage":"https://github.com/ai-shifu/remark-flow#readme","keywords":["remark","remark-plugin","markdown","custom-variable"],"repository":{"url":"git+https://github.com/ai-shifu/remark-flow.git","type":"git"},"description":"Remark plugins for custom button and variable syntax transformation","maintainers":[{"name":"sunner_sun","email":"sunner@gmail.com"},{"name":"aichy","email":"aichy66@gmail.com"},{"name":"zhangsan007007","email":"zhanghanhui2000@gmail.com"},{"name":"kunlulu","email":"kunlulu810@gmail.com"}],"readme":"# Remark Flow\n\n**A remark plugin library for parsing [MarkdownFlow](https://markdownflow.ai) documents**\n\n[MarkdownFlow](https://markdownflow.ai) (also known as MDFlow or markdown-flow) extends standard Markdown with AI to create personalized, interactive pages. Its tagline is **\"Write Once, Deliver Personally\"**.\n\n<div align=\"center\">\n\n[![npm version](https://badge.fury.io/js/remark-flow.svg)](https://badge.fury.io/js/remark-flow)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)\n\nEnglish | [简体中文](README_ZH-CN.md)\n\n</div>\n\n## 🚀 Quick Start\n\n### Install\n\n```bash\nnpm install remark-flow\n# or\nyarn add remark-flow\n# or\npnpm add remark-flow\n```\n\n### Basic Usage\n\n```typescript\nimport { remark } from 'remark';\nimport remarkFlow from 'remark-flow';\n\nconst processor = remark().use(remarkFlow);\n\nconst markdown = `\n# Welcome to Interactive Content!\n\nChoose one option: ?[Option A | Option B | Option C]\nChoose multiple skills: ?[%{{skills}} JavaScript||TypeScript||Python]\nEnter your name: ?[%{{username}}...Please enter your name]\n`;\n\nconst result = processor.processSync(markdown);\n// Each ?[...] becomes a structured custom-variable node in the AST\n```\n\n### Advanced Usage\n\n```typescript\nimport { unified } from 'unified';\nimport remarkParse from 'remark-parse';\nimport remarkFlow from 'remark-flow';\nimport remarkStringify from 'remark-stringify';\n\nconst processor = unified()\n  .use(remarkParse)\n  .use(remarkFlow)\n  .use(remarkStringify);\n\nconst result = processor.processSync(`\nSelect theme: ?[%{{theme}} Light//light | Dark//dark | ...custom]\nAction: ?[Save Changes//save | Cancel//cancel]\n`);\n```\n\n## 🧩 Supported Syntax Patterns\n\n### 1. Simple Buttons\n\n```markdown\n?[Submit]\n?[Continue | Cancel]\n?[Yes | No | Maybe]\n```\n\n**Output:** `{ buttonTexts: [\"Yes\", \"No\", \"Maybe\"], buttonValues: [\"Yes\", \"No\", \"Maybe\"], isMultiSelect: false }`\n\nButtons without a variable also support multi-select (`||`) and the `...` text-input suffix:\n\n```markdown\n?[JavaScript||TypeScript||Python]\n?[...Anything to add?]\n?[Option A | Option B | ...Other, please specify]\n```\n\n**Output:** `{ buttonTexts: [...], buttonValues: [...], isMultiSelect: true }`, `{ placeholder: \"Anything to add?\" }`, and `{ buttonTexts: [...], buttonValues: [...], placeholder: \"Other, please specify\", isMultiSelect: false }` respectively. `variableName` stays `undefined` — the answer is not assigned to a variable and should be fed back into the conversation context by the host.\n\n### 2. Custom Button Values\n\n```markdown\n?[Save Changes//save-action]\n?[确定//confirm | 取消//cancel]\n```\n\n**Output:** `{ buttonTexts: [\"Save Changes\"], buttonValues: [\"save-action\"] }`\n\n### 3. Variable Text Input\n\n```markdown\n?[%{{username}}...Enter your name]\n?[%{{age}}...How old are you?]\n?[%{{comment}}...]\n```\n\n**Output:** `{ variableName: \"username\", placeholder: \"Enter your name\" }`\n\n### 4. Variable Button Selection (Single-Select)\n\n```markdown\n?[%{{theme}} Light | Dark]\n?[%{{size}} Small//S | Medium//M | Large//L]\n```\n\n**Output:** `{ variableName: \"theme\", buttonTexts: [\"Light\", \"Dark\"], buttonValues: [\"Light\", \"Dark\"], isMultiSelect: false }`\n\n### 5. Variable Button Selection (Multi-Select)\n\n```markdown\n?[%{{skills}} JavaScript||TypeScript||Python]\n?[%{{lang}} JS//JavaScript||TS//TypeScript||PY//Python]\n```\n\n**Output:** `{ variableName: \"skills\", buttonTexts: [\"JavaScript\", \"TypeScript\", \"Python\"], buttonValues: [\"JavaScript\", \"TypeScript\", \"Python\"], isMultiSelect: true }`\n\n### 6. Combined: Buttons + Text Input\n\n```markdown\n# Single-select with text input\n\n?[%{{size}} Small//S | Medium//M | Large//L | ...custom size]\n\n# Multi-select with text input\n\n?[%{{tags}} React||Vue||Angular||...Other framework]\n```\n\n**Output:**\n\n```typescript\n{\n  variableName: \"size\",\n  buttonTexts: [\"Small\", \"Medium\", \"Large\"],\n  buttonValues: [\"S\", \"M\", \"L\"],\n  placeholder: \"custom size\"\n}\n```\n\n### 7. Separator Priority Rules\n\nThe first separator type encountered determines the parsing mode:\n\n```markdown\n# Single-select mode (| appears first)\n\n?[%{{option}} A | B||C] # Results in: [\"A\", \"B||C\"]\n\n# Multi-select mode (|| appears first)\n\n?[%{{option}} A||B | C] # Results in: [\"A\", \"B | C\"]\n```\n\n**Key Points:**\n\n- `|` = Single-select mode, `||` becomes part of button values\n- `||` = Multi-select mode, `|` becomes part of button values\n- First separator type wins and determines the entire parsing behavior\n\n### 8. Unicode & International Support\n\n```markdown\n?[%{{语言}} English//en | 中文//zh | 日本語//ja]\n?[%{{用户名}}...请输入您的姓名]\n?[👍 Good | 👎 Bad | 🤔 Unsure]\n```\n\n## 📖 API Reference\n\n### Plugin Exports\n\n```typescript\n// Default export (recommended)\nimport remarkFlow from 'remark-flow';\n\n// Named exports\nimport {\n  remarkFlow, // Main plugin, functionally the same as the default export\n  remarkInteraction, // The core plugin, which is also the default export\n  remarkCustomVariable, // Variable-focused plugin\n  createInteractionParser, // Parser factory\n  InteractionType, // Type enums\n} from 'remark-flow';\n```\n\n### Output Format\n\nAll plugins transform `?[...]` syntax into `custom-variable` AST nodes:\n\n```typescript\ninterface CustomVariableNode extends Node {\n  type: 'custom-variable';\n  data: {\n    variableName?: string; // For %{{name}} syntax\n    buttonTexts?: string[]; // Button display text\n    buttonValues?: string[]; // Corresponding button values\n    placeholder?: string; // Text input placeholder\n  };\n}\n```\n\n### Parser API\n\n```typescript\nimport { createInteractionParser, InteractionType } from 'remark-flow';\n\nconst parser = createInteractionParser();\n\n// Parse content and get detailed result\nconst result = parser.parse('?[%{{theme}} Light | Dark]');\n\n// Parse and convert to remark-compatible format\nconst remarkData = parser.parseToRemarkFormat('?[%{{theme}} Light | Dark]');\n```\n\n## 🔗 Usage Examples\n\nremark-flow can be used in two main ways:\n\n1. **Standalone** - Parse and transform syntax, then render with your own UI components\n2. **With markdown-flow-ui** - Use the pre-built React components for instant interactive UI\n\n### 🎯 Standalone Usage (Custom Rendering)\n\nWhen using remark-flow standalone, you parse the syntax and create your own UI components based on the AST nodes.\n\n#### Basic AST Transformation\n\n```typescript\nimport { remark } from 'remark';\nimport { visit } from 'unist-util-visit';\nimport remarkFlow from 'remark-flow';\nimport type { Node } from 'unist';\n\nconst processor = remark().use(remarkFlow);\n\nconst markdown = `\n# Choose Your Preferences\n\nSelect language: ?[%{{language}} JavaScript | Python | TypeScript | Go]\nEnter your name: ?[%{{username}}...Your full name]\nAction: ?[Save//save | Cancel//cancel]\n`;\n\n// Parse and examine the AST\nconst ast = processor.parse(markdown);\nprocessor.runSync(ast);\n\n// Find custom-variable nodes\nvisit(ast, 'custom-variable', (node: any) => {\n  console.log('Found interaction:', node.data);\n  // Output: { variableName: 'language', buttonTexts: ['JavaScript', 'Python', 'TypeScript', 'Go'], buttonValues: [...] }\n});\n```\n\n#### Custom HTML Renderer\n\n```typescript\nimport { visit } from 'unist-util-visit';\nimport { remark } from 'remark';\nimport remarkHtml from 'remark-html';\n\nfunction createCustomRenderer() {\n  return (tree: Node) => {\n    visit(tree, 'custom-variable', (node: any) => {\n      const { variableName, buttonTexts, buttonValues, placeholder } =\n        node.data;\n\n      if (buttonTexts && buttonTexts.length > 0) {\n        // Render as button group\n        const buttonsHtml = buttonTexts\n          .map((text, i) => {\n            const value = buttonValues?.[i] || text;\n            return `<button onclick=\"selectOption('${variableName}', '${value}')\" class=\"interactive-btn\">\n              ${text}\n            </button>`;\n          })\n          .join('');\n\n        node.type = 'html';\n        node.value = `\n          <div class=\"button-group\" data-variable=\"${variableName}\">\n            ${buttonsHtml}\n          </div>\n        `;\n      } else if (placeholder) {\n        // Render as text input\n        node.type = 'html';\n        node.value = `\n          <div class=\"input-group\">\n            <label for=\"${variableName}\">${placeholder}</label>\n            <input\n              id=\"${variableName}\"\n              name=\"${variableName}\"\n              placeholder=\"${placeholder}\"\n              class=\"interactive-input\"\n            />\n          </div>\n        `;\n      }\n    });\n  };\n}\n\n// Use with remark processor\nconst processor = remark()\n  .use(remarkFlow)\n  .use(createCustomRenderer)\n  .use(remarkHtml);\n\nconst result = processor.processSync(markdown);\nconsole.log(result.toString()); // HTML with custom interactive elements\n```\n\n#### React Custom Components\n\n```typescript\nimport React from 'react';\nimport { remark } from 'remark';\nimport remarkReact from 'remark-react';\nimport remarkFlow from 'remark-flow';\n\n// Custom React components for interactive elements\nconst InteractiveButton = ({ variableName, buttonTexts, buttonValues, onSelect }) => (\n  <div className=\"flex gap-2\">\n    {buttonTexts.map((text, i) => (\n      <button\n        key={i}\n        onClick={() => onSelect(variableName, buttonValues[i])}\n        className=\"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600\"\n      >\n        {text}\n      </button>\n    ))}\n  </div>\n);\n\nconst InteractiveInput = ({ variableName, placeholder, onInput }) => (\n  <div className=\"my-2\">\n    <input\n      type=\"text\"\n      placeholder={placeholder}\n      onChange={(e) => onInput(variableName, e.target.value)}\n      className=\"border border-gray-300 rounded px-3 py-2 w-full\"\n    />\n  </div>\n);\n\n// Usage in React component\nfunction CustomMarkdownRenderer() {\n  const handleInteraction = (variableName, value) => {\n    console.log(`${variableName}: ${value}`);\n    // Handle user interaction\n  };\n\n  const processor = remark()\n    .use(remarkFlow)\n    .use(remarkReact, {\n      remarkReactComponents: {\n        'custom-variable': ({ node }) => {\n          const { variableName, buttonTexts, buttonValues, placeholder } = node.data;\n\n          if (buttonTexts?.length > 0) {\n            return (\n              <InteractiveButton\n                variableName={variableName}\n                buttonTexts={buttonTexts}\n                buttonValues={buttonValues}\n                onSelect={handleInteraction}\n              />\n            );\n          }\n\n          if (placeholder) {\n            return (\n              <InteractiveInput\n                variableName={variableName}\n                placeholder={placeholder}\n                onInput={handleInteraction}\n              />\n            );\n          }\n\n          return null;\n        },\n      },\n    });\n\n  const content = `\n  # Interactive Form\n\n  Choose language: ?[%{{lang}} English | 中文 | Español]\n  Your name: ?[%{{name}}...Enter your name]\n  Action: ?[Submit//submit | Reset//reset]\n  `;\n\n  return <div>{processor.processSync(content).result}</div>;\n}\n```\n\n### 🎨 With markdown-flow-ui (Pre-built Components)\n\nFor a complete React component library with ready-to-use interactive components, use [markdown-flow-ui](https://github.com/ai-shifu/markdown-flow-ui).\n\n#### Basic Integration\n\n```typescript\nimport { MarkdownFlow } from 'markdown-flow-ui';\n\nfunction InteractiveChat() {\n  const content = `\n  # Welcome! 👋\n\n  Select your preference: ?[%{{language}} JavaScript | Python | TypeScript]\n  Enter your name: ?[%{{username}}...Your full name]\n  Ready to start: ?[Let's Go!//start]\n  `;\n\n  return (\n    <MarkdownFlow\n      initialContentList={[{ content }]}\n      onSend={(data) => {\n        console.log('User interaction:', data);\n        // Handle user interactions\n      }}\n      typingSpeed={30}\n    />\n  );\n}\n```\n\n**For advanced examples with streaming, multi-step forms, and more features, see:**\n\n- 📖 [markdown-flow-ui Documentation](https://github.com/ai-shifu/markdown-flow-ui#readme)\n\n### 📊 Comparison: Standalone vs markdown-flow-ui\n\n| Aspect                | Standalone Usage                   | With markdown-flow-ui                  |\n| --------------------- | ---------------------------------- | -------------------------------------- |\n| **Setup Complexity**  | Medium - Need custom rendering     | Low - Pre-built components             |\n| **Customization**     | High - Full control over UI        | Medium - Theme/style customization     |\n| **Bundle Size**       | Smaller - Only remark plugin       | Larger - Full React component library  |\n| **Framework Support** | Any (React, Vue, vanilla JS, etc.) | React only                             |\n| **Advanced Features** | Manual implementation needed       | Built-in (streaming, typewriter, etc.) |\n| **Use Case**          | Custom UI requirements, non-React  | Rapid prototyping, React projects      |\n\n## 🌐 MarkdownFlow Ecosystem\n\nremark-flow is part of the MarkdownFlow ecosystem for creating personalized, AI-driven interactive documents:\n\n- **[markdown-flow](https://github.com/ai-shifu/markdown-flow)** - The main repository containing homepage, documentation, and interactive playground\n- **[markdown-flow-agent-py](https://github.com/ai-shifu/markdown-flow-agent-py)** - Python agent for transforming MarkdownFlow documents into personalized content\n- **[remark-flow](https://github.com/ai-shifu/remark-flow)** - Remark plugin to parse and process MarkdownFlow syntax in React applications\n- **[markdown-flow-ui](https://github.com/ai-shifu/markdown-flow-ui)** - React component library for rendering interactive MarkdownFlow documents\n\n## 💖 Sponsors\n\n<div align=\"center\">\n  <a href=\"https://ai-shifu.com\">\n    <img src=\"https://raw.githubusercontent.com/ai-shifu/ai-shifu/main/assets/logo_en.png\" alt=\"AI-Shifu\" width=\"150\" />\n  </a>\n  <p><strong><a href=\"https://ai-shifu.com\">AI-Shifu.com</a></strong></p>\n  <p>AI-powered personalized learning platform</p>\n</div>\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [Remark](https://remark.js.org/) for markdown processing\n- [Unified](https://unifiedjs.com/) for the plugin architecture\n- [Unist](https://github.com/syntax-tree/unist) for AST utilities\n- [TypeScript](https://www.typescriptlang.org/) for type safety\n- [Jest](https://jestjs.io/) for testing framework\n\n## 📞 Support\n\n- 📖 [Documentation](https://github.com/ai-shifu/remark-flow#readme)\n- 🐛 [Issue Tracker](https://github.com/ai-shifu/remark-flow/issues)\n- 💬 [Discussions](https://github.com/ai-shifu/remark-flow/discussions)\n","readmeFilename":"README.md"}