properly handle inline references in apple dev docs

main
Lee Hanken 2022-05-02 11:56:13 +01:00
parent dd46072666
commit 0cbf5ad99c
1 changed files with 18 additions and 10 deletions

View File

@ -1,4 +1,7 @@
module.exports = { module.exports = {
dev_references: [],
dev_doc_url: function (url) { dev_doc_url: function (url) {
@ -25,12 +28,16 @@ module.exports = {
parse_dev_doc_json: function (json) { parse_dev_doc_json: function (json) {
let text = ""; let text = "";
if (typeof json.primaryContentSections !== 'undefined') {
text += this.process_sections(json.primaryContentSections); if (typeof json.references !== 'undefined') {
} else if (typeof json.sections !== 'undefined') { this.dev_references = json.references;
text += this.process_sections(json.sections); }
} if (typeof json.primaryContentSections !== 'undefined') {
return text; text += this.process_sections(json.primaryContentSections);
} else if (typeof json.sections !== 'undefined') {
text += this.process_sections(json.sections);
}
return text;
}, },
process_sections: function (sections) { process_sections: function (sections) {
@ -111,10 +118,11 @@ module.exports = {
} else if (inline.type == "link") { } else if (inline.type == "link") {
inline_text += "["+inline.title+"]("+inline.destination+")"; inline_text += "["+inline.title+"]("+inline.destination+")";
} else if (inline.type == "reference") { } else if (inline.type == "reference") {
let ref = inline.identifier.split('/'); if (typeof inline.identifier !== 'undefined') {
let name = ref[ref.length-1]; if (typeof this.dev_references[inline.identifier] !== 'undefined') {
let parts = name.split('-'); inline_text += this.dev_references[inline.identifier].title;
inline_text += parts[parts.length-1]; }
}
} }
} }
}); });