File tree Expand file tree Collapse file tree 7 files changed +31
-2
lines changed Expand file tree Collapse file tree 7 files changed +31
-2
lines changed Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff line change 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 ">
Original file line number Diff line number Diff 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 });
Original file line number Diff line number Diff 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 });
Original file line number Diff line number Diff line change 11name : test_package
2+ homepage : http://github.com/dart-lang
23description : Best package ever.
34version : 0.0.1
45dependencies :
Original file line number Diff line number Diff line change 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 ">
You can’t perform that action at this time.
0 commit comments