You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 4, 2017. It is now read-only.
docs(api/dart): add support for generation and display
Fixes#1880.
Supersedes #1593.
### Task breakdown
**Package dependencies:**
- [ ] [**BLOCKING**] Update to new [harp](https://github.com/sintaxi/harp) package which depends on latest [terraform](https://github.com/sintaxi/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 sintaxi/harp#526 (/cc @sintaxi).<br>Blocked awaiting the new release.
**Gulp tasks / build scripts:**
- [x] New tasks to run `pub` and `dartdoc` over (existing) `angular-dart` repo, peer to ng.io repo.
- [x] `build-api-docs` should also do Dart API docs.
- [x] Shredder should run over Dart sources and generate example fragments.
- [x] Create script to patch local `terraform` package, while we await new harp release, as a means of **unblocking**.
**Generator package:**
- [x] New `tools/dart-api-builder`; stand alone tool re-using part of the basis of a Dart API dgeni package.
**Harp/Jade site infrastructure:**
- [x] New `public/docs/_layout-dart-api.jade`.
- [x] Updates to other Harp/Jade template files.
**API List directive:**
- [x] Create new or update existing `<api-list>` directive:
- [x] Display only filter categories that are relevant to Dart.
**Site data and Jade file generation:**
- [x] Main API page
- [x] Generate `api-list.json`.
- [x] Add warning that API is preliminary and that code might still appear as TS.
- [x] Generate data (`_data.json`) and Jade files for
- [x] For each library (i.e., top-level folder).
- [x] `_data.json`
- [x] Library "index" Jade page.
- [x] Each member Jade page.
- [x] For library subfolders (e.g., containing class member details).
- [x] `_data.json`
- [x] Folder "index" page (it actually has the same name as the container -- e.g., class name).
- [x] Each member page.
- [x] API Jade file page contents:
- [x] Attributes like name and type
- [x] Breadcrumbs
- [ ] Page header section tabs.
- [x] Core page content excerpt from dartdoc-generated page
- [x] Exclude the "left" nav menu (full ng2 package content list) from the core page content.
- [x] `{@example ...}` tags are replaced by their designated example code fragments.
- [x] Filter generated API pages (configurable via regExp in build file): exclude entries from
- [x] Non-public, developer/internal libraries.
- [x] Top-level catch all `angular2` library -- otherwise every entry appears twice.
- [x] Support developer & production modes for data (JSON) file generation
- [x] Developer mode (pretty-printed).
- [x] [NOT implemented] ~~Production mode (compact).~~
Note about the API subsite design:
- I had to resort to using Jade extends/includes; hence disabling Harp _layout/partials.
cc: @naomiblack@kwalrath@ferhatb@keertip
0 commit comments