{"_id":"@canalplus/readme.doc","_rev":"6-00a28fd180f4323df8d1e764b3da2100","name":"@canalplus/readme.doc","dist-tags":{"latest":"0.6.1"},"versions":{"0.3.0":{"name":"@canalplus/readme.doc","version":"0.3.0","author":{"name":"peaberberian"},"license":"WTFPL","_id":"@canalplus/readme.doc@0.3.0","maintainers":[{"name":"peaberberian","email":"peaberberian@gmail.com"}],"bin":{"readme.doc":"build/index.js"},"dist":{"shasum":"dfd1124e3b039193be74afd4be0ea1ed743602d8","tarball":"https://registry.npmjs.org/@canalplus/readme.doc/-/readme.doc-0.3.0.tgz","fileCount":36,"integrity":"sha512-MVTz6iJs8a0KucpheT37gLADqyFTTk3PRaf95g5MRduRSwangwE4zq3306QtUId8dPuTLPXxWGUyULY00jmeRw==","signatures":[{"sig":"MEQCIE84MrxHUh5V57hZmHGKcGyUqy7LpFxBUdU2D6lNsNWGAiAO8rB311JosWSNz9LgV3fLmnGfMEUVsBxBkcMTGE5L1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414362},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"2c18b411a5a45afa72daa355a35621eb19cca0b7","scripts":{"fmt":"prettier src/* --write src","build":"tsc"},"_npmUser":{"name":"peaberberian","email":"peaberberian@gmail.com"},"_npmVersion":"9.8.1","description":"Readme's an Extremely Accessible Documentation MakEr","directories":{},"_nodeVersion":"18.8.0","dependencies":{"cheerio":"1.0.0-rc.12","markdown-it":"13.0.1","highlight.js":"11.7.0","html-entities":"2.3.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.8.7","typescript":"^5.0.4","@types/node":"^18.15.11","@types/markdown-it":"^12.2.3"},"_npmOperationalInternal":{"tmp":"tmp/readme.doc_0.3.0_1700652938366_0.021395910497035597","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@canalplus/readme.doc","version":"0.5.0","author":{"name":"peaberberian"},"license":"WTFPL","_id":"@canalplus/readme.doc@0.5.0","maintainers":[{"name":"peaberberian","email":"paul.berberian+npm@proton.me"}],"homepage":"https://github.com/canalplus/README#readme","bugs":{"url":"https://github.com/canalplus/README/issues"},"bin":{"readme.doc":"build/index.js"},"dist":{"shasum":"5cb5d610a46b12fbf9921f35b087a19b7952027d","tarball":"https://registry.npmjs.org/@canalplus/readme.doc/-/readme.doc-0.5.0.tgz","fileCount":57,"integrity":"sha512-Zo21qd347E/AtVT8bYfyp/dA7zrWcRdmDpt4MT1q1oJJg2SShv3IzLOHG/iGBcIjbBhTkllzTEz6QSwPPCM6Qg==","signatures":[{"sig":"MEQCIBicPlcTaP5IBrFneCI2kZWepGosUpWm80NM/QtZY3qPAiBHA0o5t1o7M5LJ4qfj2nQ9yjRD8/dPds12CyI4LYHbKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":467408},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"3d838dbb1f13cb76cdc292bff83cc02e7b7c37db","scripts":{"doc":"node build/index.js --clean --input doc --output doc-build -p `npm run --silent getVersion`","fmt":"prettier src/* --write src","lint":"eslint src/**","build":"npm run generateVersionFile && tsc","clean":"rimraf doc-build","getVersion":"node -e \"console.log(require('./package.json').version)\"","generateVersionFile":"echo \"export default \\\"$(npm --silent run getVersion)\\\";\" > src/version.ts"},"_npmUser":{"name":"peaberberian","email":"paul.berberian+npm@proton.me"},"repository":{"url":"git+https://github.com/canalplus/README.git","type":"git"},"_npmVersion":"10.4.0","description":"Readme's an Extremely Accessible Documentation MakEr","directories":{},"_nodeVersion":"21.6.1","dependencies":{"rimraf":"^5.0.5","cheerio":"1.0.0-rc.12","markdown-it":"14.0.0","highlight.js":"11.9.0","html-entities":"2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","prettier":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.11.8","@types/markdown-it":"^13.0.7","eslint-plugin-jsdoc":"^48.0.4","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/eslint-plugin":"^6.19.1"},"_npmOperationalInternal":{"tmp":"tmp/readme.doc_0.5.0_1706554363756_0.39711184089732976","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@canalplus/readme.doc","version":"0.6.0","author":{"name":"peaberberian"},"license":"WTFPL","_id":"@canalplus/readme.doc@0.6.0","maintainers":[{"name":"peaberberian","email":"paul.berberian+npm@proton.me"}],"homepage":"https://github.com/canalplus/README#readme","bugs":{"url":"https://github.com/canalplus/README/issues"},"bin":{"readme.doc":"build/index.js"},"dist":{"shasum":"e8983674a39a045b29c1d6518dd18af0b6ec7e6c","tarball":"https://registry.npmjs.org/@canalplus/readme.doc/-/readme.doc-0.6.0.tgz","fileCount":60,"integrity":"sha512-4dSSODejmw2dTGC7tezATk74QmiE0VkJC4F4uEZzVQ+pAkq6NBIShFRCEx9UqY+olq6why0KpGvp5Qbwvo1Skw==","signatures":[{"sig":"MEUCIE3kXN7yzLEXZpO52jGMBCb16scsADQYcXTattBV7PW2AiEA8vbTktwqOZd9Pxk3BkuwPa1g9tIgd95mXmhzSITk3f0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517049},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"9cd5faea29500d8ad168963eb8939ed8961fd32d","scripts":{"doc":"node build/index.js --clean --input doc --output doc-build -p `npm run --silent getVersion`","fmt":"prettier --write .","lint":"eslint src/**","build":"npm run generateVersionFile && tsc","clean":"rimraf doc-build","getVersion":"node -e \"console.log(require('./package.json').version)\"","check:types":"tsc --noEmit --project .","generateVersionFile":"echo \"export default \\\"$(npm --silent run getVersion)\\\";\" > src/version.ts"},"_npmUser":{"name":"peaberberian","email":"paul.berberian+npm@proton.me"},"repository":{"url":"git+https://github.com/canalplus/README.git","type":"git"},"_npmVersion":"11.1.0","description":"Readme's an Extremely Accessible Documentation MakEr","directories":{},"_nodeVersion":"23.7.0","dependencies":{"rimraf":"^5.0.5","cheerio":"1.0.0-rc.12","markdown-it":"14.0.0","highlight.js":"11.9.0","html-entities":"2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","prettier":"^3.4.2","typescript":"^5.3.3","@types/node":"^20.11.8","@types/markdown-it":"^13.0.7","eslint-plugin-jsdoc":"^48.0.4","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","@typescript-eslint/eslint-plugin":"^6.19.1"},"_npmOperationalInternal":{"tmp":"tmp/readme.doc_0.6.0_1738835261771_0.03814653142654523","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@canalplus/readme.doc","type":"module","version":"0.6.1","description":"Readme's an Extremely Accessible Documentation MakEr","bin":{"readme.doc":"build/index.js"},"main":"build/index.js","scripts":{"build":"npm run generateVersionFile && tsc","check:types":"tsc --noEmit --project .","clean":"node -e \"require('fs').rmSync('doc-build', { recursive: true, force: true })\"","doc":"node build/index.js --clean --input doc --output doc-build -p `npm run --silent getVersion`","fmt":"prettier --write .","generateVersionFile":"echo \"export default \\\"$(npm --silent run getVersion)\\\";\" > src/version.ts","getVersion":"node -e \"console.log(require('./package.json').version)\"","lint":"eslint src/**"},"repository":{"type":"git","url":"git+https://github.com/canalplus/README.git"},"author":{"name":"peaberberian"},"license":"WTFPL","dependencies":{"cheerio":"1.2.0","highlight.js":"11.11.1","html-entities":"2.6.0","markdown-it":"^14.1.1"},"devDependencies":{"@types/markdown-it":"^14.1.2","@types/node":"^26.1.2","@typescript-eslint/eslint-plugin":"^8.66.0","@typescript-eslint/parser":"^8.66.0","eslint":"^8.57.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-jsdoc":"^48.0.4","prettier":"^3.9.6","typescript":"^6.0.0"},"types":"./build/index.d.ts","gitHead":"a1815ff4cb9478c16c562539390efec96f77760a","_id":"@canalplus/readme.doc@0.6.1","bugs":{"url":"https://github.com/canalplus/README/issues"},"homepage":"https://github.com/canalplus/README#readme","_nodeVersion":"26.5.1","_npmVersion":"12.0.2","dist":{"integrity":"sha512-Tf+hWEFonM+MMCrxHHscLwmFDGf2PMEu52DVFw7v/CvpvSSPO3CfhJZSy8beXUA7dtEJbvHVLY6pKcpDzHrrkw==","shasum":"78a2b20616abcd1a9490f6b31f021a84bb3c0255","tarball":"https://registry.npmjs.org/@canalplus/readme.doc/-/readme.doc-0.6.1.tgz","fileCount":60,"unpackedSize":524453,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCmk5BjCfv9DAta2yQQmSm9L548PpU7hvhLg2nBxpeSewIgTI/SExyj33q4Xq0z6UblO4D80lHHMSXS8P2Zl/LkRZY="}]},"_npmUser":{"name":"peaberberian","email":"paul.berberian+npm@proton.me"},"directories":{},"maintainers":[{"name":"peaberberian","email":"paul.berberian+npm@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/readme.doc_0.6.1_1785955793467_0.6004881709304444"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-22T11:35:38.218Z","modified":"2026-08-05T18:49:53.811Z","0.3.0":"2023-11-22T11:35:38.710Z","0.4.0":"2024-01-29T18:26:28.007Z","0.5.0":"2024-01-29T18:52:43.977Z","0.6.0":"2025-02-06T09:47:42.057Z","0.6.1":"2026-08-05T18:49:53.631Z"},"bugs":{"url":"https://github.com/canalplus/README/issues"},"author":{"name":"peaberberian"},"license":"WTFPL","homepage":"https://github.com/canalplus/README#readme","repository":{"type":"git","url":"git+https://github.com/canalplus/README.git"},"description":"Readme's an Extremely Accessible Documentation MakEr","maintainers":[{"name":"peaberberian","email":"paul.berberian+npm@proton.me"}],"readme":"# README\n\nREADME (for Readme's an Extremely Accessible Documentation MakEr) is a very\nsimple HTML documentation generator whose goal is to be as pain-free as possible\nto put in place, maintain and navigate.\n\n<div style=\"text-align:center; width:100%\">\n<img style=\"max-width:600px\" alt=\"Screenshot of a generated documentation\" src=\"./screenshot.png\">\n<br>\n<i>Example of the output generated by README</i>\n<br>\n<br>\n</div>\n\nThe basic idea is that you can just write your own documentation as markdown\nfiles with no specific syntax on top of it. Those files can then consequently be\nread and updated directly in an editor with no tool-specific knowledge and also\nbe displayed in various tools doing markdown formatting (e.g. editor plugins,\nGitHub's interface for source files...).\n\n<div style=\"text-align:center; width:100%\">\n<img style=\"max-width:500px\" alt=\"Markdown input example for README\" src=\"./source.png\">\n<br>\n<i>Markdown source file for the previous example</i>\n<br>\n<br>\n</div>\n\n`README` can then produce an HTML documentation from it, keeping the same file\nstructure, by adding a few `.docConfig.json` files in the directories\nalready-exposing your documentation.\n\n## Example\n\nIf you want to see an example of the pages generated by that tool, you can look\nat the\n[RxPlayer's documentation](https://developers.canal-plus.com/rx-player/doc/Getting_Started/Welcome.html)\nand compare it to its\n[original markdown files](https://github.com/canalplus/rx-player/tree/master/doc/Getting_Started).\n\nYou can also look at\n[README's own documentation](https://peaberberian.github.io/README/doc/Getting_Started/Home.html)\nand compare it to its\n[original markdown files](https://github.com/canalplus/README/tree/main/doc/Getting_Started).\n\n## Installation\n\nTo rely on README, you need to have Node.js and a node package manager installed\n(a default one, `npm`, will probably be automatically installed with Node.js).\n\nThe README project is published under the `@canalplus/readme.doc` name on npm:\n\n```sh\nnpm install @canalplus/readme.doc --save-dev\n```\n\nOr through yarn:\n\n```sh\nyarn add @canalplus/readme.doc --dev\n```\n\nIt is then runnable (e.g. as an npm script in your `package.json` or through\n`npx`) through the `readme.doc` name:\n\n```sh\nreadme.doc --version\n```\n\n## How to use it\n\nSee our\n[complete documentation](https://peaberberian.github.io/README/doc/Getting_Started/Home.html)\n(which is itself generated with README :)!)\n\n## Why a new documentation generator\n\nWe're also working on the [RxPlayer](https://github.com/canalplus/rx-player/)\nproject, an adaptive media player library with a relatively complex and\ntechnical API. As its API is large and has many complex behaviors, we decided\nthat having an intelligible, large and useful documentation was a central goal\nof this project.\n\nConsequently, we put special care on how that documentation can be read, updated\nand presented. In that process we tried several other documentation generators,\namong them:\n\n- `docusaurus` was too huge, complex, tightly-linked to other solutions like\n  react and algolia (at least last time we checked) and it added its own syntax\n  on top of markdown.\n\n  We would prefer a simple tool and also be able to look to the original\n  markdown files with no such supplementary syntax.\n\n- `docsify` runs JavaScript to translate markdown on the fly. We would prefer to\n  have the HTML files already generated and also make our documentation\n  accessible to those who do not enable JavaScript.\n\nWe ended up finding that improving on our initially minimalist homemade\ndocumentation generator by picking some of the interesting features of other\ngenerators (documentation page list on the left, table of contents on the right,\nsoft navigation for loading-free page switching, search feature relying on a\nlocally-loaded index etc.) was relatively straightforward, hence `README.js`.\n\nIt was initially present inside the RxPlayer's repository, but we found that it\nmade more sense to externalize that code and its dependencies through another\nrepository once it became large enough, with the goal of letting it generate the\ndocumentation of other tools.\n","readmeFilename":"README.md"}