@@ -13,7 +13,9 @@ import 'package:dartdoc/src/generator/resource_loader.dart' as loader;
13
13
import 'package:mustache/mustache.dart' ;
14
14
import 'package:path/path.dart' as path;
15
15
16
- const _partials = < String > [
16
+ // resource_loader and the Resource API doesn't support viewing resources like
17
+ // a directory listing, so we have to explicitly list the partials.
18
+ const _partials_html = < String > [
17
19
'callable' ,
18
20
'callable_multiline' ,
19
21
'categorization' ,
@@ -42,6 +44,27 @@ const _partials = <String>[
42
44
'accessor_setter' ,
43
45
];
44
46
47
+ const _partials_md = < String > [
48
+ 'accessor_getter' ,
49
+ 'accessor_setter' ,
50
+ 'callable' ,
51
+ 'callable_multiline' ,
52
+ 'categorization' ,
53
+ 'class' ,
54
+ 'constant' ,
55
+ 'documentation' ,
56
+ 'extension' ,
57
+ 'features' ,
58
+ 'footer' ,
59
+ 'head' ,
60
+ 'library' ,
61
+ 'mixin' ,
62
+ 'name_summary' ,
63
+ 'property' ,
64
+ 'source_code' ,
65
+ 'source_link' ,
66
+ ];
67
+
45
68
const String _headerPlaceholder = '{{! header placeholder }}' ;
46
69
const String _footerPlaceholder = '{{! footer placeholder }}' ;
47
70
const String _footerTextPlaceholder = '{{! footer-text placeholder }}' ;
@@ -82,17 +105,33 @@ abstract class _TemplatesLoader {
82
105
/// Loads default templates included in the Dartdoc program.
83
106
class _DefaultTemplatesLoader extends _TemplatesLoader {
84
107
final String _format;
108
+ final List <String > _partials;
109
+
110
+ factory _DefaultTemplatesLoader .create (String format) {
111
+ List <String > partials;
112
+ switch (format) {
113
+ case 'html' :
114
+ partials = _partials_html;
115
+ break ;
116
+ case 'md' :
117
+ partials = _partials_md;
118
+ break ;
119
+ default :
120
+ partials = [];
121
+ }
122
+ return _DefaultTemplatesLoader (format, partials);
123
+ }
85
124
86
- _DefaultTemplatesLoader (this ._format);
125
+ _DefaultTemplatesLoader (this ._format, this ._partials );
87
126
88
127
@override
89
128
Future <Map <String , String >> loadPartials () async {
90
- var partials = < String , String > {};
129
+ var templates = < String , String > {};
91
130
for (String name in _partials) {
92
131
var uri = 'package:dartdoc/templates/$_format /_$name .$_format ' ;
93
- partials [name] = await loader.loadAsString (uri);
132
+ templates [name] = await loader.loadAsString (uri);
94
133
}
95
- return partials ;
134
+ return templates ;
96
135
}
97
136
98
137
@override
@@ -178,7 +217,7 @@ class Templates {
178
217
{List <String > headerPaths,
179
218
List <String > footerPaths,
180
219
List <String > footerTextPaths}) async {
181
- return _create (_DefaultTemplatesLoader (format),
220
+ return _create (_DefaultTemplatesLoader . create (format),
182
221
headerPaths: headerPaths,
183
222
footerPaths: footerPaths,
184
223
footerTextPaths: footerTextPaths);
0 commit comments