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

Side by Side Diff: chrome/common/extensions/docs/js/api_page_generator.js

Issue 465039: Extension Doc Changes (no building or testable changes) (Closed)
Patch Set: Created 11 years 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 unified diff | Download patch
« no previous file with comments | « chrome/common/extensions/docs/index.html ('k') | chrome/common/extensions/docs/manifest.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /** 1 /**
2 * @fileoverview This file is the controller for generating extension 2 * @fileoverview This file is the controller for generating extension
3 * doc pages. 3 * doc pages.
4 * 4 *
5 * It expects to have available via XHR (relative path): 5 * It expects to have available via XHR (relative path):
6 * 1) API_TEMPLATE which is the main template for the api pages. 6 * 1) API_TEMPLATE which is the main template for the api pages.
7 * 2) A file located at SCHEMA which is shared with the extension system and 7 * 2) A file located at SCHEMA which is shared with the extension system and
8 * defines the methods and events contained in one api. 8 * defines the methods and events contained in one api.
9 * 3) (Possibly) A static version of the current page url in /static/. I.e. 9 * 3) (Possibly) A static version of the current page url in /static/. I.e.
10 * if called as ../foo.html, it will look for ../static/foo.html. 10 * if called as ../foo.html, it will look for ../static/foo.html.
(...skipping 20 matching lines...) Expand all
31 31
32 // The current module for this page (if this page is an api module); 32 // The current module for this page (if this page is an api module);
33 var module; 33 var module;
34 34
35 // Mapping from typeId to module. 35 // Mapping from typeId to module.
36 var typeModule = {}; 36 var typeModule = {};
37 37
38 // Auto-created page name as default 38 // Auto-created page name as default
39 var pageName; 39 var pageName;
40 40
41 // If this page is an apiModule, the title of the api module 41 // If this page is an apiModule, the name of the api module
42 var apiModuleTitle; 42 var apiModuleName;
43 43
44 Array.prototype.each = function(f) { 44 Array.prototype.each = function(f) {
45 for (var i = 0; i < this.length; i++) { 45 for (var i = 0; i < this.length; i++) {
46 f(this[i], i); 46 f(this[i], i);
47 } 47 }
48 } 48 }
49 49
50 // Visits each item in the list in-order. Stops when f returns any truthy 50 // Visits each item in the list in-order. Stops when f returns any truthy
51 // value and returns that node. 51 // value and returns that node.
52 Array.prototype.select = function(f) { 52 Array.prototype.select = function(f) {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 console.error("exception: " + e); 164 console.error("exception: " + e);
165 handleError(); 165 handleError();
166 } 166 }
167 } 167 }
168 168
169 function renderTemplate() { 169 function renderTemplate() {
170 schema.each(function(mod) { 170 schema.each(function(mod) {
171 if (mod.namespace == pageBase) { 171 if (mod.namespace == pageBase) {
172 // This page is an api page. Setup types and apiDefinition. 172 // This page is an api page. Setup types and apiDefinition.
173 module = mod; 173 module = mod;
174 apiModuleTitle = "chrome." + module.namespace; 174 apiModuleName = "chrome." + module.namespace;
175 pageData.apiDefinition = module; 175 pageData.apiDefinition = module;
176 } 176 }
177 177
178 if (mod.types) { 178 if (mod.types) {
179 mod.types.each(function(type) { 179 mod.types.each(function(type) {
180 typeModule[type.id] = mod; 180 typeModule[type.id] = mod;
181 }); 181 });
182 } 182 }
183 }); 183 });
184 184
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 } 310 }
311 }); 311 });
312 312
313 return retval; 313 return retval;
314 } 314 }
315 315
316 function getTypeRefPage(type) { 316 function getTypeRefPage(type) {
317 return typeModule[type.$ref].namespace + ".html"; 317 return typeModule[type.$ref].namespace + ".html";
318 } 318 }
319 319
320 function getPageName() {
321 var pageDataName = getDataFromPageHTML("pageData-name");
322 // Allow empty string to be explitly set via pageData.
323 if (pageDataName == "") {
324 return pageDataName;
325 }
326
327 return pageDataName || apiModuleName || pageName;
328 }
329
320 function getPageTitle() { 330 function getPageTitle() {
331 var pageName = getPageName();
321 var pageTitleSuffix = "Google Chrome Extensions - Google Code"; 332 var pageTitleSuffix = "Google Chrome Extensions - Google Code";
322 var pageDataTitle = getDataFromPageHTML("pageData-title"); 333 if (pageName == "") {
323 // Allows an emptry string to be set as the title from pageData.
324 if (pageDataTitle == "") {
325 return pageTitleSuffix; 334 return pageTitleSuffix;
326 } 335 }
327 336
328 return (pageDataTitle || apiModuleTitle || pageName) + 337 return pageName + " - " + pageTitleSuffix;
329 " - " + pageTitleSuffix;
330 } 338 }
331 339
332 function getModuleName() { 340 function getModuleName() {
333 return "chrome." + module.namespace; 341 return "chrome." + module.namespace;
334 } 342 }
335 343
336 function getFullyQualifiedFunctionName(func) { 344 function getFullyQualifiedFunctionName(func) {
337 return getModuleName() + "." + func.name; 345 return getModuleName() + "." + func.name;
338 } 346 }
339 347
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 401
394 function sortByName(a, b) { 402 function sortByName(a, b) {
395 if (a.name < b.name) { 403 if (a.name < b.name) {
396 return -1; 404 return -1;
397 } 405 }
398 if (a.name > b.name) { 406 if (a.name > b.name) {
399 return 1; 407 return 1;
400 } 408 }
401 return 0; 409 return 0;
402 } 410 }
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/index.html ('k') | chrome/common/extensions/docs/manifest.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698