{"id":23276245,"url":"https://github.com/dinoscapeprogramming/express-docs","last_synced_at":"2026-02-08T07:39:10.010Z","repository":{"id":249382695,"uuid":"831364095","full_name":"DinoscapeProgramming/Express-Docs","owner":"DinoscapeProgramming","description":"An easy-to-use documentation site creator which is cross-compatible with Express.js","archived":false,"fork":false,"pushed_at":"2024-11-30T15:10:11.000Z","size":55,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-14T13:08:27.298Z","etag":null,"topics":["docs","documentation","express","express-docs"],"latest_commit_sha":null,"homepage":"","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/DinoscapeProgramming.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":[],"patreon":"DinoscapeArmy","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2024-07-20T10:39:41.000Z","updated_at":"2024-11-30T15:10:14.000Z","dependencies_parsed_at":"2024-10-23T23:58:20.382Z","dependency_job_id":"9f96b06e-2de0-456e-ba0f-57449364a1de","html_url":"https://github.com/DinoscapeProgramming/Express-Docs","commit_stats":null,"previous_names":["dinoscapeprogramming/express-documentation","dinoscapeprogramming/express-docs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DinoscapeProgramming/Express-Docs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DinoscapeProgramming%2FExpress-Docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DinoscapeProgramming%2FExpress-Docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DinoscapeProgramming%2FExpress-Docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DinoscapeProgramming%2FExpress-Docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DinoscapeProgramming","download_url":"https://codeload.github.com/DinoscapeProgramming/Express-Docs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DinoscapeProgramming%2FExpress-Docs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29224457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T06:05:31.539Z","status":"ssl_error","status_checked_at":"2026-02-08T05:58:33.853Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docs","documentation","express","express-docs"],"created_at":"2024-12-19T21:30:03.804Z","updated_at":"2026-02-08T07:39:09.966Z","avatar_url":"https://github.com/DinoscapeProgramming.png","language":"JavaScript","funding_links":["https://patreon.com/DinoscapeArmy","https://www.patreon.com/DinoscapeArmy"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://DinoscapeProgramming.github.io/Remote-Control\"\u003e\n    \u003cpicture\u003e\n      \u003csource height=\"125\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/DinoscapeProgramming/Express-Documentation/master/docs/static/logo-dark.svg\"\u003e\n      \u003cimg height=\"125\" alt=\"Remote Control\" src=\"https://raw.githubusercontent.com/DinoscapeProgramming/Express-Documentation/master/docs/static/logo.svg\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://www.npmjs.com/package/express-documentation\"\u003e\n    \u003cimg src=\"https://badge.fury.io/js/express-documentation.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://opensource.org/license/apache-2-0\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-brightgreen.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/express-documentation?activeTab=dependencies\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Dependencies-up%20to%20date-brightgreen.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cem\u003e\u003cb\u003eExpress Docs\u003c/b\u003e is a minimal \u003cb\u003emarkdown site creator\u003c/b\u003e built on top of \u003ca href=\"https://expressjs.com\" target=\"_blank\"\u003eExpress\u003c/a\u003e. Designed to \u003cb\u003eease\u003c/b\u003e things up for \u003cb\u003ebetter and faster\u003c/b\u003e usage support with low effort in mind.\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#how-to-use\"\u003eHow To Use\u003c/a\u003e •\n  \u003ca href=\"#credits\"\u003eCredits\u003c/a\u003e •\n  \u003ca href=\"#support\"\u003eSupport\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n![screenshot](https://raw.githubusercontent.com/DinoscapeProgramming/Express-Docs/master/docs/static/demonstration.gif)\n\n## How To Use\n\nTo install this package, you'll need [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) installed on your computer. From your command line:\n\n```bash\n# Using npm\n$ npm install express ejs express-documentation\n\n# Using yarn\n$ yarn add express ejs express-documentation\n```\n\n### Documentation\nExpress Docs should be used as middleware in Express.js at the path where you want your docs to be located at. This translates to using the `app.use` method of your Express.js app and setting the location path as the first argument and the executed `expressDocs` method as the second property with the `app` variable as a parameter.\n\n```js\napp.use(\"/docs\", expressDocs(app));\n```\n\n**This will use the default parameters for Express Docs:**\n\n| Parameter | Default Value | Accepted Object Types |\n| --- | --- | --- |\n| 📲 Title | `productName`; `name`; `\"Documentation\"` | `string` |\n| 🎨 Favicon | `\"./favicon.ico\"` | `path`; `URL` |\n| ⏱️ Logo | `\"./logo.png\"` | `path`; `URL` |\n| 👨‍💻 Directory | `\"./docs\"` | `path` |\n\n\u003cbr /\u003e\n\n**All of these values should be modified like this:**\n```js\napp.use(\"/docs\", expressDocs(app, {\n  title: \"Express Docs Demo\",\n  favicon: \"./assets/favicon.ico\",\n  logo: \"./assets/logo.png\" || \"https://raw.githubusercontent.com/DinoscapeProgramming/Remote-Control/main/server/assets/logo.svg\",\n  directory: \"./assets/docs\" || \"https://raw.githubusercontent.com/DinoscapeProgramming/Remote-Control/main/server/assets/favicon.ico\"\n}));\n```\n\n**Additional options include:**\n| Optional Parameter |\n| --- |\n| 🥷 Security (Content Security Policy) |\n| 🧭 Analytics |\n| 📲 Custom Markdown Parser |\n| 🎨 Custom HTML (Head or Body) |\n| ⏱️ Custom Code |\n| 👨‍💻 Custom Style |\n| 💱 Extensions |\n\n\u003cbr /\u003e\n\n```js\napp.use(\"/docs\", expressDocs(app, {\n  options: {\n    security: {\n      csp: `` // --\u003e content security policy header\n    },\n    analytics: ``, // --\u003e Google Analytics tracking id\n    customMarkdownParser: () =\u003e {}, // --\u003e return value in plain HTML\n    customHTML: {\n      head: ``,\n      body: ``\n    }, // --\u003e plain HTML,\n    customCode: () =\u003e {}, // --\u003e JavaScript function\n    customStyle: ``, // --\u003e plain CSS\n    extensions: [\n      {\n        setup: () =\u003e {}, // --\u003e executed on function call\n        middleware: () =\u003e {} // --\u003e executed on returned function call\n      }\n    ]\n  }\n}));\n```\n\nThe default markdown parser uses [Marked](https://github.com/markedjs/marked) and all contents of the markdown parser, no matter which, are being sanitized with [DOMPurify](https://github.com/cure53/DOMPurify).\n\n### Example Documentation with Dark Mode\nTo build and open your own installable, you'll need [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) installed on your computer.\n\n```js\nconst express = require(\"express\");\nconst app = express();\nconst expressDocs = require(\"express-docs\");\n\napp.use(\"/\", expressDocs(app, {\n  title: \"Express Docs Demo\",\n  favicon: \"./favicon.ico\",\n  logo: \"./logo.png\",\n  directory: \"./docs\",\n  options: {\n    security: {\n      csp: \"default-src 'self'; script-src 'self' 'unsafe-inline';\"\n    },\n    analytics: \"UA-XXXXXXX-X\",\n    customMarkdownParser: (markdownContent) =\u003e `\n      \u003cdiv style=\"font-family: system-ui\"\u003e${markdownContent}\u003c/div\u003e\n    `,\n    customHTML: {\n      head: `\n        \u003cmeta name=\"description\" content=\"Express Docs Example\"\u003e\n      `,\n      body: `\n        \u003cdiv style=\"\n          font-family: system-ui;\n          position: fixed;\n          right: 7.5px;\n          padding-top: calc(100vh - 27.5px);\n        \"\u003eMade by Express Docs\u003c/div\u003e\n     `\n    },\n    customCode: () =\u003e {\n      console.log(\"This documentation page was made by Express Docs.\");\n    }\n    customStyle: `\n      body: {\n        background-color: #1c1c1c;\n        invert(95%) hue-rotate(180deg);\n      }\n    `,\n    extensions: [\n      require(\"express-docs-themes\")(\"translucence\")\n    ]\n  }\n}));\n```\n\n\u003e **Note**\n\u003e If you're using Linux Bash for Windows, [see this guide](https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) or use `node` from the command prompt.\n\u003e\n\u003e If you're not using Windows, change the ```./node_modules/express-documentation/package.json``` file accordingly to [this guide](https://www.electron.build/index.html/).\n\n## Credits\n\nThis software uses the following open source packages:\n\n- [Node.js](https://nodejs.org)\n- [Express.js](https://github.com/expressjs/express)\n- [EJS](https://ejs.co)\n\n## Support\n\n\u003ca href=\"https://www.patreon.com/DinoscapeArmy\"\u003e\n\t\u003cimg src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\"\u003e\n\u003c/a\u003e\n\n## You may also like...\n\n\n- [Remote Control](https://github.com/DinoscapeProgramming/Remote-Control) - An advanced, but easy-to-use Remote Desktop Application Program\n- [Youtube Offline](https://github.com/DinoscapeProgramming/Youtube-Offline) - A lightweight YouTube video downloader\n- [Appify](https://github.com/DinoscapeProgramming/Appify) - A tiny tool that allows you to turn your website into an app\n- [Meetings](https://github.com/DinoscapeProgramming/Meetings) - A meetings app with lots of features\n- [DinoChess](https://github.com/DinoscapeProgramming/DinoChess) - A chess platform for chess lovers\n\n## License\n\n[Apache-2.0](https://raw.githubusercontent.com/DinoscapeProgramming/Express-Docs/master/LICENSE)\n\n---\n\n\u003e [dinoscape.com](https://dinoscape.com) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e GitHub [@DinoscapeProgramming](https://github.com/DinoscapeProgramming) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e Scratch [@Dinoscape](https://scratch.mit.edu/users/Dinoscape)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinoscapeprogramming%2Fexpress-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdinoscapeprogramming%2Fexpress-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinoscapeprogramming%2Fexpress-docs/lists"}