{"id":16357789,"url":"https://github.com/docsbydoxdox/doxdox","last_synced_at":"2025-12-16T15:00:16.707Z","repository":{"id":19298446,"uuid":"22535845","full_name":"docsbydoxdox/doxdox","owner":"docsbydoxdox","description":"📘 JSDoc to Markdown, Bootstrap, and custom JavaScript template documentation generator.","archived":false,"fork":false,"pushed_at":"2025-05-20T03:53:40.000Z","size":6449,"stargazers_count":166,"open_issues_count":8,"forks_count":17,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-12-12T21:13:56.143Z","etag":null,"topics":["documentation","dox","javascript","jsdoc"],"latest_commit_sha":null,"homepage":"https://doxdox.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/docsbydoxdox.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"scottdoxey"}},"created_at":"2014-08-02T01:38:42.000Z","updated_at":"2025-12-07T11:58:37.000Z","dependencies_parsed_at":"2023-07-18T08:31:34.597Z","dependency_job_id":"ba03d108-c4e0-474c-8703-f68d5fc65c57","html_url":"https://github.com/docsbydoxdox/doxdox","commit_stats":{"total_commits":680,"total_committers":5,"mean_commits":136.0,"dds":"0.038235294117647034","last_synced_commit":"c5afce4db847e3d776635a59e5fb89ca252a6d1c"},"previous_names":["neogeek/doxdox"],"tags_count":69,"template":false,"template_full_name":null,"purl":"pkg:github/docsbydoxdox/doxdox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docsbydoxdox%2Fdoxdox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docsbydoxdox%2Fdoxdox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docsbydoxdox%2Fdoxdox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docsbydoxdox%2Fdoxdox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/docsbydoxdox","download_url":"https://codeload.github.com/docsbydoxdox/doxdox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docsbydoxdox%2Fdoxdox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27766779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-16T02:00:10.477Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","dox","javascript","jsdoc"],"created_at":"2024-10-11T02:04:07.122Z","updated_at":"2025-12-16T15:00:16.672Z","avatar_url":"https://github.com/docsbydoxdox.png","language":"TypeScript","funding_links":["https://ko-fi.com/scottdoxey"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003e ⚠️ Notice: This repository is undergoing a massive rewrite. Things will be missing, broken, or incomplete as development continues.\n\n![doxdox](cover.png)\n\n[![Tests](https://github.com/docsbydoxdox/doxdox/actions/workflows/test.workflow.yml/badge.svg)](https://github.com/docsbydoxdox/doxdox/actions/workflows/test.workflow.yml)\n[![NPM version](https://img.shields.io/npm/v/doxdox?style=flat-square)](https://www.npmjs.org/package/doxdox)\n[![NPM downloads per month](https://img.shields.io/npm/dm/doxdox?style=flat-square)](https://www.npmjs.org/package/doxdox)\n[![doxdox documentation](https://img.shields.io/badge/doxdox-documentation-%23E85E95?style=flat-square)](https://doxdox.org)\n[![Join the chat at https://discord.gg/nNtFsfd](https://img.shields.io/badge/discord-join%20chat-7289DA.svg)](https://discord.gg/nNtFsfd)\n\n\u003e Documentation, simple.\n\ndoxdox is a simple to use documentation generator that takes [JSDoc](https://jsdoc.app/) comment blocks and generates different documentation formats; [Markdown](https://daringfireball.net/projects/markdown), [Bootstrap](https://getbootstrap.com/), [GitHub Wiki](https://docs.github.com/en/communities/documenting-your-project-with-wikis/about-wikis), and other custom plugins.\n\ndoxdox also features support for extendibility via custom plugins for both parsing and generating documentation.\n\n## Example\n\n### In\n\n```javascript\n/**\n * Request content from URL or array of URLs.\n *\n * @example fetch('http://www.google.com/humans.txt').then(content =\u003e console.log(content));\n * @example fetch(['http://www.google.com/humans.txt']).then(contents =\u003e console.log(content[0]));\n * @param {String|String[]} urls A URL or an array of URL strings.\n * @param {Object} [options] Options object.\n * @param {String} [options.cacheDirectory] Directory to store cache. Default is `temp/cache/`.\n * @param {Object} [options.requestOptions] Custom request options object. Default is `{}`.\n * @param {Number} [options.ttl] TTL (Time to live) in seconds. Default is 1800\n * @return {Promise\u003cString[]\u003e} Contents of request as an array.\n * @public\n */\n```\n\n### Out\n\n![](screenshot.jpg)\n\n## Install\n\n### Globally\n\n```bash\n$ npm install doxdox-cli@v4.0.0-preview.25 -g\n```\n\n### Locally\n\n```bash\n$ npm install doxdox-cli@v4.0.0-preview.25 --save-dev\n```\n\n## Usage\n\n### CLI\n\n```bash\n$ doxdox '**/*.js'\n```\n\n#### Custom Meta Information\n\n##### Name\n\n```bash\n$ doxdox '**/*.js' --name \"doxdox-next\"\n```\n\n##### Description\n\n```bash\n$ doxdox '**/*.js' --description \"Preview release of the doxdox package\"\n```\n\n#### Ignore\n\nFiles can be ignored via the command line.\n\n```bash\n$ doxdox '**/*.js' --ignore tests/**/*.js\n```\n\n```bash\n$ doxdox '**/*.js' --ignore **/*.test.js\n```\n\nThey can also be ignored via a `.doxdoxignore` file. This file is similar in format to `.gitignore` and `.npmignore`.\n\n```\ntests/**/*.js\n**/*.test.js\n```\n\n#### Output\n\n##### File\n\n```bash\n$ doxdox '**/*.js' --output docs.md\n```\n\n##### Stdout\n\n```bash\n$ doxdox '**/*.js' \u003e docs.md\n```\n\n#### Renderers\n\n##### Markdown\n\nFor more information on Markdown visit \u003chttps://daringfireball.net/projects/markdown\u003e.\n\n```bash\n$ doxdox '**/*.js' --renderer markdown --output docs.md\n```\n\n##### Bootstrap\n\nFor more information on Bootstrap visit \u003chttps://getbootstrap.com\u003e.\n\n```bash\n$ doxdox '**/*.js' --renderer bootstrap --output docs.html\n```\n\n#### JSON\n\n```bash\n$ doxdox '**/*.js' --renderer json --output docs.json\n```\n\n#### Help\n\n```\nUsage: doxdox \u003cpath\u003e ... [options]\n\nOptions:\n\n -h, --help             Display this help message.\n -v, --version          Display the current installed version.\n -n, --name             Sets name of project.\n -d, --description      Sets description of project.\n -i, --ignore           Comma separated list of paths to ignore.\n -l, --parser           Parser used to parse the source files with. Defaults to jsdoc.\n -r, --renderer         Renderer to generate the documentation with. Defaults to Markdown.\n -o, --output           File to save documentation to. Defaults to stdout.\n -p, --package          Sets location of package.json file.\n\nIncluded Layouts:\n\n - Markdown (default)    (https://daringfireball.net/projects/markdown)\n - Bootstrap             (https://getbootstrap.com)\n - JSON\n```\n\n### NPM Run Scripts\n\nFor more information on NPM run scripts visit \u003chttps://docs.npmjs.com/cli/v8/commands/npm-run-script\u003e.\n\n```bash\n$ npm install doxdox-cli@v4.0.0-preview.25 --save-dev\n```\n\n```json\n{\n  \"devDependencies\": {\n    \"doxdox\": \"4.0.0-preview.14\"\n  },\n  \"scripts\": {\n    \"docs\": \"doxdox 'lib/**/*.js' --renderer markdown --output DOCUMENTATION.md\"\n  }\n}\n```\n\n```bash\n$ npm run docs\n```\n\n### JavaScript\n\n\u003e Note: To use doxdox in this way you must add `\"type\": \"module\"` to your `package.json` file.\n\n```javascript\nimport doxdox from 'doxdox';\n\nimport parser from 'doxdox-parser-jsdoc';\n\nimport renderer from 'doxdox-renderer-markdown';\n\ndoxdox(\n  process.cwd(),\n  ['lib/index.js', 'lib/loaders.js', 'lib/utils.js'],\n  parser,\n  renderer,\n  {\n    name: 'doxdox-example',\n    description: 'Description of doxdox example.'\n  }\n).then(output =\u003e {\n  process.stdout.write(output);\n});\n```\n\n### Next.js\n\n\u003e Note: To use doxdox in this way you must add `\"type\": \"module\"` to your `package.json` file.\n\n```typescript\nimport type { NextPage } from 'next';\n\nimport doxdox from 'doxdox';\n\nimport parser from 'doxdox-parser-jsdoc';\n\nimport renderer from 'doxdox-renderer-bootstrap';\n\nexport const getServerSideProps = async () =\u003e {\n  const docs = await doxdox(\n    process.cwd(),\n    ['lib/index.js', 'lib/loaders.js', 'lib/utils.js'],\n    parser,\n    renderer,\n    {\n      name: 'doxdox-example',\n      description: 'Description of doxdox example.'\n    }\n  );\n\n  return { props: { docs } };\n};\n\nconst Docs: NextPage\u003c{\n  docs: string;\n}\u003e = ({ docs }) =\u003e {\n  return \u003cdiv dangerouslySetInnerHTML={{ __html: docs }}\u003e\u003c/div\u003e;\n};\n\nexport default Docs;\n```\n\n### Custom Renderer\n\n\u003e Note: To use doxdox in this way you must add `\"type\": \"module\"` to your `package.json` file.\n\n```javascript\nexport default async doc =\u003e JSON.stringify(doc);\n```\n\n```bash\ndoxdox -r renderer.js\n```\n\n## Plugins\n\n### Parsers\n\n#### Default Parsers\n\n\u003e The following parsers are bundled with `doxdox`.\n\n| Name                                                   | Description              | Version                                                                                                                                 |\n| ------------------------------------------------------ | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |\n| [doxdox-parser-jsdoc](./packages/doxdox-parser-jsdoc/) | JSDoc parser for doxdox. | [![NPM version](https://img.shields.io/npm/v/doxdox-parser-jsdoc?style=flat-square)](https://www.npmjs.org/package/doxdox-parser-jsdoc) |\n\nA template for creating your own parser [doxdox-parser-template](./packages/doxdox-parser-template/).\n\n#### Optional Parsers\n\n\u003e The following parsers are not bundled with `doxdox` and must be installed separately.\n\n| Name                                               | Description            | Version                                                                                                                             |\n| -------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |\n| [doxdox-parser-dox](./packages/doxdox-parser-dox/) | dox parser for doxdox. | [![NPM version](https://img.shields.io/npm/v/doxdox-parser-dox?style=flat-square)](https://www.npmjs.org/package/doxdox-parser-dox) |\n\n### Renderers\n\n#### Default Renderers\n\n\u003e The following renderers are bundled with `doxdox`.\n\n| Name                                                               | Description                    | Version                                                                                                                                             |\n| ------------------------------------------------------------------ | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [doxdox-renderer-bootstrap](./packages/doxdox-renderer-bootstrap/) | Bootstrap renderer for doxdox. | [![NPM version](https://img.shields.io/npm/v/doxdox-renderer-bootstrap?style=flat-square)](https://www.npmjs.org/package/doxdox-renderer-bootstrap) |\n| [doxdox-renderer-json](./packages/doxdox-renderer-json/)           | JSON renderer for doxdox.      | [![NPM version](https://img.shields.io/npm/v/doxdox-renderer-json?style=flat-square)](https://www.npmjs.org/package/doxdox-renderer-json)           |\n| [doxdox-renderer-markdown](./packages/doxdox-renderer-markdown/)   | Markdown renderer for doxdox.  | [![NPM version](https://img.shields.io/npm/v/doxdox-renderer-markdown?style=flat-square)](https://www.npmjs.org/package/doxdox-renderer-markdown)   |\n\nA template for creating your own renderer [doxdox-renderer-template](./packages/doxdox-renderer-template/).\n\n#### Optional Renderers\n\n\u003e The following renderers are not bundled with `doxdox` and must be installed separately.\n\n| Name                                                                   | Description                      | Version                                                                                                                                                 |\n| ---------------------------------------------------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [doxdox-renderer-dash](./packages/doxdox-renderer-dash/)               | Dash renderer for doxdox.        | [![NPM version](https://img.shields.io/npm/v/doxdox-renderer-dash?style=flat-square)](https://www.npmjs.org/package/doxdox-renderer-dash)               |\n| [doxdox-renderer-github-wiki](./packages/doxdox-renderer-github-wiki/) | GitHub Wiki renderer for doxdox. | [![NPM version](https://img.shields.io/npm/v/doxdox-renderer-github-wiki?style=flat-square)](https://www.npmjs.org/package/doxdox-renderer-github-wiki) |\n| [doxdox-renderer-pdf](./packages/doxdox-renderer-pdf/)                 | PDF renderer for doxdox.         | [![NPM version](https://img.shields.io/npm/v/doxdox-renderer-pdf?style=flat-square)](https://www.npmjs.org/package/doxdox-renderer-pdf)                 |\n\n## Questions\n\nIf you have any questions regarding the use of doxdox, please use either [GitHub Discussions](https://github.com/docsbydoxdox/doxdox/discussions/) or [Stack Overflow](https://stackoverflow.com/questions/ask?tags=doxdox). The issue tracker is to be used for bug reports and feature requests only.\n\n## Contributing\n\nBe sure to review the [Contributing Guidelines](./CONTRIBUTING.md) before logging an issue or making a pull request.\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocsbydoxdox%2Fdoxdox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdocsbydoxdox%2Fdoxdox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocsbydoxdox%2Fdoxdox/lists"}