Skip to content

Documentation push on node-add-api #280

Closed

Description

@mhdawson
No description provided.

Activity

  1. added this to the Milestone 9 milestone on Oct 12, 2017
  2. mhdawson commented on Oct 12, 2017

    @mhdawson
    MemberAuthor
  3. mhdawson commented on Oct 12, 2017

    @mhdawson
    MemberAuthor

    Cory is going to take a first cut at the outline of the doc, then we'll figure out how to split up the work of moving it forward.

  4. NickNaso commented on Oct 17, 2017

    @NickNaso
    Member

    Here I report some points that in my opinion we have to insert and disccuss about documentation

    • What is Node Addon API (litle overview)

    • Reasons and motivations behind the Node Addon API

    • Quick start (Very small instructions that allow to start in a fast way)

    • Links - reference to more specific parts of the documentation that will be in separate files and treat the following arguments:

      • Installation and usage

      • What is and how to use Environments

      • Scope and EscapableScope

      • What is and how to use Value

      • Creates a JS value from a C++ primitive

      • Creates C++ value from JS value

      • Buffer and TypedArray (They are particular JavaScript object and maybe we need to deepen their usage)

      • Javascript Properties

      • JavaScript Functions

      • Error handling (How to handle the error)

      • ObjectWrap (What is and how to use)

        • Little migration guide to pass from Nan::ObjectWrap
      • AsyncWorker (How to create async function)

        • Little migration guide to pass from Nan::AsyncWorker
      • How to create a module

        • Register a module
        • binding.gyp configuration (Link to some useful resources because sometimes it's very hard to find the right settings)
        • Generator for scaffolding a project of native addon
        • Useful reources tools that help to be more productive
        • Link to the examples (Consider the creation of some complex examples)
      • Conversion tool (How to use and which types of tasks it does for us)

      • News and Updates

    At moment there isn't a changelog file it's important to me know the changes happened and maybe the rationale behind them.

    After we will write the documentation we could consider the usage of a tool like docsify that will help us to generate site starting from markdown files.

  5. corymickelson commented on Oct 17, 2017

    @corymickelson
  6. NickNaso commented on Oct 17, 2017

    @NickNaso
    Member

    @corymickelson don't worry for me it's good to know that we are aligned on what we have to do.
    I think that based on this proposal we can discuss on how to split our work.
    The first step could be define some guidelines that we have to follow on writing documentation so at the end even if we split the tasks all will be similar and coherent.

  7. corymickelson commented on Oct 17, 2017

    @corymickelson
  8. jschlight commented on Oct 17, 2017

    @jschlight
    Collaborator

    Markdown works for me. I do not have a preference between Docsify and MkDocs.

  9. NickNaso commented on Oct 17, 2017

    @NickNaso
    Member

    Yes for me markdown is the right solution and then after this first step we can use one of the available tools out there to make the documentation more usable.
    If you want in this week I can start to write something for the Setup part

  10. digitalinfinity commented on Oct 17, 2017

    @digitalinfinity
    Contributor

    +1 for Markdown. One thing that @jasongin and I talked about a while back was whether we should have some documentation in the header file itself that we could extract out at package creation or build time to produce the API documentation automatically- it has some nice benefits in that if someone is using an IDE for developing their addon, the documentation for the API they're using can be made available within their IDE. My personal view is that it would be awesome if we could have API docs in the headers and have something that extracts them out and combines them with the other markdown documentation but I'll defer to y'all 😄

  11. corymickelson commented on Oct 17, 2017

    @corymickelson
  12. mhdawson commented on Oct 18, 2017

    @mhdawson
    MemberAuthor

    Markdown makes sense to me a well as that is what the standard Node.js API doc is in.

  13. mhdawson commented on Oct 23, 2017

    @mhdawson
    MemberAuthor

    Probably good to review this Issue to make sure we cover the issues mentioned there:

    nodejs/node-addon-api#91

  14. jschlight commented on Oct 25, 2017

    @jschlight
    Collaborator

    I am close to being ready to upload the first draft of the documentation I've been working on for review and criticism. What's the best way to go about that?

  15. 12 remaining items

  16. added this to the Milestone 10 milestone on Mar 15, 2018
  17. mhdawson commented on Apr 9, 2018

    @mhdawson
    MemberAuthor

    @NickNaso thanks for putting that together.

  18. mhdawson commented on Apr 12, 2018

    @mhdawson
    MemberAuthor

    Hitesh
    Basic Types
    Array
    Symbol
    String
    Name

    Michael
    Object Lifettime Management
    HandleScope
    EscapableHandleScope

    Kyle
    Buffer
    ArrayBuffer
    TypedArray
    TypedArrayOf

    Anisha
    Reference
    External
    Object
    ObjectReference
    PropertyDescriptor

    Nick
    Error
    AsyncWorker
    Function
    FunctionReference
    ObjectWrap
    ClassPropertyDescriptor

  19. kfarnung commented on May 2, 2018

    @kfarnung
    Contributor

    Opened nodejs/node-addon-api#256 for ArrayBuffer and Buffer.

  20. NickNaso commented on May 3, 2018

    @NickNaso
    Member

    Opened nodejs/node-addon-api#259 for error handling

  21. NickNaso commented on May 17, 2018

    @NickNaso
    Member

    Opened nodejs/node-addon-api#272 for asynchronous operation It's a first step I need review and suggestion to improve the doc.

  22. mhdawson commented on Jun 21, 2018

    @mhdawson
    MemberAuthor

    We need to look at DataView as well.

  23. mhdawson commented on Jul 5, 2018

    @mhdawson
    MemberAuthor

    Nick
    Function
    FunctionReference
    ObjectWrap
    ClassPropertyDescriptor

    Anisha
    ObjectReference
    PropertyDescriptor

    Kyle
    Buffer
    ArrayBuffer
    TypedArray
    TypedArrayOf

  24. mhdawson commented on Jul 5, 2018

    @mhdawson
    MemberAuthor

    @kfarnung are you going to get to those tagged with your name above? We would like to get done by Node Summit. If necessary we can split them up to get some people to do one or more of them.

  25. mhdawson commented on Jul 5, 2018

    @mhdawson
    MemberAuthor

    In addition to completing the remaining sections above we should

    • Update documentation so that we include the Napi namespace consitently. Ie Napi::Value instead of Value
    • review to see if everything is covered
    • remove the remaining comments about things being under development.
  26. kfarnung commented on Jul 5, 2018

    @kfarnung
    Contributor

    I'll plan to get the remaining two done next week.

  27. mhdawson commented on Sep 21, 2018

    @mhdawson
    MemberAuthor

    Thanks to everybody for all of the hard work. Now that nodejs/node-addon-api#335 landed I think we can close this. We will continually refine/improve the documentation but now it is complete and in reasonable shape to make sure we maintain coverage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions