Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Unified Diff: pkg/docgen/lib/docgen.dart

Issue 23003010: Appending working for library_list.json (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/docgen/bin/docgen.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/docgen/lib/docgen.dart
diff --git a/pkg/docgen/lib/docgen.dart b/pkg/docgen/lib/docgen.dart
index a51ab86d0ad85fda06bf9eb98a81f24782ca1fe0..6faca3f5132222521866d6d47e00f048f54e1b37 100644
--- a/pkg/docgen/lib/docgen.dart
+++ b/pkg/docgen/lib/docgen.dart
@@ -244,26 +244,44 @@ void _documentLibraries(List<LibraryMirror> libs, {bool includeSdk: false,
if (parseSdk) entityMap['dart.core.Object'].subclasses.clear();
var filteredEntities = entityMap.values.where(_isVisible);
+
+ // Outputs a JSON file with all libraries and their preview comments.
+ // This will help the viewer know what libraries are available to read in.
+ var libraryMap;
+ if (append) {
+ var docsDir = listDir('docs');
+ if (!docsDir.contains('docs/library_list.json')) {
+ throw new StateError('No library_list.json');
+ }
+ libraryMap = parse(new File('docs/library_list.json').readAsStringSync());
+ libraryMap['libraries'].addAll(filteredEntities
+ .where((e) => e is Library)
+ .map((e) => e.previewMap));
+ if (introduction.isNotEmpty) {
+ var intro = libraryMap['introduction'];
+ if (intro.isNotEmpty) intro += '<br/><br/>';
+ intro += markdown.markdownToHtml(
+ new File(introduction).readAsStringSync(),
+ linkResolver: linkResolver, inlineSyntaxes: markdownSyntaxes);
+ libraryMap['introduction'] = intro;
+ }
+ outputToYaml = libraryMap['filetype'] == 'yaml';
+ } else {
+ libraryMap = {
+ 'libraries' : filteredEntities.where((e) =>
+ e is Library).map((e) => e.previewMap).toList(),
+ 'introduction' : introduction == '' ?
+ '' : markdown.markdownToHtml(new File(introduction)
+ .readAsStringSync(), linkResolver: linkResolver,
+ inlineSyntaxes: markdownSyntaxes),
+ 'filetype' : outputToYaml ? 'yaml' : 'json'
+ };
+ }
+ _writeToFile(stringify(libraryMap), 'library_list.json');
// Output libraries and classes to file after all information is generated.
filteredEntities.where((e) => e is Class || e is Library).forEach((output) {
_writeIndexableToFile(output, outputToYaml);
});
- // Outputs a YAML or JSON file with all libraries and their preview comments
- // after creating all libraries. This will help the viewer know what
- // libraries are available to read in.
- var libraryMap = {
- 'libraries' : filteredEntities.where((e) =>
- e is Library).map((e) => e.previewMap).toList(),
- 'introduction' : introduction == '' ?
- '' : markdown.markdownToHtml(new File(introduction).readAsStringSync(),
- linkResolver: linkResolver, inlineSyntaxes: markdownSyntaxes)
- };
- if (outputToYaml) {
- _writeToFile(getYamlString(libraryMap), 'library_list.yaml',
- append: append);
- } else {
- _writeToFile(stringify(libraryMap), 'library_list.json', append: append);
- }
// Outputs all the qualified names documented with their type.
// This will help generate search results.
_writeToFile(filteredEntities.map((e) =>
« no previous file with comments | « pkg/docgen/bin/docgen.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698