Index: Source/devtools/front_end/documentation/JSArticle.js |
diff --git a/Source/devtools/front_end/documentation/JSArticle.js b/Source/devtools/front_end/documentation/JSArticle.js |
index beb88dfad5833e84c2722a05166a07f5ca5ee412..5a1bd5036b3a302a4fb25c27c4bda8d5de0d80c8 100644 |
--- a/Source/devtools/front_end/documentation/JSArticle.js |
+++ b/Source/devtools/front_end/documentation/JSArticle.js |
@@ -25,43 +25,55 @@ WebInspector.JSArticle = function() |
/** |
* @constructor |
- * @param {string} name |
- * @param {string} dataType |
- * @param {string} optional |
+ * @param {?WebInspector.WikiParser.Block} name |
+ * @param {?WebInspector.WikiParser.Block} dataType |
+ * @param {?WebInspector.WikiParser.Block} optional |
* @param {?WebInspector.WikiParser.Block} description |
*/ |
WebInspector.JSArticle.Parameter = function(name, dataType, optional, description) |
{ |
- this.name = name; |
- this.dataType = dataType; |
- this.optional = optional.toUpperCase() === "YES"; |
+ this.name = WebInspector.JSArticle.unfoldStringValue(name); |
+ this.dataType = WebInspector.JSArticle.unfoldStringValue(dataType); |
+ var textContent = WebInspector.JSArticle.unfoldStringValue(optional); |
+ this.optional = textContent ? textContent.toUpperCase() === "YES" : false; |
this.description = description; |
} |
/** |
* @constructor |
- * @param {string} language |
- * @param {string} code |
- * @param {string} liveUrl |
+ * @param {?WebInspector.WikiParser.Block} language |
+ * @param {!WebInspector.WikiParser.Block} code |
+ * @param {?WebInspector.WikiParser.Block} liveUrl |
* @param {?WebInspector.WikiParser.Block} description |
*/ |
WebInspector.JSArticle.Example = function(language, code, liveUrl, description) |
{ |
- this.language = language; |
- this.code = code; |
- this.liveUrl = liveUrl; |
+ this.language = WebInspector.JSArticle.unfoldStringValue(language); |
+ this.code = WebInspector.JSArticle.unfoldStringValue(code); |
+ this.liveUrl = WebInspector.JSArticle.unfoldStringValue(liveUrl); |
this.description = description; |
} |
/** |
* @constructor |
- * @param {string} returnValueName |
- * @param {string} returnValueDescription |
+ * @param {?WebInspector.WikiParser.Block} returnValueName |
+ * @param {?WebInspector.WikiParser.Block} returnValueDescription |
*/ |
WebInspector.JSArticle.Method = function(returnValueName, returnValueDescription) |
{ |
- this.returnValueName = returnValueName; |
- this.returnValueDescription = returnValueDescription; |
+ this.returnValueName = WebInspector.JSArticle.unfoldStringValue(returnValueName); |
+ this.returnValueDescription = WebInspector.JSArticle.unfoldStringValue(returnValueDescription); |
+} |
+ |
+/** |
+ * @param {?WebInspector.WikiParser.Block} block |
+ * @return {?string} |
+ */ |
+WebInspector.JSArticle.unfoldStringValue = function(block) |
+{ |
+ if (block && block.hasChildren() && block.children()[0].hasChildren()) |
+ return block.children()[0].children()[0].text(); |
+ return null; |
} |
/** |
@@ -70,22 +82,8 @@ WebInspector.JSArticle.Method = function(returnValueName, returnValueDescription |
*/ |
WebInspector.JSArticle.parse = function(wikiMarkupText) |
{ |
- /** |
- * @param {string} string |
- * @param {string} debugInfo |
- * @return {?WebInspector.WikiParser.Block} |
- */ |
- function parseString(string, debugInfo) |
- { |
- var result = wikiParser.parseString(string); |
- if (!result) |
- console.error("Can't parse " + debugInfo); |
- return result; |
- } |
- |
var wikiParser = new WebInspector.WikiParser(wikiMarkupText); |
var wikiDocument = wikiParser.document(); |
- |
var article = new WebInspector.JSArticle(); |
article.pageTitle = wikiDocument["Page_Title"]; |
if (typeof article.pageTitle !== "string") |
@@ -101,23 +99,18 @@ WebInspector.JSArticle.parse = function(wikiMarkupText) |
article.methods = new WebInspector.JSArticle.Method(returnValueName, returnValue); |
} |
- var remarks = wikiDocument["Remarks_Section"] ? wikiDocument["Remarks_Section"]["Remarks"] : null; |
- if (remarks) |
- article.remarks = parseString(remarks, "remarks"); |
- |
- var summary = wikiDocument["Summary_Section"]; |
- if (summary) |
- article.summary = parseString(summary, "summary"); |
+ article.remarks = wikiDocument["Remarks_Section"] ? wikiDocument["Remarks_Section"]["Remarks"] : null; |
+ article.summary = wikiDocument["Summary_Section"]; |
var examples = wikiDocument["Examples_Section"] ? wikiDocument["Examples_Section"]["Examples"] : []; |
if (!Array.isArray(examples) && typeof examples !== "undefined") |
examples = [examples]; |
for (var i = 0; i < examples.length; ++i) { |
- var language = examples[i]["Single Example"]["Language"]; |
- var code = examples[i]["Single Example"]["Code"]; |
- var liveUrl = examples[i]["Single Example"]["LiveURL"]; |
- var description = parseString(examples[i]["Single Example"]["Description"], "example description"); |
+ var language = examples[i].values["Language"]; |
+ var code = examples[i].values["Code"]; |
+ var liveUrl = examples[i].values["LiveURL"]; |
+ var description = examples[i].values["Description"]; |
article.examples.push(new WebInspector.JSArticle.Example(language, code, liveUrl, description)); |
} |
@@ -126,10 +119,10 @@ WebInspector.JSArticle.parse = function(wikiMarkupText) |
parameters = [parameters]; |
for (var i = 0; i < parameters.length; ++i) { |
- var name = parameters[i]["Method Parameter"]["Name"]; |
- var dataType = parameters[i]["Method Parameter"]["Data type"]; |
- var optional = parameters[i]["Method Parameter"]["Optional"]; |
- var description = parseString(parameters[i]["Method Parameter"]["Description"], "method description"); |
+ var name = parameters[i].values["Name"]; |
+ var dataType = parameters[i].values["Data type"]; |
+ var optional = parameters[i].values["Optional"]; |
+ var description = parameters[i].values["Description"]; |
article.parameters.push(new WebInspector.JSArticle.Parameter(name, dataType, optional, description)); |
} |