Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide Documentation #332

Open
8 tasks
ricardomatias opened this issue Aug 12, 2015 · 10 comments
Open
8 tasks

Provide Documentation #332

ricardomatias opened this issue Aug 12, 2015 · 10 comments
Labels
backlog Queued in backlog documentation Improvements or additions to documentation

Comments

@ricardomatias
Copy link
Contributor

ricardomatias commented Aug 12, 2015

Provide documentation with links to the source code and additional resources. This may allow users to find their way into the toolkit more easily.

Tasks

  • Documentation can be found
  • Documentation can be searched
  • Documentation can be enriched with examples and external links
  • Documentation caters towards different audiences (shallow integrators, customizers)
  • Documentation separates public API from internals (TBD)
  • Documentation is publicly accessible / linkeable via deep links
  • Documentation is able to handle cross project boundaries (i.e. diagram-jsbpmn-js)
  • ...

See also 2021 assessment of our documentation.


Related to bpmn-io/diagram-js#78

Related to forum post

@ricardomatias ricardomatias added the documentation Improvements or additions to documentation label Aug 12, 2015
@nikku nikku added the backlog Queued in backlog label Feb 19, 2018
@nikku nikku changed the title Making documentation public Provide documentation Aug 8, 2018
@nikku
Copy link
Member

nikku commented Apr 29, 2020

Examples for auto-generated documentation:

Examples for custom-made documentation:

Examples for mixed API docs + custom-made:

@bennypowers
Copy link

In addition to generating a docs site, please generate .d.ts typings from your JSDoc. This should be a relatively straightforward, publish-time step, although it would provide much value to users.

microsoft/TypeScript#32372

@nikku
Copy link
Member

nikku commented Jan 18, 2021

@bennypowers Thanks for the link.

Why would that be necessary? The TypeScript type checker does not consider JSDoc in node_modules?

@bennypowers
Copy link

unfortunately not :/

additionally, this could help you generate docs via typedoc (either as JSON to be fed into some other documentation engine, or as html)

@nikku
Copy link
Member

nikku commented Jan 18, 2021

Linked your idea here. Valuable input, thanks for sharing.

@nikku nikku self-assigned this Aug 31, 2021
@nikku nikku added ready Ready to be worked on and removed backlog Queued in backlog labels Aug 31, 2021
@nikku nikku added backlog Queued in backlog and removed ready Ready to be worked on labels Sep 21, 2021 — with bpmn-io-tasks
@nikku
Copy link
Member

nikku commented Sep 21, 2021

I've added my 2021 assessment on documentation to the issue description.

@nikku nikku removed their assignment Sep 21, 2021
@lmihalkovic
Copy link

lmihalkovic commented Nov 4, 2022

... so yes, tsc can generate typings from JSDoc. I created a small project to automatically generate them for diagram-js. As could be anticipated, the result is unusable: the doc is fine for someone who can infer the intentions of the developer (or understands well some typical JS coding patterns), or can read the source code to validate the interpretation, but in many places it is simply not precise enough in its current form.

simple example:

* @param {string} [name] the optional event name
* @param {Object} [event] the event object
* @param {...Object} additional arguments to be passed to the callback functions
EventBus.prototype.fire = function(type, data) {...}

The generator outputs

  fire(type: any, data: any, ...args: any[]): boolean;

This is plain wrong.

I will try to investigate why the generator does not output the slightly better

  fire(type?: any, data?: any, ...args: any[]): boolean;

The cleaner output would be something like:

  fire(name: string | { type: string }, event?: any, ...data: any[]): any;

This is truly a bummer as diagram-js is an otherwise nice piece of code ...

@philippfromme philippfromme added the ready Ready to be worked on label Nov 15, 2022 — with bpmn-io-tasks
@philippfromme philippfromme removed the backlog Queued in backlog label Nov 15, 2022
@philippfromme philippfromme added the in progress Currently worked on label Nov 22, 2022 — with bpmn-io-tasks
@philippfromme philippfromme removed the ready Ready to be worked on label Nov 22, 2022
@philippfromme philippfromme added the ready Ready to be worked on label Nov 22, 2022 — with bpmn-io-tasks
@philippfromme philippfromme removed the in progress Currently worked on label Nov 22, 2022
@philippfromme philippfromme changed the title Provide documentation Provide Documentation Nov 22, 2022
@philippfromme
Copy link
Contributor

@bpmn-io-tasks bpmn-io-tasks bot removed the ready Ready to be worked on label Dec 6, 2022
@nikku
Copy link
Member

nikku commented Dec 6, 2022

Shouldn't we keep a public issue open? Feel free to move it to backlog and unassign yourself.

@nikku nikku reopened this Dec 12, 2022
@nikku nikku added the backlog Queued in backlog label Dec 12, 2022
@nikku
Copy link
Member

nikku commented Sep 1, 2023

As of bpmn-js@13 we offer comprehensive API documentation (via type definitions).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Queued in backlog documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

5 participants