Giter Club home page Giter Club logo

docs-parser's Introduction

Electron Docs Parser

Generate a structured JSON API file from Electron's free-form documentation

Usage

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 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 and then probably 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 is.

Further, if you're looking for tooling that automatically surfaces typings in GitHub PRs, you're probably looking for Archaeologist.

License

MIT

docs-parser's People

Contributors

marshallofsound avatar dependabot[bot] avatar ckerr avatar dsanders11 avatar bnb avatar codebytere avatar nornagon avatar zcbenz avatar tong avatar mcmics avatar miniak avatar vhashimotoo avatar

Stargazers

Classic Values avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.