https://github.com/electron/docs-parser
Parse Electron docs in a lossless way into a JSON file
https://github.com/electron/docs-parser
Last synced: 2 months ago
JSON representation
Parse Electron docs in a lossless way into a JSON file
- Host: GitHub
- URL: https://github.com/electron/docs-parser
- Owner: electron
- License: mit
- Created: 2019-01-07T04:28:30.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-26T14:08:21.000Z (7 months ago)
- Last Synced: 2024-10-29T14:58:34.511Z (7 months ago)
- Language: TypeScript
- Size: 692 KB
- Stars: 22
- Watchers: 8
- Forks: 19
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Electron Docs Parser
[](https://github.com/electron/docs-parser/actions/workflows/test.yml)
[](https://npmjs.org/package/@electron/docs-parser)> Generate a structured JSON API file from Electron's free-form documentation
## Usage
```bash
yarn global add @electron/docs-parser
cd ~/projects/path/to/electron/repo
electron-docs-parser --dir ./# You now have ./electron-api.json with the entire Electron API
```Options:
* `--useReadme` - Assume all documentation is in the module's base `README.md` file
* `--dir` - The base directory where documentation is located.
* API documentation must be located in `/docs/api` within the specified base directory.
* API structures documentation must be located in `/docs/api/structures` within the specified base directory.
* `--packageMode` - Can be `single` or `multi`; default `single`. Specifying `multi` allows exporting multiple packages from an API instead of multiple modules from a single package.## How it Works
We generate a markdown AST for every documentation file and search for
"Modules", "Classes" and "Structures". We then use the well documented
and enforced [Electron docs style guide](https://github.com/electron/electron/blob/main/docs/styleguide.md) to pull the required information
about methods, properties and events from the generated AST.For more information you should start your code dive in
[`DocsParser.ts`](src/DocsParser.ts) and then probably
[`block-parsers.ts`](src/block-parsers.ts).## TypeScript Definitions
The output of this module is used to generate TypeScript definitions for
the Electron API. This module itself is not used to generate those
definitions - [@electron/typescript-definitions](https://github.com/electron/typescript-definitions) is.Further, if you're looking for tooling that automatically surfaces
typings in GitHub PRs, you're probably looking for [Archaeologist](https://github.com/electron/archaeologist).## License
MIT