From af145cdff6db6622cf15396d898900f985cebe85 Mon Sep 17 00:00:00 2001 From: Seth Ladd Date: Wed, 7 Jan 2015 16:27:37 -0800 Subject: [PATCH 1/4] generate the index file from a template --- lib/src/generator.dart | 54 +++++++++++++----------------------------- templates/index.html | 48 +++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 38 deletions(-) create mode 100644 templates/index.html diff --git a/lib/src/generator.dart b/lib/src/generator.dart index 0fa39ea027..1c85ec6834 100644 --- a/lib/src/generator.dart +++ b/lib/src/generator.dart @@ -19,6 +19,8 @@ class HtmlGenerator { // The sitemap template file static final String siteMapTemplate = '/templates/sitemap.xml'; + static final String indexTemplate = '/templates/index.html'; + static final String bootstrapOverrides = ''' body { margin: 8px; @@ -48,49 +50,25 @@ body { } void generatePackage() { - var packageName = package.name; - var packageDesc = package.description; - var packageVersion = package.version; + var data = { + 'packageName': package.name, + 'packageDesc': package.description, + 'packageVersion': package.version, + 'libraries': package.libraries.map((lib) { + return {'name': lib.name, 'filename': _getFileNameFor(lib)}; + }) + }; var fileName = 'index.html'; File f = joinFile(new Directory(out.path), [fileName]); htmlFiles.add(fileName); print('generating ${f.path}'); - html.start( - title: 'Package ${packageName}', - cssRef: css.cssHeader, - theme: css.theme, - inlineStyle: bootstrapOverrides); - html.generateHeader(); - html.startTag('div', attributes: "class='container'", newLine: false); - html.writeln(); - html.startTag('div', attributes: "class='row'", newLine: false); - html.writeln(); - html.startTag('div', attributes: "class='col-md-3'"); - html.startTag('ul', attributes: 'class="nav nav-pills nav-stacked"'); - html.startTag('li', attributes: 'class="active"', newLine: false); - html.write( - '' ' ' '${packageName}-${packageVersion}'); - html.endTag(); //li - html.endTag(); //ul - html.endTag(); - html.startTag('div', attributes: "class='col-md-9'"); - html.tag('h1', contents: packageName); - html.writeln('
'); - html.write(packageDesc); - html.startTag('dl'); - html.startTag('h4'); - html.tag('dt', contents: 'Libraries'); - html.endTag(); - html.startTag('dd'); - for (Library lib in package.libraries) { - html.writeln(' ${lib.name}
'); - } - html.endTag(); - html.endTag(); // div.container - html.generateFooter(); - html.end(); - f.writeAsStringSync(html.toString()); + + var script = new File(Platform.script.toFilePath()); + File tmplFile = new File('${script.parent.parent.path}$indexTemplate'); + var tmpl = tmplFile.readAsStringSync(); + var content = render(tmpl, data); + f.writeAsStringSync(content); } void generateLibrary(Library library) { diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000000..cacbfeefdf --- /dev/null +++ b/templates/index.html @@ -0,0 +1,48 @@ + + + + + + + + + Package {{packageName}} AWESOME + + + + + + +
+
+
+
+ +
+

{{ packageName }}

+
+ {{ packageDesc }}
+

+
Libraries
+

+
+ {{ #libraries }} + {{ name }}
+ {{ /libraries }} +
+
+
+
+
+
+
+ + \ No newline at end of file From ba1b71a221272bd1d93f933d3b2f23f898eeb667 Mon Sep 17 00:00:00 2001 From: Seth Ladd Date: Wed, 7 Jan 2015 16:31:19 -0800 Subject: [PATCH 2/4] oops, remove funky test --- templates/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/index.html b/templates/index.html index cacbfeefdf..a6ed5cfa78 100644 --- a/templates/index.html +++ b/templates/index.html @@ -6,7 +6,7 @@ - Package {{packageName}} AWESOME + Package {{packageName}}