@@ -279,7 +279,7 @@ class HtmlGeneratorInstance {
279279 PackageTemplateData (_options, packageGraph, _templateHelper, package);
280280 logInfo ('documenting ${package .name }' );
281281
282- _build ('index.html' , _templates.indexTemplate, data);
282+ _build (package.filePath , _templates.indexTemplate, data);
283283 _build ('__404error.html' , _templates.errorTemplate, data);
284284 }
285285
@@ -289,8 +289,7 @@ class HtmlGeneratorInstance {
289289 TemplateData data =
290290 CategoryTemplateData (_options, packageGraph, _templateHelper, category);
291291
292- _build (path.joinAll (category.href.split ('/' )), _templates.categoryTemplate,
293- data);
292+ _build (category.filePath, _templates.categoryTemplate, data);
294293 }
295294
296295 void generateLibrary (PackageGraph packageGraph, Library lib) {
@@ -302,107 +301,97 @@ class HtmlGeneratorInstance {
302301 TemplateData data =
303302 LibraryTemplateData (_options, packageGraph, _templateHelper, lib);
304303
305- _build (path.join (lib.dirName, '${lib .fileName }' ),
306- _templates.libraryTemplate, data);
304+ _build (lib.filePath, _templates.libraryTemplate, data);
307305 }
308306
309307 void generateClass (PackageGraph packageGraph, Library lib, Class clazz) {
310308 TemplateData data =
311309 ClassTemplateData (_options, packageGraph, _templateHelper, lib, clazz);
312- _build (path. joinAll ( clazz.href. split ( '/' )) , _templates.classTemplate, data);
310+ _build (clazz.filePath , _templates.classTemplate, data);
313311 }
314312
315313 void generateExtension (
316- PackageGraph packageGraph, Library lib, Extension ext ) {
314+ PackageGraph packageGraph, Library lib, Extension extension ) {
317315 TemplateData data = ExtensionTemplateData (
318- _options, packageGraph, _templateHelper, lib, ext);
319- _build (
320- path.joinAll (ext.href.split ('/' )), _templates.extensionTemplate, data);
316+ _options, packageGraph, _templateHelper, lib, extension );
317+ _build (extension .filePath, _templates.extensionTemplate, data);
321318 }
322319
323320 void generateMixins (PackageGraph packageGraph, Library lib, Mixin mixin ) {
324321 TemplateData data =
325322 MixinTemplateData (_options, packageGraph, _templateHelper, lib, mixin );
326- _build (path. joinAll ( mixin .href. split ( '/' )) , _templates.mixinTemplate, data);
323+ _build (mixin .filePath , _templates.mixinTemplate, data);
327324 }
328325
329326 void generateConstructor (PackageGraph packageGraph, Library lib, Class clazz,
330327 Constructor constructor) {
331328 TemplateData data = ConstructorTemplateData (
332329 _options, packageGraph, _templateHelper, lib, clazz, constructor);
333330
334- _build (path.joinAll (constructor.href.split ('/' )),
335- _templates.constructorTemplate, data);
331+ _build (constructor.filePath, _templates.constructorTemplate, data);
336332 }
337333
338334 void generateEnum (PackageGraph packageGraph, Library lib, Enum eNum) {
339335 TemplateData data =
340336 EnumTemplateData (_options, packageGraph, _templateHelper, lib, eNum);
341337
342- _build (path. joinAll ( eNum.href. split ( '/' )) , _templates.enumTemplate, data);
338+ _build (eNum.filePath , _templates.enumTemplate, data);
343339 }
344340
345341 void generateFunction (
346342 PackageGraph packageGraph, Library lib, ModelFunction function) {
347343 TemplateData data = FunctionTemplateData (
348344 _options, packageGraph, _templateHelper, lib, function);
349345
350- _build (path.joinAll (function.href.split ('/' )), _templates.functionTemplate,
351- data);
346+ _build (function.filePath, _templates.functionTemplate, data);
352347 }
353348
354349 void generateMethod (
355350 PackageGraph packageGraph, Library lib, Container clazz, Method method) {
356351 TemplateData data = MethodTemplateData (
357352 _options, packageGraph, _templateHelper, lib, clazz, method);
358353
359- _build (
360- path.joinAll (method.href.split ('/' )), _templates.methodTemplate, data);
354+ _build (method.filePath, _templates.methodTemplate, data);
361355 }
362356
363357 void generateConstant (
364358 PackageGraph packageGraph, Library lib, Container clazz, Field property) {
365359 TemplateData data = ConstantTemplateData (
366360 _options, packageGraph, _templateHelper, lib, clazz, property);
367361
368- _build (path.joinAll (property.href.split ('/' )), _templates.constantTemplate,
369- data);
362+ _build (property.filePath, _templates.constantTemplate, data);
370363 }
371364
372365 void generateProperty (
373366 PackageGraph packageGraph, Library lib, Container clazz, Field property) {
374367 TemplateData data = PropertyTemplateData (
375368 _options, packageGraph, _templateHelper, lib, clazz, property);
376369
377- _build (path.joinAll (property.href.split ('/' )), _templates.propertyTemplate,
378- data);
370+ _build (property.filePath, _templates.propertyTemplate, data);
379371 }
380372
381373 void generateTopLevelProperty (
382374 PackageGraph packageGraph, Library lib, TopLevelVariable property) {
383375 TemplateData data = TopLevelPropertyTemplateData (
384376 _options, packageGraph, _templateHelper, lib, property);
385377
386- _build (path.joinAll (property.href.split ('/' )),
387- _templates.topLevelPropertyTemplate, data);
378+ _build (property.filePath, _templates.topLevelPropertyTemplate, data);
388379 }
389380
390381 void generateTopLevelConstant (
391382 PackageGraph packageGraph, Library lib, TopLevelVariable property) {
392383 TemplateData data = TopLevelConstTemplateData (
393384 _options, packageGraph, _templateHelper, lib, property);
394385
395- _build (path.joinAll (property.href.split ('/' )),
396- _templates.topLevelConstantTemplate, data);
386+ _build (property.filePath, _templates.topLevelConstantTemplate, data);
397387 }
398388
399389 void generateTypeDef (
400390 PackageGraph packageGraph, Library lib, Typedef typeDef) {
401391 TemplateData data = TypedefTemplateData (
402392 _options, packageGraph, _templateHelper, lib, typeDef);
403393
404- _build (path.joinAll (typeDef.href.split ('/' )), _templates.typeDefTemplate,
405- data);
394+ _build (typeDef.filePath, _templates.typeDefTemplate, data);
406395 }
407396
408397 // TODO: change this to use resource_loader
@@ -420,9 +409,11 @@ class HtmlGeneratorInstance {
420409 }
421410
422411 void _build (String filename, Template template, TemplateData data) {
412+ // Replaces '/' separators with proper separators for the platform.
413+ String outFile = path.joinAll (filename.split ('/' ));
423414 String content = template.renderString (data);
424415
425- _writer (filename , content);
416+ _writer (outFile , content);
426417 if (data.self is Indexable ) _indexedElements.add (data.self as Indexable );
427418 }
428419}
0 commit comments