{"id":15178764,"url":"https://github.com/bohoffi/ngx-doc-gen","last_synced_at":"2025-10-01T19:31:19.184Z","repository":{"id":60286424,"uuid":"461305649","full_name":"bohoffi/ngx-doc-gen","owner":"bohoffi","description":"Angular library documentation generator utilizing dgeni","archived":true,"fork":false,"pushed_at":"2024-02-27T18:31:56.000Z","size":2273,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-01-14T20:21:37.503Z","etag":null,"topics":["angular","angular-cli","cli","dgeni","documentation-generator","documentations","generator","nx","nx-plugin"],"latest_commit_sha":null,"homepage":"https://bohoffi.github.io/ngx-doc-gen/","language":"TypeScript","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/bohoffi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-02-19T20:29:00.000Z","updated_at":"2024-05-01T02:24:40.000Z","dependencies_parsed_at":"2024-02-27T19:53:02.195Z","dependency_job_id":null,"html_url":"https://github.com/bohoffi/ngx-doc-gen","commit_stats":{"total_commits":120,"total_committers":1,"mean_commits":120.0,"dds":0.0,"last_synced_commit":"fb8c2e02b117e6e65cf14c7632465f5b80a0bc13"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bohoffi%2Fngx-doc-gen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bohoffi%2Fngx-doc-gen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bohoffi%2Fngx-doc-gen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bohoffi%2Fngx-doc-gen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bohoffi","download_url":"https://codeload.github.com/bohoffi/ngx-doc-gen/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234892715,"owners_count":18902907,"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":["angular","angular-cli","cli","dgeni","documentation-generator","documentations","generator","nx","nx-plugin"],"created_at":"2024-09-27T15:23:02.964Z","updated_at":"2025-10-01T19:31:13.780Z","avatar_url":"https://github.com/bohoffi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!WARNING]  \n\u003e v2.4.0 is the last version as I do not have the time to maintain this lib any longer. If anyone might want to take the maintenance please feel free to reach out to me.\n\n\u003cimg src=\"https://raw.githubusercontent.com/bohoffi/ngx-doc-gen/develop/assets/logo.svg\" width=\"150\"\u003e\n\n\u003c!-- variables --\u003e\n\n[npm-image]: https://badge.fury.io/js/ngx-doc-gen.svg\n[npm-url]: https://www.npmjs.com/package/ngx-doc-gen\n\n# ngx-doc-gen 📚 [![npm version](https://img.shields.io/npm/v/ngx-doc-gen.svg)](https://www.npmjs.com/package/ngx-doc-gen)\n\n\u003e Automatically generate your library's API docs using Angular CLI or NX.\n\n## Credits \u003ca name=\"credits\"\u003e\u003c/a\u003e\n\nThe initial spark was given by the folks from the Angular team ([angular/components](https://github.com/angular/components)) who are using a perfectly working base implementation on documentation generation utilizing [Dgeni](https://github.com/angular/dgeni).\n\nProps to those who deserve it 🍻\n\nMost of the code as well as the templates and styles originate from their repository.\n\n## 📕 Installation / Configuration\n\nUsing NX:\n\n```bash\nnpm install --save-dev ngx-doc gen\nnx generate ngx-doc-gen:configure\n```\n\nUsing Angular CLI\n\n```bash\nng add ngx-doc-gen\n```\n\nThose calls will add a `doc-gen` target similiar to the `build` one to all touched library projects.\n\n## 🤖 Generation\n\nUsing NX:\n\n```bash\nnx run \u003cproject\u003e:doc-gen\n```\n\nUsing Angular CLI:\n\n```bash\nng doc-gen \u003cproject\u003e\n```\n\nWhile generation is running ngx-doc-gen will scan the given library for its entrypoints - or entrypoint if there is just one - and extract the public API. The heavy lifting is done by Dgeni.\n\nAfter extraction it categorizes your API in like modules, services, etc. - just like its done when looking at the Angular Material docs - and processes specific templates.\n\nAfter everything is done ngx-doc-gen will output an HTML file per entrypoint into the output directory (read on for configuration).\n\n## 📖 Configuration options (`configure` / `ng add`)\n\n#### `--projects`\n\n- Type: `string[]`\n- Defines the libraries which should get configured for documentation generation\n- Will throw an error if a project is listed which does not exist in the workspace\n- Default: `[]`\n- Example:\n  - NX: `ng generate ngx-doc-gen:configure --projects lib-a,lib-b`\n  - Angular CLI: `ng add ngx-doc-gen --projects lib-a,lib-b`\n  - Both examples will only configure the given library projects\n\nIf not provided or left empty - the default - `configure` (Generator) and `ng add` (Angular CLI) will scan your workspace for all **buildable** library projects and condigures them for documentation generation.\n\n## ⚙️ Generation options\n\n### Per CLI\n\n#### `--log-level`\n\n- Type: `'error' | 'warn' | 'debug' | 'verbose'`\n- Defines the log level Dgeni uses while generation\n- Default: `'warn'`\n\n#### `--output-path`\n\n- Type: `Path`\n- Defines the output path for the generated files (relative to working directory)\n- Default: `'docs'`\n\n#### `--exclude-base`\n\n- Type: `string[]`\n- Defines base clases to exclude from generation\n- Default: `[]`\n- Example:\n  - Your API contains a service extending `Observable` which would include members like `subscribe()` in your documentation. This could be prevented as follows:\n  - `--exclude-base Observable`\n\n#### `--docs-public`\n\n- Type: `string`\n- Tag to enforce documentation of usually private symbols. Only applies to symbols at least exported.\n- Default: `docs-public`\n\n#### `--docs-private`\n\n- Type: `string`,\n- Tag to explicitly hide symbols from documentation.\n- Default: `docs-private`\n\n#### `--breaking-change`\n\n- Type: `string`,\n- Tag indicating the version with which a deprecated symbol will get removed.\n- Default: `breaking-change`\n\n### Per workspace config (`angular.json` / `workspace.json` / `project.json`)\n\nEvery CLI parameter can also be bound to the `doc-gen` target in your workspace configuration so you don't have to pass them on every CLI call - see example below.\n\nSome parameters can be passed by configuration only.\n\n#### `customTags`\n\n- Type: `TagDefinition[]`\n- Configures tag definition for the Dgeni JSDoc processor not supported by JSDoc.\n- Default: `[]`\n\n| Property     | Type      | Description                                                            |\n| ------------ | --------- | ---------------------------------------------------------------------- |\n| name         | `string`  | Name of the tag (excluding the `@`)                                    |\n| docProperty? | `string`  | Property where the tag information should be attached to.              |\n| multi?       | `boolean` | Whether multiple instances of the tag can be used in the same comment. |\n| required?    | `boolean` | Whether this tag is required for all API documents.                    |\n\n```json\n// Example given for a project.json\n...\n\"\u003cproject\u003e\": {\n  \"targets\": {\n    \"doc-gen\": {\n      \"executor\": \"ngx-doc-gen:generate\",\n      \"options\": {\n        \"logLevel\": \"verbose\",\n        \"outputPath\": \"./docs/libs/\u003cproject\u003e\",\n        \"excludeBase\": [\n          \"Observable\"\n        ],\n        \"customTags\": [\n          {\n            \"name\": \"example\"\n          }\n        ]\n      }\n    }\n  }\n}\n...\n```\n\n## 🎨 Styling\n\nAs the generated docs are just plain HTML files you apply whatever styling you want. For convinience ngx-doc-gen comes with two SCSS mixins.\n\n### `core`\n\nApplies some general styles for font, spacing, borders, etc. Just include the mixing in your root stylesheet.\n\n```scss\n@use 'ngx-doc-gen/styles' as ngx-doc-gen;\n\n@include ngx-doc-gen.core();\n```\n\n### `docs-theme`\n\nApplies some Angular Material touch. Just pass your Angular Material theme into the mixin.\n\n```scss\n@use 'ngx-doc-gen/styles/theming' as ngx-doc-gen;\n\n@include ngx-doc-gen.docs-theme($theme);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbohoffi%2Fngx-doc-gen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbohoffi%2Fngx-doc-gen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbohoffi%2Fngx-doc-gen/lists"}