{"id":22411051,"url":"https://github.com/smapiot/pidoc","last_synced_at":"2025-07-31T21:31:08.838Z","repository":{"id":38775949,"uuid":"368325879","full_name":"smapiot/pidoc","owner":"smapiot","description":"Tools for generating a dynamic documentation experience like for docs.piral.io :robot:.","archived":false,"fork":false,"pushed_at":"2024-12-04T11:49:35.000Z","size":5553,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-12-04T12:36:46.518Z","etag":null,"topics":["hacktoberfest","microfrontends","nodejs","piral","tools"],"latest_commit_sha":null,"homepage":"https://docs.piral.io","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/smapiot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":["smapiot","FlorianRappl"],"custom":["https://www.paypal.me/FlorianRappl"]}},"created_at":"2021-05-17T21:26:22.000Z","updated_at":"2024-12-04T11:49:41.000Z","dependencies_parsed_at":"2024-03-08T14:48:11.870Z","dependency_job_id":"d12cf0cd-01c5-4447-a131-8da8dece7b30","html_url":"https://github.com/smapiot/pidoc","commit_stats":null,"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smapiot%2Fpidoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smapiot%2Fpidoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smapiot%2Fpidoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smapiot%2Fpidoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smapiot","download_url":"https://codeload.github.com/smapiot/pidoc/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228114088,"owners_count":17871726,"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":["hacktoberfest","microfrontends","nodejs","piral","tools"],"created_at":"2024-12-05T13:12:53.176Z","updated_at":"2024-12-05T13:12:53.772Z","avatar_url":"https://github.com/smapiot.png","language":"JavaScript","funding_links":["https://github.com/sponsors/smapiot","https://github.com/sponsors/FlorianRappl","https://www.paypal.me/FlorianRappl"],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/smapiot/pidoc/actions/workflows/node.js.yml/badge.svg)](https://github.com/smapiot/pidoc/actions)\n[![npm](https://img.shields.io/npm/v/piral-docs-tools.svg)](https://www.npmjs.com/package/piral-docs-tools)\n[![node](https://img.shields.io/node/v/piral-docs-tools.svg)](https://www.npmjs.com/package/piral-docs-tools)\n[![GitHub tag](https://img.shields.io/github/tag/smapiot/pidoc.svg)](https://github.com/smapiot/pidoc/releases)\n[![GitHub issues](https://img.shields.io/github/issues/smapiot/pidoc.svg)](https://github.com/smapiot/pidoc/issues)\n\n# [`pidoc`](https://docs.piral.io) \u0026middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/smapiot/pidoc/blob/main/LICENSE)\n\nA collection of tools and utiltiies for making a documentation page using Piral (and more). Examples using `pidoc`:\n\n- [pidoc.js.org](https://pidoc.js.org)\n- [docs.piral.io](https://docs.piral.io)\n- [docs.piral.cloud](https://docs.piral.cloud)\n- [anglesharp.github.io](https://anglesharp.github.io)\n\nA full documentation of this can be found [here](./packages/example-app/docs) or [online as a website already using pidoc](https://pidoc.js.org).\n\n## Using the `pidoc` Application\n\nThis is best-suited if you just want to bring some documentation to a dynamic website.\n\n(tbd)\n\n### Configuration\n\nPlace a file called *docs.config.json* in the project folder where `pidoc` is being run. It should be adjacent to the *package.json*.\n\n```json\n{\n  \"title\": \"Doc Title\",\n  \"description\": \"The description for the documentation.\",\n  \"author\": \"your-orga\",\n  \"branch\": \"main\",\n  \"repositoryUrl\": \"https://github.com/your-orga/your-repo\",\n  \"rootDir\": \".\",\n  \"outputDir\": \"./dist/docs\",\n  \"skipEditLabel\": false,\n  \"changelogFile\": \"./CHANGELOG.md\",\n  \"sass\": {\n    \"variables\": \"./src/global.scss\"\n  },\n  \"styles\": [\n    \"./src/styles.css\"\n  ],\n  \"components\": {\n    \"logo\": \"./src/Logo.tsx\",\n    \"infoBar\": \"./src/InfoBar.tsx\",\n    \"breadcrumbs\": \"./src/Breadcrumbs.tsx\",\n    \"footer\": \"./src/Footer.tsx\",\n    \"header\": \"./src/Header.tsx\",\n    \"notFoundPage\": \"./src/NotFoundPage.tsx\"\n  },\n  \"pages\": {\n    \"/imprint\": \"./src/ImprintPage.tsx\"\n  },\n  \"helpers\": {\n    \"setup\": \"./src/setup.ts\",\n    \"filter\": \"./src/filter.ts\",\n    \"plugins\": \"./src/piralPlugins.ts\",\n    \"requestPilets\": \"./src/requestPilets.ts\"\n  },\n  \"redirects\": {\n    \"/\": \"/chapterName\"\n  },\n  \"sitemap\": {\n    \"chapterName\": {\n      \"title\": \"Chapter 1\",\n      \"sections\": []\n    }\n  }\n}\n```\n\n### Commands\n\nThese commands are available when using the `pidoc` library.\n\n#### Building\n\nA documentation page can be built using\n\n```sh\npidoc build\n```\n\n#### Watching\n\nA documentation page can be watched using\n\n```sh\npidoc watch\n```\n\n#### Emulator\n\nAn emulator package can be built using\n\n```sh\npidoc sdk\n```\n\n### Sitemap Structure\n\nThe structure of a sitemap is as follows:\n\n```ts\ninterface SingleSection {\n  title: string;\n  links: SitemapItem | Array\u003cSitemapItem\u003e;\n}\n\ntype GenerateContent = CustomGenerator | StandardGenerator;\n\ninterface StandardGenerator {\n  generator: 'markdown' | 'types';\n  segment: string;\n  dir: string;\n  exclude?: string;\n  include?: string;\n}\n\ninterface CustomGenerator {\n  generator: 'custom';\n  path: string;\n}\n\ntype SitemapItem = GenerateContent | SingleSection;\n\ninterface Sitemap {\n  [chapterName: string]: {\n    title: string;\n    sections: Array\u003cSitemapItem\u003e;\n  };\n}\n```\n\n## Using the `@pidoc/core` Library\n\nThis is best-suited if you already have a project using `piral` (or other libraries like `piral-core`). For more information on Piral visit the [GitHub repository](https://github.com/smapiot/piral) or the official [homepage](https://piral.io).\n\n### Installation\n\nYou can add the tool by installing it via NPM:\n\n```sh\nnpm i @pidoc/core --save-dev\n```\n\nA couple of peer dependencies also need to be resolved. If can install all peer dependencies using:\n\n```sh\nnpm i piral-core piral-cli piral-cli-webpack5 react react-dom react-router-dom --save-dev\n```\n\n## License\n\n`pidoc` is released using the MIT license. For more information see the [license file](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmapiot%2Fpidoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmapiot%2Fpidoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmapiot%2Fpidoc/lists"}