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
Description
Supersedes #1593.
Task breakdown
Package dependencies:
- [Issue moved to [Dart] API doc generation - update harp version and eliminate patch #1899] Update to new harp package which depends on latest terraform release. This is needed so that dots (
.
) can be supported in site URIs; something that is essential for Dart given that library names contain dots. See Update to Terraform v1.0.0 sintaxi/harp#526 (/cc @sintaxi).
Blocked awaiting the new release.
Gulp tasks / build scripts:
- New tasks to run
pub
anddartdoc
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
- 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.
-
- For each library (i.e., top-level folder).
- 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).
Metadata
Metadata
Assignees
Labels
No labels