{"id":20000165,"url":"https://github.com/andstor/jsdoc-action","last_synced_at":"2025-08-21T07:32:59.893Z","repository":{"id":36977734,"uuid":"235368146","full_name":"andstor/jsdoc-action","owner":"andstor","description":":book: :octocat:GitHub Action to build JSDoc documentation","archived":false,"fork":false,"pushed_at":"2023-01-16T04:02:18.000Z","size":3326,"stargazers_count":76,"open_issues_count":17,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-17T03:07:49.192Z","etag":null,"topics":["api","build","docs","documentation","github-actions","jsdoc"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/jsdoc-action","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andstor.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}},"created_at":"2020-01-21T14:57:31.000Z","updated_at":"2024-12-14T16:22:48.000Z","dependencies_parsed_at":"2023-01-17T10:45:12.492Z","dependency_job_id":null,"html_url":"https://github.com/andstor/jsdoc-action","commit_stats":{"total_commits":71,"total_committers":3,"mean_commits":"23.666666666666668","dds":"0.12676056338028174","last_synced_commit":"06eafccd94e3fedcbf4ff0a8f23d775c169efdf2"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andstor%2Fjsdoc-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andstor%2Fjsdoc-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andstor%2Fjsdoc-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andstor%2Fjsdoc-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andstor","download_url":"https://codeload.github.com/andstor/jsdoc-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230501172,"owners_count":18236061,"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","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":["api","build","docs","documentation","github-actions","jsdoc"],"created_at":"2024-11-13T05:13:57.295Z","updated_at":"2024-12-19T21:09:19.172Z","avatar_url":"https://github.com/andstor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jsdoc-action\n\n\u003e A GitHub Action to build JSDoc documentation\n\nThis is a GitHub Action to build your JavaScript documentation with [JSDoc](https://github.com/jsdoc/jsdoc). This action can easily be combined with other deployment actions, in order to publish the generated documentation to for example [GitHub Pages](https://pages.github.com). JSDoc [templates](https://github.com/jsdoc/jsdoc#templates) are also supported.\n\nThe following example [workflow step](https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow) will generate documentation for all source files in the `./src` directory and output the built files to the `./out` directory.\n\n```yml\n- name: Build\n  uses: andstor/jsdoc-action@v1\n  with:\n    source_dir: ./src\n    recurse: true\n    output_dir: ./out\n```\n\n## Supported platforms\n\nThe jsdoc-action is a JavaScript action and is supported on both Linux, MacOS and Windows. The action supports stable versions of Node.js 14 and later. \n\n| OS (runs-on) | ubuntu-latest | macos-latest | windows-latest |\n|---|:---:|:---:|:---:|\n| Support | ✅️ | ✅️ | ✅️ |\n\n## Options ⚙️\n\nThe following input variables options can/must be configured:\n\n|Input variable|Necessity|Description|Default|\n|----|----|----|----|\n|`source_dir`|Optional|Source directory to build documentation from.||\n|`output_dir`|Optional|Output folder for the generated documentation.|`./out`|\n|`recurse`|Optional|Recurse into subdirectories when scanning for source files.|`false`|\n|`config_file`|Optional|The path to a JSDoc configuration file.||\n|`template`|Optional|The JSDoc template package to install. Will run `npm install template`.||\n|`template_dir`|Optional|The relative location of the template files directory within the template package.||\n|`front_page`|Optional|The path to a Markdown file to be used as a the front page. Normally `README.md`.||\n\n## Templates 💅\n\nYou can use JSDoc [templates](https://github.com/jsdoc/jsdoc#templates) with this action.  \nJust set the `template` input variable to the name of the template you want to use. This needs to be template's package name.\n\nIf the template's template files is located somewhere else than the package's root, you need to specify this. Set the `template_dir` input variable to the location of the template folder (contains a `publish.js` file).\n\nFor example, to use the JSDoc [DocStrap](https://github.com/docstrap/docstrap) template, set the `template` input variable to `ink-docstrap` and the `template_dir` to the string `template`.\n\n## JSDoc Configuration file 📄\n\nTo use a JSDoc [configuration file](https://jsdoc.app/about-configuring-jsdoc.html) located in your repository, you will need to specify the path to the file in the `config_file` input variable. Normally, if you use the [actions/checkout](https://github.com/actions/checkout), this will just resolve to `conf.json` or `conf.js`.\n\n## Examples\n\n### GitHub Pages 🚀\n\nAn example for deploying JSDoc generated documentation to GitHub Pages with [actions-gh-pages](https://github.com/marketplace/actions/github-pages-action#table-of-contents).\n\nThis jsdoc-action workflow configuration uses the [Minami](https://github.com/nijikokun/minami) JSDoc template and uses the root `README.md` file as the front page.\n\n```yml\nname: GitHub pages\n\non:\n  push:\n    branches:\n      - master\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v2\n\n      - name: Build\n        uses: andstor/jsdoc-action@v1\n        with:\n          source_dir: ./src\n          output_dir: ./out\n          config_file: conf.json\n          template: minami\n          front_page: README.md\n\n      - name: Deploy\n        uses: peaceiris/actions-gh-pages@v3\n        with:\n          deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}\n          publish_dir: ./out\n```\n\n## License\n\nCopyright © 2020 [André Storhaug](https://github.com/andstor)\n\nThe jsdoc-action GitHub action is licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).  \nSee the [LICENSE](https://github.com/andstor/jsdoc-action/blob/master/LICENSE) file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandstor%2Fjsdoc-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandstor%2Fjsdoc-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandstor%2Fjsdoc-action/lists"}