{"id":14971394,"url":"https://github.com/ruffrey/jsdoxy","last_synced_at":"2025-10-01T16:31:15.746Z","repository":{"id":18111401,"uuid":"21182238","full_name":"ruffrey/jsdoxy","owner":"ruffrey","description":"JavaScript documentation generator for Node.js and the browser, using markdown and JS Doc comments, forked from dox","archived":false,"fork":true,"pushed_at":"2015-07-15T18:31:33.000Z","size":856,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-18T13:41:00.872Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"iolo/dox","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruffrey.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"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":"2014-06-24T22:01:05.000Z","updated_at":"2015-01-31T04:18:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ruffrey/jsdoxy","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruffrey%2Fjsdoxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruffrey%2Fjsdoxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruffrey%2Fjsdoxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruffrey%2Fjsdoxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruffrey","download_url":"https://codeload.github.com/ruffrey/jsdoxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234882633,"owners_count":18901301,"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":[],"created_at":"2024-09-24T13:45:08.118Z","updated_at":"2025-10-01T16:31:10.473Z","avatar_url":"https://github.com/ruffrey.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jsdoxy\n\nA [jsdoc-ish](http://usejsdoc.org) documentation generator forked from [visionmedia/dox](https://github.com/visionmedia/dox).\n\n### Differences from visionmedia/dox\n\n* Allows multiline tag comments.\n* Supports code context on string key properties like `someobject['asdf-jkl']`.\n* Code context and parsing for more things:\n\t* `@event`\n\t* `@fires`\n\t* `@auth`\n\t* `@augments`\n* Uses a supported markdown parser ([marked](https://github.com/chjj/marked)) instead of the\n\told deprecated one.\n* Includes a **grunt plugin** `jsdoxy`.\n\t* Comments are organized into a plain object with the `@class MyClass` tag as the key.\n\t* Optionally renders the JSON output using [Jade](http://jade-lang.com).\n\n# Usage\n\n**_Note_**\nYou must use the `@class` comment as your first comment per file. `@class myClass` is used\nto organize the output (this is different than the original Dox project. If you fail to do this,\nyou will have no output.\n\n## Globally\n\nOne file at a time.\n\n\tnpm install -g jsdoxy\n\nYou can do this from the terminal\n\n\t$\u003e  jsdoxy --help\n\n\t  Usage: jsdoxy [options]\n\n\t  Options:\n\n\t    -h, --help     output usage information\n\t    -V, --version  output the version number\n\t    -r, --raw      output \"raw\" comments, leaving the markdown intact\n\t    -a, --api      output markdown readme documentation\n\t    -d, --debug    output parsed comments for debugging\n\n\t  Examples:\n\n\t    # stdin\n\t    $ jsdoxy \u003e myfile.json\n\n\t    # operates over stdio\n\t    $ jsdoxy \u003c myfile.js \u003e myfile.json\n\n\n## Grunt plugin\n\nMultiple files at a time, organizing the output by the `@class` tag, optionally rendered using a jade template.\n\nInstall the package to your project with NPM\n\n\tnpm install jsdoxy --save-dev\n\nthen in your source code, the `@class` tag should **always** be part of the first comment\n\n```javascript\n\t/**\n\t * A class that does something.\n\t *\n\t * Use it in this way.\n\t * @class MyClass\n\t * @param object opts Some parameters to get you started.\n\t */\n\tfunction MyClass (opts) {\n\t\t. . .\n\t}\n```\n\nthen inside `Gruntfile.js` at the project root\n\n```javascript\n    grunt.loadNpmTasks('jsdoxy');\n\n    grunt.initConfig({\n\t\tjsdoxy: {\n            options: {\n\t\t\t\t// JSON data representing your code. Not optional.\n            \tjsonOutput: 'jsdoxy-output.json',\n\n\t\t\t\t// A Jade template which will receive the locals below. Optional.\n\t\t\t\t// Set to `false` to disable building this template. Other falsey values\n\t\t\t\t// will use the default template.\n\t\t\t\ttemplate: 'your-template.jade',\n\t\t\t\t// when using a template, what is the base path for all of the links\n\t\t\t\t// to work from?\n\t\t\t\tbasePath: '', // '/docs'\n\n            \t// Indicates whether to output things marked @private when building docs\n\t\t\t\toutputPrivate: false,\n\t\t\t\t// make an index landing page\n\t\t\t\tgenerateIndex: false,\n\t\t\t\t// flatten the outputted files into one directory\n\t\t\t\tflatten: false,\n\t\t\t\t// path to a custom stylesheet\n\t\t\t\tstylesheet: \"https://maxcdn.bootstrapcdn.com/bootswatch/3.3.4/paper/bootstrap.min.css\"\n            },\n            files: {\n                src: [ . . . ],\n                dest: '. . .'\n            }\n        }\n\t});\n```\n\nyields `jsdoxy-output.json`\n\n```json\n\t{\n\t\t\"MyClass\": {\n\t        \"tags\": [\n\t            {\n\t                \"type\": \"class\",\n\t                \"string\": \"MyClass\"\n\t            },\n\t            {\n\t                \"type\": \"param\",\n\t                \"types\": [\n\t                    \"object\"\n\t                ],\n\t                \"name\": \"opts\",\n\t                \"description\": \"Some parameters to get you started.\"\n\t            }\n\t         ],\n\t\t\t \"returns\": \"Object || String\",\n\t\t\t \"fires\": [{ \"type\": \"fires\", \"string\": \"some-event\" }],\n\t         \"description\": {\n\t           \"full\": \"\u003cp\u003eA class that does something.\u003c/p\u003e\u003cp\u003eUse it in this way.\u003c/p\u003e\",\n\t           \"summary\": \"\u003cp\u003eA class that does something.\u003c/p\u003e\",\n\t\t\t   \"body\": \"\u003cp\u003eUse it in this way.\u003c/p\u003e\"\n\t        },\n\t        \"isPrivate\": false,\n\t        \"ignore\": false,\n\t        \"code\": \"function MyClass(opts) { . . . }\",\n\t        \"ctx\": {\n\t            \"type\": \"declaration\",\n\t            \"name\": \"MyClass\",\n\t            \"string\": \"idk what goes here\",\n\t            \"file\": {\n\t            \t\"input\": \"./input/file/path/file.js\",\n\t            \t\"output\": \"./output/file/path/file.js.json\"\n\t            }\n\t        }\n\t    }\n\t}\n```\n\n### Jade template\n\nThere is a default template which will be used unless you pass the config option `template: false`.\n\nIf you pass an empty string or do not include anything, it will render using the\n`default-template.jade` in this repository.\n\nThe jade template will receive the following locals:\n\n```javascript\n\tvar jadeLocals = {\n      structure:  organizedByClass,\n      comments:   thisClassDocs,\n      className:  classKey,\n      link: classCommentLink,\n\t  files: allFileLinks,\n\t  basePath: basePath,\n\t  filenameOut: filenameOut\n    };\n```\n\n#### Default template\n\n![default jade jsdoxy template](https://i.imgur.com/4vMyjsZ.png)\n\n### Markdown files\nAny markdown files with the extension `.md` will be turned into HTML files and rendered\nwith the jade template.\n\n#### Overriding the default template CSS classes\n\nThe following CSS classes are exposed:\n\n* `.docs`\n* `.docs--sidebar`\n* `.docs--main`\n* `.docs--subtitle`\n* `.docs--title`\n\n# License\n\n(c) 2014 - 2015 Jeff H. Parrish\n\njeffhparrish@gmail.com\n\nMIT\n\nForked from [tj/dox](https://github.com/tj/dox)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruffrey%2Fjsdoxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruffrey%2Fjsdoxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruffrey%2Fjsdoxy/lists"}