Skip to content
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
32 of 36 tasks
chalin opened this issue Jul 14, 2016 · 0 comments
Closed
32 of 36 tasks

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

chalin opened this issue Jul 14, 2016 · 0 comments

Comments

@chalin
Copy link
Contributor

chalin commented Jul 14, 2016

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

chalin added a commit to chalin/angular.io that referenced this issue Jul 14, 2016
Fixes angular#1880.
Supersedes angular#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
chalin added a commit to chalin/angular.io that referenced this issue Jul 14, 2016
Fixes angular#1880.
Supersedes angular#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
chalin added a commit to chalin/angular.io that referenced this issue Jul 15, 2016
Fixes angular#1880.
Supersedes angular#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
chalin added a commit to chalin/angular.io that referenced this issue Jul 15, 2016
Fixes angular#1880.
Supersedes angular#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
chalin added a commit to chalin/angular.io that referenced this issue Jul 15, 2016
Fixes angular#1880.
Supersedes angular#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
chalin added a commit to chalin/angular.io that referenced this issue Jul 15, 2016
Fixes angular#1880.
Supersedes angular#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
kwalrath pushed a commit that referenced this issue Jul 15, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant