Skip to content
This repository was archived by the owner on Dec 4, 2017. It is now read-only.
This repository was archived by the owner on Dec 4, 2017. It is now read-only.

Dart API docs: add support for generation and display #1880

Closed
@chalin

Description

@chalin

Supersedes #1593.

Task breakdown

Package dependencies:

Gulp tasks / build scripts:

  • New tasks to run pub and dartdoc over (existing) angular-dart repo, peer to ng.io repo.
  • build-api-docs should also do Dart API docs.
  • Shredder should run over Dart sources and generate example fragments.
  • Create script to patch local terraform package, while we await new harp release, as a means of unblocking.

Generator package:

  • New tools/dart-api-builder; stand alone tool re-using part of the basis of a Dart API dgeni package.

Harp/Jade site infrastructure:

  • New public/docs/_layout-dart-api.jade.
  • Updates to other Harp/Jade template files.

API List directive:

  • Create new or update existing <api-list> directive:
    • Display only filter categories that are relevant to Dart.
    • Make library header a link to the library "index" page.

Site data and Jade file generation:

  • Main API page
    • Generate api-list.json.
    • Add warning that API is preliminary and that code might still appear as TS.
  • Generate data (_data.json) and Jade files for
    • For each library (i.e., top-level folder).
      • _data.json
      • Library "index" Jade page.
      • Each member Jade page.
    • For library subfolders (e.g., containing class member details).
      • _data.json
      • Folder "index" page (it actually has the same name as the container -- e.g., class name).
      • Each member page.
  • API Jade file page contents:
    • Attributes like name and type
    • Breadcrumbs
    • Page header section tabs.
    • Core page content excerpt from dartdoc-generated page
      • Exclude the "left" nav menu (full ng2 package content list) from the core page content.
    • {@example ...} tags are replaced by their designated example code fragments.
  • Filter generated API pages (configurable via regExp in build file): exclude entries from
    • Non-public, developer/internal libraries.
    • Top-level catch all angular2 library -- otherwise every entry appears twice.
  • Support developer & production modes for data (JSON) file generation
    • Developer mode (pretty-printed).
    • [NOT implemented] Production mode (compact).

cc: @naomiblack @kwalrath @ferhatb @keertip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions