Skip to content

Commit cad1639

Browse files
authored
Finish package-centered refactor of template data (#1699)
* Fix bug where --version didn't do anything * Review comments * Rebuild test package docs for retype deprecation in dev.55 * dartdoc_test as full integration test now * Eliminate unused initializer and update pubspec * allow unversioned * Add test * Add gitignore to test_package_minimum * Squash changes * fix tests * dartfmt + fix class templating * dartfmt * Remove extra copy of contextFromArgvTemp introduced in merge resolution
1 parent d834d1a commit cad1639

14 files changed

+192
-207
lines changed

lib/dartdoc.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ class Dartdoc extends PackageBuilder {
219219
}
220220

221221
if (referredFromElements.isEmpty && referredFrom == 'index.html')
222-
referredFromElements.add(packageGraph);
222+
referredFromElements.add(packageGraph.defaultPackage);
223223
String message = warnOn;
224224
if (referredFrom == 'index.json') message = '$warnOn (from index.json)';
225225
packageGraph.warnOnElement(warnOnElement, kind,

lib/src/html/html_generator_instance.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class HtmlGeneratorInstance {
8787
void _generateDocs() {
8888
if (_packageGraph == null) return;
8989

90-
generatePackage();
90+
generatePackage(_packageGraph, _packageGraph.defaultPackage);
9191

9292
for (var package in _packageGraph.localPackages) {
9393
for (var lib in filterNonDocumented(package.libraries)) {
@@ -164,9 +164,10 @@ class HtmlGeneratorInstance {
164164
}
165165
}
166166

167-
void generatePackage() {
168-
TemplateData data = new PackageTemplateData(_options, _packageGraph);
169-
logInfo('documenting ${_packageGraph.name}');
167+
void generatePackage(PackageGraph packageGraph, Package package) {
168+
TemplateData data =
169+
new PackageTemplateData(_options, packageGraph, package);
170+
logInfo('documenting ${package.name}');
170171

171172
_build('index.html', _templates.indexTemplate, data);
172173
}

lib/src/html/template_data.dart

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -82,35 +82,36 @@ abstract class TemplateData<T extends Documentable> {
8282
}
8383
}
8484

85-
class PackageTemplateData extends TemplateData<PackageGraph> {
86-
PackageTemplateData(HtmlOptions htmlOptions, PackageGraph packageGraph)
85+
class PackageTemplateData extends TemplateData<Package> {
86+
final Package package;
87+
PackageTemplateData(
88+
HtmlOptions htmlOptions, PackageGraph packageGraph, this.package)
8789
: super(htmlOptions, packageGraph);
8890

8991
@override
9092
bool get includeVersion => true;
9193
@override
9294
List get navLinks => [];
9395
@override
94-
String get title => '${packageGraph.name} - Dart API docs';
96+
String get title => '${package.name} - Dart API docs';
9597
@override
96-
PackageGraph get self => packageGraph;
98+
Package get self => package;
9799
@override
98-
String get layoutTitle => _layoutTitle(packageGraph.name, kind, false);
100+
String get layoutTitle => _layoutTitle(package.name, kind, false);
99101
@override
100102
String get metaDescription =>
101-
'${packageGraph.name} API docs, for the Dart programming language.';
103+
'${package.name} API docs, for the Dart programming language.';
102104
@override
103105
Iterable<Subnav> getSubNavItems() {
104-
return [new Subnav('Libraries', '${packageGraph.href}#libraries')];
106+
return [new Subnav('Libraries', '${package.href}#libraries')];
105107
}
106108

107109
@override
108-
bool get hasHomepage => packageGraph.hasHomepage;
110+
bool get hasHomepage => package.hasHomepage;
109111
@override
110-
String get homepage => packageGraph.homepage;
111-
112+
String get homepage => package.homepage;
112113
@override
113-
String get kind => packageGraph.kind;
114+
String get kind => package.kind;
114115

115116
/// `null` for packages because they are at the root – not needed
116117
@override
@@ -134,7 +135,7 @@ class LibraryTemplateData extends TemplateData<Library> {
134135
String get metaDescription =>
135136
'${library.name} library API docs, for the Dart programming language.';
136137
@override
137-
List get navLinks => [packageGraph];
138+
List get navLinks => [packageGraph.defaultPackage];
138139
@override
139140
Iterable<Subnav> getSubNavItems() sync* {
140141
if (library.hasPublicClasses)
@@ -186,7 +187,7 @@ class ClassTemplateData extends TemplateData<Class> {
186187
String get layoutTitle => _layoutTitle(
187188
clazz.nameWithLinkedGenerics, clazz.fullkind, clazz.isDeprecated);
188189
@override
189-
List get navLinks => [packageGraph, library];
190+
List get navLinks => [packageGraph.defaultPackage, library];
190191
@override
191192
String get htmlBase => '..';
192193
@override
@@ -238,7 +239,7 @@ class ConstructorTemplateData extends TemplateData<Constructor> {
238239
String get layoutTitle => _layoutTitle(
239240
constructor.name, constructor.fullKind, constructor.isDeprecated);
240241
@override
241-
List get navLinks => [packageGraph, library];
242+
List get navLinks => [packageGraph.defaultPackage, library];
242243
@override
243244
List get navLinksWithGenerics => [clazz];
244245
@override
@@ -273,7 +274,7 @@ class EnumTemplateData extends TemplateData<Enum> {
273274
'API docs for the ${eNum.name} enum from the ${library.name} library, '
274275
'for the Dart programming language.';
275276
@override
276-
List get navLinks => [packageGraph, library];
277+
List get navLinks => [packageGraph.defaultPackage, library];
277278
@override
278279
String get htmlBase => '..';
279280
@override
@@ -306,7 +307,7 @@ class FunctionTemplateData extends TemplateData<ModelFunction> {
306307
'API docs for the ${function.name} function from the '
307308
'${library.name} library, for the Dart programming language.';
308309
@override
309-
List get navLinks => [packageGraph, library];
310+
List get navLinks => [packageGraph.defaultPackage, library];
310311
@override
311312
Iterable<Subnav> getSubNavItems() => _gatherSubnavForInvokable(function);
312313
@override
@@ -335,7 +336,7 @@ class MethodTemplateData extends TemplateData<Method> {
335336
'API docs for the ${method.name} method from the ${clazz.name} class, '
336337
'for the Dart programming language.';
337338
@override
338-
List get navLinks => [packageGraph, library];
339+
List get navLinks => [packageGraph.defaultPackage, library];
339340
@override
340341
List get navLinksWithGenerics => [clazz];
341342
@override
@@ -367,7 +368,7 @@ class PropertyTemplateData extends TemplateData<Field> {
367368
'API docs for the ${property.name} $type from the ${clazz.name} class, '
368369
'for the Dart programming language.';
369370
@override
370-
List get navLinks => [packageGraph, library];
371+
List get navLinks => [packageGraph.defaultPackage, library];
371372
@override
372373
List get navLinksWithGenerics => [clazz];
373374
@override
@@ -407,7 +408,7 @@ class TypedefTemplateData extends TemplateData<Typedef> {
407408
'API docs for the ${typeDef.name} property from the '
408409
'${library.name} library, for the Dart programming language.';
409410
@override
410-
List get navLinks => [packageGraph, library];
411+
List get navLinks => [packageGraph.defaultPackage, library];
411412
@override
412413
String get htmlBase => '..';
413414
@override
@@ -436,7 +437,7 @@ class TopLevelPropertyTemplateData extends TemplateData<TopLevelVariable> {
436437
'API docs for the ${property.name} $_type from the '
437438
'${library.name} library, for the Dart programming language.';
438439
@override
439-
List get navLinks => [packageGraph, library];
440+
List get navLinks => [packageGraph.defaultPackage, library];
440441
@override
441442
String get htmlBase => '..';
442443

lib/src/html/templates.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import 'package:mustache4dart/mustache4dart.dart';
1313
const _partials = const <String>[
1414
'callable',
1515
'callable_multiline',
16+
'class',
1617
'constant',
1718
'footer',
1819
'head',

0 commit comments

Comments
 (0)