{"id":15640609,"url":"https://github.com/ph1p/vuepress-jsdoc","last_synced_at":"2025-08-10T11:16:50.743Z","repository":{"id":32078035,"uuid":"131518302","full_name":"ph1p/vuepress-jsdoc","owner":"ph1p","description":"Build JSDoc markdown files for vuepress","archived":false,"fork":false,"pushed_at":"2024-02-12T15:31:26.000Z","size":5231,"stargazers_count":75,"open_issues_count":6,"forks_count":20,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-09T18:50:04.251Z","etag":null,"topics":["cli","commandline-tool","documentation","jsdoc","tool","typescript","vue","vuepress","vuepress-jsdoc"],"latest_commit_sha":null,"homepage":"https://vuepress-jsdoc-example.vercel.app/","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/ph1p.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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}},"created_at":"2018-04-29T18:17:07.000Z","updated_at":"2024-10-07T20:57:22.000Z","dependencies_parsed_at":"2024-02-12T16:56:35.616Z","dependency_job_id":null,"html_url":"https://github.com/ph1p/vuepress-jsdoc","commit_stats":{"total_commits":231,"total_committers":10,"mean_commits":23.1,"dds":0.5324675324675325,"last_synced_commit":"8b596fb1d2cd0bbfcc78930b2c534a32fa8695be"},"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"purl":"pkg:github/ph1p/vuepress-jsdoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fvuepress-jsdoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fvuepress-jsdoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fvuepress-jsdoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fvuepress-jsdoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ph1p","download_url":"https://codeload.github.com/ph1p/vuepress-jsdoc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fvuepress-jsdoc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269713884,"owners_count":24463244,"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-08-10T02:00:08.965Z","response_time":71,"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":["cli","commandline-tool","documentation","jsdoc","tool","typescript","vue","vuepress","vuepress-jsdoc"],"created_at":"2024-10-03T11:38:29.863Z","updated_at":"2025-08-10T11:16:50.711Z","avatar_url":"https://github.com/ph1p.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# vuepress-jsdoc\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ph1p_vuepress-jsdoc\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=ph1p_vuepress-jsdoc)\n[![npm](https://img.shields.io/npm/v/vuepress-jsdoc.svg)](https://www.npmjs.com/package/vuepress-jsdoc)\n[![vercel](https://img.shields.io/badge/vercel-demo-black)](https://vuepress-jsdoc-example.vercel.app)\n\nThis npm package serves as a command line script designed to analyze your JavaScript, Vue, or TypeScript source code. Leveraging [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown) and [vue-docgen-cli](https://github.com/vue-styleguidist/vue-styleguidist/tree/dev/packages/vue-docgen-cli), it dynamically generates markdown files tailored for VuePress.\n\n![CLI ./example](https://user-images.githubusercontent.com/15351728/131877824-0124e47f-9080-4976-88d0-84ad04b64f24.gif)\n\n## Vuepress support\n\nThis npm package is compatible with VuePress 2; however, it requires a version lower than `5.0.0` for proper functionality with VuePress 1.\n\n## How to\n\n```bash\nyarn global add vuepress-jsdoc\nnpm i vuepress-jsdoc -g\n```\n\n**Example:**\n\n```bash\n# search code in src and move it to code (./documentation/code) in your vuepress folder (./documentation)\nvuepress-jsdoc --source ./src --dist ./documentation --folder code --title API --exclude=\"**/*/*.test.js\"\n```\n\nYou can also use `npx vuepress-jsdoc`, if you want.\n\n#### Watch-Mode `alpha`\n\nIf you do not want to run`vuepress-jsdoc` again and again and again.\nYou can simply pass `--watch` or `-w`.\n\n### Command-Options\n\nUse these options after `vuepress-jsdoc`.\n\n| Name              | Alias | Default         | Description                                                                                                                                     |\n| ----------------- | ----- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |\n| --source          | -s    | ./src           | Source folder with .js or .ts files                                                                                                             |\n| --dist            | -d    | ./documentation | Destination folder                                                                                                                              |\n| --folder          | -f    | ./code          | Folder inside destination folder. Gets overwritten everytime                                                                                    |\n| --title           | -t    | API             | Title of your documentation                                                                                                                     |\n| --help            | -h    |                 | Show help                                                                                                                                       |\n| --version         | -v    |                 | Show current version                                                                                                                            |\n| --readme          | -r    |                 | Path to custom readme file                                                                                                                      |\n| --exclude         | -e    |                 | Pattern to exclude files/folders (Comma seperated) - \\*.test.js,exclude.js [more information](https://github.com/micromatch/micromatch#ismatch) |\n| --include         | -e    |                 | Pattern to include files/folders (Comma seperated) - \\*.test.js,include.js [more information](https://github.com/micromatch/micromatch#ismatch) |\n| --rmPattern       | -rm   |                 | Pattern when removing files. You can ex- and include files. (glob pattern)                                                                      |\n| --partials        | -p    |                 | jsdoc2markdown partial templates (overwrites default ones)                                                                                      |\n| --jsDocConfigPath | -c    |                 | Path to [JsDoc Config](http://usejsdoc.org/about-configuring-jsdoc.html) (experimental)                                                         |\n| --watch           | -w    |                 | Watch changes and update markdown files                                                                                                         |\n\n### config.js\n\nInside your generated folder, you can find a `config.js`.\nThis file includes a complete filetree and an vuepress sidebar tree.\n\n## How to configure vuepress\n\n[Vuepress](https://vuepress.vuejs.org/) is a static site generator by Evan You.\nYou can add all generated documentation files to your existing vuepress project or create a new one.\n\n```bash\n# First install vuepress\nyarn global add vuepress\n\n# Run the CLI\nvuepress-jsdoc\n\n# Run vuepress dev server\nvuepress dev ./documentation\n\n# Run vuepress build, if you want to ship it\nvuepress build ./documentation\n```\n\n**Access it via:** [http://localhost:8080/code/](http://localhost:8080/code/)\n\nNow you need the sidebar.\nCreate a `.vuepress` folder inside the `documentation` folder and add the following `config.js`.\n\n**config.js:**\n\n```javascript\n// auto generated sidebar\nconst { sidebarTree } = require('../code/config');\n\nmodule.exports = {\n  dest: 'dist',\n  locales: {\n    '/': {\n      title: 'vuepress-jsdoc',\n      description: 'Generate jsdoc markdown files for vuepress'\n    }\n  },\n  themeConfig: {\n    editLinks: true,\n    sidebarDepth: 4,\n    docsDir: 'code',\n    locales: {\n      '/': {\n        nav: [\n          {\n            text: 'Home',\n            link: '/'\n          }\n        ],\n        // Add the generated sidebar\n        sidebar: Object.assign({}, sidebarTree('Mainpage title'))\n      }\n    }\n  }\n};\n```\n\n## Custom readme\n\nTo include a custom path for your readme, simply utilize the `--readme ./path/to/file.md` parameter. If you relocate a `README.md` file into your source folder, the system will automatically resolve it.\n\nFor setting the title, provide it as an argument to the `sidebarTree('Mainpage title')` function within your `./.vuepress/config.js` file.\n\n## @vuepress comment block\n\nEnhance your page customization by incorporating custom metadata through the `@vuepress` block:\n\n```javascript\n/*\n * @vuepress\n * ---\n * title: Your custom title\n * headline: You custom headline\n * ---\n */\n```\n\nUse `headline` to add a custom `h1` title.\n\n[More information](https://vuepress.vuejs.org/guide/markdown.html#front-matter)\n\n## Typescript\n\nTo integrate TypeScript support, install the following dev-dependencies with the following command:\n\n```bash\nnpm install -D typescript jsdoc-babel @babel/cli @babel/core @babel/preset-env @babel/preset-typescript jsdoc-to-markdown\n```\n\nAfter installation, include a `jsdoc.json` file in your project with specific settings, and reference it using the `-c` parameter. For a comprehensive example with all the necessary configurations, refer to the `./example` folder. The example also demonstrates the usage of Babel plugins.\n\n## Example\n\nThe `./example` folder includes a full working vuepress-jsdoc example.\n\n```bash\n# Install dependencies\nnpm install\n\n# Run the CLI\nvuepress-jsdoc\n\n# Generate docs\nnpm run docs\n\n# Run dev server\nnpm run dev\n\n# Generate dist folder\nnpm run build\n```\n\n## Contribute\n\nPRs are always welcome (:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fph1p%2Fvuepress-jsdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fph1p%2Fvuepress-jsdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fph1p%2Fvuepress-jsdoc/lists"}