Skip to content

Commit 462dde8

Browse files
authored
Add homepage link to index
1 parent 4a505cf commit 462dde8

File tree

7 files changed

+31
-2
lines changed

7 files changed

+31
-2
lines changed

lib/src/html/template_data.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ abstract class TemplateData<T extends Documentable> {
4040

4141
bool get includeVersion => false;
4242

43+
bool get hasHomepage => false;
44+
String get homepage => null;
45+
4346
bool get hasSubNav => subnavItems.isNotEmpty;
4447

4548
List<Subnav> get subnavItems {
@@ -98,6 +101,11 @@ class PackageTemplateData extends TemplateData<Package> {
98101
return [new Subnav('Libraries', '${package.href}#libraries')];
99102
}
100103

104+
@override
105+
bool get hasHomepage => package.hasHomepage;
106+
@override
107+
String get homepage => package.homepage;
108+
101109
@override
102110
String get kind => (useCategories || package.isSdk) ? '' : 'package';
103111

lib/src/model.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import 'package:analyzer/dart/ast/ast.dart'
1313
show
1414
AnnotatedNode,
1515
Declaration,
16-
FormalParameter,
1716
FieldDeclaration,
1817
VariableDeclaration,
1918
VariableDeclarationList;
@@ -3631,6 +3630,10 @@ class Package extends Nameable implements Documentable {
36313630

36323631
List<Library> get libraries => _libraries.toList(growable: false);
36333632

3633+
bool get hasHomepage =>
3634+
packageMeta.homepage != null && packageMeta.homepage.isNotEmpty;
3635+
String get homepage => packageMeta.homepage;
3636+
36343637
@override
36353638
String get name => packageMeta.name;
36363639

lib/templates/_head.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@
3737
{{#navLinks}}
3838
<li><a href="{{href}}">{{name}}</a></li>
3939
{{/navLinks}}
40+
{{^hasHomepage}}
4041
<li class="self-crumb">{{{ layoutTitle }}}</li>
42+
{{/hasHomepage}}
43+
{{#hasHomepage}}
44+
<li><a href="{{homepage}}">{{{ layoutTitle }}}</a></li>
45+
{{/hasHomepage}}
4146
</ol>
4247
<div class="self-name">{{self.name}}</div>
4348
<form class="search navbar-right" role="search">

test/dartdoc_test.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ void main() {
6767

6868
Package p = results.package;
6969
expect(p.name, 'test_package_small');
70+
expect(p.hasHomepage, isFalse);
7071
expect(p.hasDocumentationFile, isFalse);
7172
expect(p.libraries, hasLength(1));
7273
});

test/model_test.dart

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ void main() {
5454
expect(package.libraries, hasLength(8));
5555
});
5656

57+
test('homepage', () {
58+
expect(package.hasHomepage, true);
59+
expect(package.homepage, equals('http://github.com/dart-lang'));
60+
});
61+
5762
test('categories', () {
5863
expect(package.categories, hasLength(1));
5964

@@ -94,6 +99,12 @@ void main() {
9499
expect(sdkAsPackage.name, equals('Dart SDK'));
95100
});
96101

102+
test('sdk homepage', () {
103+
expect(sdkAsPackage.hasHomepage, isTrue);
104+
expect(
105+
sdkAsPackage.homepage, equals('https://github.com/dart-lang/sdk'));
106+
});
107+
97108
test('sdk version', () {
98109
expect(sdkAsPackage.version, isNotNull);
99110
});

testing/test_package/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: test_package
2+
homepage: http://github.com/dart-lang
23
description: Best package ever.
34
version: 0.0.1
45
dependencies:

testing/test_package_docs/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
<header id="title">
2323
<ol class="breadcrumbs gt-separated dark hidden-xs">
24-
<li class="self-crumb">package test_package</li>
24+
<li><a href="http://github.com/dart-lang">package test_package</a></li>
2525
</ol>
2626
<div class="self-name">test_package</div>
2727
<form class="search navbar-right" role="search">

0 commit comments

Comments
 (0)