{"id":13553443,"url":"https://github.com/onury/docma","last_synced_at":"2025-04-12T21:19:47.435Z","repository":{"id":38106602,"uuid":"59246167","full_name":"onury/docma","owner":"onury","description":"A powerful tool to easily generate beautiful HTML documentation from JavaScript (JSDoc), Markdown and HTML files.","archived":false,"fork":false,"pushed_at":"2023-01-04T02:10:15.000Z","size":17821,"stargazers_count":335,"open_issues_count":38,"forks_count":33,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-06T10:08:59.908Z","etag":null,"topics":["api","docs","documentation","javascript","jsdoc","markdown","reference"],"latest_commit_sha":null,"homepage":"https://onury.io/docma","language":"JavaScript","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/onury.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":"2016-05-19T22:07:55.000Z","updated_at":"2025-02-17T05:02:52.000Z","dependencies_parsed_at":"2023-02-01T17:45:21.827Z","dependency_job_id":null,"html_url":"https://github.com/onury/docma","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onury%2Fdocma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onury%2Fdocma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onury%2Fdocma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onury%2Fdocma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onury","download_url":"https://codeload.github.com/onury/docma/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248632007,"owners_count":21136609,"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","docs","documentation","javascript","jsdoc","markdown","reference"],"created_at":"2024-08-01T12:02:24.787Z","updated_at":"2025-04-12T21:19:47.409Z","avatar_url":"https://github.com/onury.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003e\n    \u003ca href=\"https://onury.io/docma\"\u003e\u003cimg width=\"200\" height=\"200\" src=\"https://raw.githubusercontent.com/onury/docma/master/docma-logo.png\" alt=\"Docma\" /\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.npmjs.com/package/docma\"\u003e\u003cimg src=\"http://img.shields.io/npm/v/docma.svg?style=flat-square\" alt=\"npm\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/onury/docma\"\u003e\u003cimg src=\"https://img.shields.io/github/release/onury/docma.svg?style=flat-square\" alt=\"release\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/onury/docma/blob/master/LICENSE\"\u003e\u003cimg src=\"http://img.shields.io/npm/l/docma.svg?style=flat-square\" alt=\"license\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.npmjs.com/package/docma\"\u003e\u003cimg src=\"https://img.shields.io/npm/dt/docma.svg?style=flat-square\" alt=\"downloads\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://david-dm.org/onury/docma\"\u003e\u003cimg src=\"https://david-dm.org/onury/docma.svg?style=flat-square\" alt=\"dependencies\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/onury/docma/graphs/commit-activity\"\u003e\u003cimg src=\"https://img.shields.io/maintenance/yes/2019.svg?style=flat-square\" alt=\"maintained\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://onury.io/docma\"\u003e\u003cimg src=\"https://img.shields.io/badge/docs%20by-docma-c27cf4.svg?docs%20by=docma\u0026style=flat-square\" alt=\"documentation\" /\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003csub\u003e© 2019, Onur Yıldırım (\u003cb\u003e\u003ca href=\"https://github.com/onury\"\u003e@onury\u003c/a\u003e\u003c/b\u003e).\u003c/sub\u003e\n\u003c/p\u003e\n\nA powerful tool to easily generate beautiful HTML documentation from Javascript ([JSDoc][jsdoc]), [Markdown][markdown] and HTML files.\n\n## Features\n\n- Parse **JSDoc** documentation, **Markdown** and **HTML** files.\n- Build a cool **SPA** (Single Page Application) from parsed files.\n- Generate multiple/separate API documentations by **grouping** JS files.\n- Path or Query-string based app routing.\n- Non-opinionated engine, **built-in** template with [cool opinions][zebra]. :sunglasses:\n- Supports custom templates, comes with template authoring tools.\n- Works great with **GitHub Pages**, Amazon **S3**, Nginx, Apache, etc...\n- Build via [**API**][docma-api] or [**CLI**][docma-cli].\n- Extremely configurable and debuggable.\n- Well documented. :point_up:\n\n...like this:\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://onury.io/docma\"\u003e\u003cimg width=\"650\" height=\"385\" src=\"https://raw.github.com/onury/docma/master/docma-screen.gif\" alt=\"Docma screen\" /\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003csub\u003eThis is generated with the built-in template, Zebra.\u003c/sub\u003e\u003cbr /\u003e\n    \u003ca href=\"https://onury.io/docma\"\u003eclick to view live\u003c/a\u003e\n\u003c/p\u003e\n\n## Installation\n\n```console\nnpm i docma -D\n```\n\n## Building Documentation with CLI\n\nYou can use Docma CLI to build documentations directly from your console. \nOnce you create the configuration file `docma.json` in your project root, it's quite simple.\n\n```console\ndocma\n```\nYou can even serve the docs locally and test.\n```console\ndocma serve\n```\n\nSee \n - [Docma CLI Reference][docma-cli]\n - [Build Configuration][docma-config]\n - [F.A.Q.][docma-faq]\n\n## Building Documentation Programmatically\n\nIf you need to build documentation from within your code, use the API.\n\n```js\nconst Docma = require('docma');\n```\nEither by passing a [configuration][docma-config] object.\n```js\nconst config = {\n    src: [\n        './code/**/*.js',\n        './README.md'\n    ],\n    dest: './output/doc'\n};\nDocma.create()\n    .build(config)\n    .then(success =\u003e console.log('Documentation is built successfully.'))\n    .catch(error =\u003e console.log(error));\n```\nOr by reading [configuration][docma-config] from a JSON file.\n```js\nDocma.create()\n    .build('./path/to/docma.json')\n    .catch(error =\u003e console.log(error));\n```\nSee [Docma API Reference][docma-api].\n\n## Parsed Output\n\nSometimes, the issue is with invalid JSDoc comments. [See this](https://github.com/onury/docma/issues/55#issuecomment-437599192) for linting/validating your JSDoc while you type and within a build process.\n\nTo investigate the parsed JSDoc output, enable the `debug` option that will create a JSON output(s) within the root of the destination directory. If you have a problem with the parsed documentation data, open an issue @ [jsdoc-x][jsdoc-x]. _(I'm the author.)_\n\nFor markdown output issues (that are not related with style), you can open an issue @ [marked][marked].\n\n## Changelog\n\nSee [**CHANGELOG**][changelog].  \n\n#### Compatibility Table\n\n| Docma version | Node version |\n|---------------|--------------|\n| [v3.0.0](https://github.com/onury/docma/blob/master/CHANGELOG.md#300-2018-11-18)   | **v8+** |\n| [v2.0.0](https://github.com/onury/docma/blob/master/CHANGELOG.md#200-2018-04-12)   | **v6+** |\n| [v1.0.0](https://github.com/onury/docma/blob/master/CHANGELOG.md#100-2016-06-11)   | **v4+** |\n\n ## Documentation\nRead [**Docma documentation**][docma-docs], built with Docma, for a Docma demo... :eyes:  \nAlso see the [**F.A.Q.**][docma-faq] section.\n\n## License\n\n[**MIT**][license]. You don't have to include any copyright notice in your documentation output or templates but I'd appreciate if you let people know about this tool so we can read better documentations.\n\nEmoji shortcuts used in source markdown files are parsed into [twemoji][twemoji]. Graphics and icons licensed under [CC-BY 4.0][cc-by-4].\n\n## Related Modules\n\n- [jsdoc-x][jsdoc-x] — Parser for outputting a Javascript object from documented code via JSDoc's explain (-X) command.\n- [marked][marked] — A full-featured markdown parser and compiler, written in JavaScript. Built for speed.\n- [dustjs][dustjs-github] — Asynchronous Javascript templating for the browser and server.\n\n\n[license]:https://github.com/onury/docma/blob/master/LICENSE\n[changelog]:https://github.com/onury/docma/blob/master/CHANGELOG.md\n[screenshot]:https://raw.github.com/onury/docma/master/docma-screen.jpg\n[screen-gif]:https://raw.github.com/onury/docma/master/docma-screen.gif\n[docma-docs]:https://onury.io/docma\n[docma-api]:https://onury.io/docma/api\n[docma-cli]:https://onury.io/docma/cli\n[docma-config]:https://onury.io/docma/api/#Docma~BuildConfiguration\n[docma-faq]:https://onury.io/docma/faq\n[zebra]:https://onury.io/docma/templates/zebra\n[jsdoc]:http://usejsdoc.org\n[jsdoc-x]:https://github.com/onury/jsdoc-x\n[marked]:https://github.com/chjj/marked\n[markdown]:https://daringfireball.net/projects/markdown\n[dustjs]: http://www.dustjs.com\n[dustjs-github]: https://github.com/linkedin/dustjs\n[twemoji]:https://github.com/twitter/twemoji\n[cc-by-4]:https://creativecommons.org/licenses/by/4.0\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonury%2Fdocma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonury%2Fdocma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonury%2Fdocma/lists"}