{"id":21638346,"url":"https://github.com/julie-ng/tidy-jsdoc","last_synced_at":"2025-06-22T06:34:31.813Z","repository":{"id":44993934,"uuid":"90464376","full_name":"julie-ng/tidy-jsdoc","owner":"julie-ng","description":"A clean JSDoc3 template","archived":false,"fork":false,"pushed_at":"2022-12-02T01:06:26.000Z","size":2021,"stargazers_count":26,"open_issues_count":3,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-25T08:49:49.528Z","etag":null,"topics":["api","docs","documentation","jsdoc","jsdoc-template"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/tidy-jsdoc","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/julie-ng.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-06T13:21:36.000Z","updated_at":"2024-10-03T05:08:13.000Z","dependencies_parsed_at":"2023-01-23T21:31:14.770Z","dependency_job_id":null,"html_url":"https://github.com/julie-ng/tidy-jsdoc","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/julie-ng/tidy-jsdoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Ftidy-jsdoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Ftidy-jsdoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Ftidy-jsdoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Ftidy-jsdoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julie-ng","download_url":"https://codeload.github.com/julie-ng/tidy-jsdoc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Ftidy-jsdoc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261248990,"owners_count":23130489,"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","jsdoc","jsdoc-template"],"created_at":"2024-11-25T04:09:14.241Z","updated_at":"2025-06-22T06:34:26.792Z","avatar_url":"https://github.com/julie-ng.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tidy-jsdoc\n\n[![Build Status](https://travis-ci.org/julie-ng/tidy-jsdoc.svg?branch=master)](https://travis-ci.org/julie-ng/tidy-jsdoc)\n[![Known Vulnerabilities](https://snyk.io//test/github/julie-ng/tidy-jsdoc/badge.svg?targetFile=package.json)](https://snyk.io//test/github/julie-ng/tidy-jsdoc?targetFile=package.json)\n\nA minimalist and clean [jsdoc](https://jsdoc.app/index.html) template. \n\n ### Features\n\n - Custom styles via [CSS variables](#adjusting-theme-with-css-variables)\n - Code syntax highlighting via [Prism.js](https://prismjs.com/)\n\n## Preview\n\nNote Latest Version 1.0 is considered a _breaking change_ because the design changes significantly. \n\n#### Examples\n\n- [Newton Graph Library](https://julie-ng.github.io/newtonjs-graph/)\n- Using tidy-jsdoc? Open an issue to add your documentation here.\n\n\u003cimg src=\"./images/v1-preview-newtonjs.png\" alt=\"Version 1.0 - Preview\" style=\"max-width:100%;\"\u003e\n\nBased on the [default jsdoc template](https://github.com/jsdoc/jsdoc/tree/master/templates) and inspired in design by [vue.js documentation](https://vuejs.org/v2/api/) and [docsify](https://docsify.js.org).\n\n#### Looking for the old design?\n\nIf you want keep the old design, version your `package.json` appropriately. Preview old designs in the [images folder](./images/).\n\nNote: the old designs ^0.3.0 will not be updated or maintained.\n\n## Usage\n\n### Add Dependency\n\nTo use this jsdoc template in a project, first install the packages:\n\n```\nnpm install --save-dev jsdoc tidy-jsdoc\n```\n\n### Generate Docs\n\nOnce you've configured jsdoc and added syntax to your JavaScript files, you can generate the HTML files like so, optionally including a readme file:\n\n```\njsdoc --readme README.md -c jsdoc.json\n```\n\n### Configure JSDoc\n\nThen configure jsdoc to use the tidy template. Below is an example `jsdoc.json` configuration file. Be sure to adjust\n\n- **template**  \n\tPoints to `./node_modules/tidy-jsdoc`\n\n- **prism-theme**  \n\tOptionally pick a prismjs theme for styling your code. Defaults to \"prism-tomorrow-night\". Choose from templates available in [`./static/styles/vendor/`](./static/styles/vendor/) folder\n\n- **destination**  \n\tOutput is `./docs/`, allowing for easy GitHub Pages publishing.\n\n- **metadata**  \n\tCustomize title, logo, etc.\n\n- **styles**  \n\tLet's your customize colors, etc. See details below.\n\n```javascript\n{\n  \"tags\": {\n    \"allowUnknownTags\": true,\n    \"dictionaries\": [\n      \"jsdoc\",\n      \"closure\"\n    ]\n  },\n  \"source\": {\n    \"include\": [\n      \"src\"\n    ],\n    \"includePattern\": \".+\\\\.js(doc)?$\",\n    \"excludePattern\": \"(^|\\\\/|\\\\\\\\)_\"\n  },\n  \"opts\": {\n    \"template\": \"./node_modules/tidy-jsdoc\",\n    \"prism-theme\": \"prism-custom\",\n    \"encoding\": \"utf8\",\n    \"destination\": \"./docs/\",\n    \"recurse\": true\n  },\n  \"plugins\": [\n    \"plugins/markdown\",\n    \"plugins/summarize\"\n  ],\n  \"templates\": {\n    \"cleverLinks\": false,\n    \"monospaceLinks\": false\n  },\n  \"metadata\": {\n    \"title\": \"My JavaScript Library\",\n  }\n}\n```\n\n## Customize the Template\n\n### Adjusting Theme with CSS variables\n\nAs of version 1.0, this template is styled via css variabbles, so you can adjust it to your brand. Inside your `jsdoc.json` configuration file, add an addional `styles` property, for example:\n\n```javascript\n{\n  \"metadata\": \"...\",\n  \"styles\": {\n    \"text-color\": \"#111\",\t\t\n    \"primary-color\": \"blue\",\n    \"heading-color\": \"var(--primary-color)\"\n  }\t\n}\n```\n\nThis would output in your document `\u003chead\u003e`:\n\n```html\n\u003cstyle\u003e\n  :root {\n    --text-color: #111;\n    --primary-color: blue;\n    --heading-color: var(--primary-color);\n  }\n\u003cstyle\u003e\n```\nThe keys and values are arbitrary, but the CSS should be valid. For a full list of the available variables, see [_vars.scss](./static/styles/_vars.scss).\n\n\n## Development\n\nFor more information about creating jsdoc templates, see the [jsdoc GitHub repository](https://github.com/jsdoc/jsdoc/tree/master/templates).\n\nWhen editing SCSS, build the CSS automatically like so:\n\n```\nnpm run sass:watch\n```\n\nNote: you'll have to commit **both** the scss and css files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulie-ng%2Ftidy-jsdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulie-ng%2Ftidy-jsdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulie-ng%2Ftidy-jsdoc/lists"}