From ecf82d1b3d3a825f0340fd12f0bbe49a5139c31e Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Wed, 11 Jan 2017 15:50:59 +1100 Subject: html: Add support for an HTML cover page for releases. --- common/html-coverpage/static/rtems/js/catalogue.js | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 common/html-coverpage/static/rtems/js/catalogue.js (limited to 'common/html-coverpage/static/rtems/js/catalogue.js') diff --git a/common/html-coverpage/static/rtems/js/catalogue.js b/common/html-coverpage/static/rtems/js/catalogue.js new file mode 100644 index 0000000..d54def2 --- /dev/null +++ b/common/html-coverpage/static/rtems/js/catalogue.js @@ -0,0 +1,76 @@ +/*! + * Catalogue 0.1 + * Copyright 2017 Chris Johns + * Licensed under the MIT license + */ + +function parseCatalogue(xml) { + if (window.DOMParser) + { + parser = new DOMParser(); + xmlDoc = parser.parseFromString(xml, "text/xml"); + } + else // Internet Explorer + { + xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); + xmlDoc.async = false; + xmlDoc.loadXML(xml); + } + return xmlDoc; +} + +function catalogueHeader(date) { + return '\n' + + ' \n' + + ' \n'; +} +function catalogueFooter() { + return ' \n' + + '
Built: ' + date + 'PDFSingle Page
\n'; +} + +function loadCatalogue(path) { + var el_cat_title = $('#rtems-catalogue-title'); + var el_cat = $('#rtems-catalogue'); + + var f = $.get(path, function(xml) { + /* + * Use jquery as XMLDocument is consider not stable on Firefox's web site. + */ + var pdfIcon = 'static/images/Adobe_PDF_file_icon_32x32.png'; + var htmlIcon = 'static/images/html-xxl.png'; + var docs = $(xml).find('rtems-docs'); + var date = $(docs).attr('date'); + var title = $(docs).find('catalogue'); + var table = catalogueHeader(date); + $(docs).find('doc').each(function() { + var name = $(this).find('name').text(); + var title = $(this).find('title').text(); + var release = $(this).find('release').text(); + var version = $(this).find('version').text(); + var html = $(this).find('html').text(); + var pdf = $(this).find('pdf').text(); + var singlehtml = $(this).find('singlehtml').text(); + var empty = '\n'; + table += '\n'; + if (html) + table += '' + title + '\n'; + else + table += empty; + if (pdf) + table += '' + + '\n'; + else + table += empty; + if (singlehtml) + table += '' + + '\n'; + else + table += empty; + table += '\n'; + }); + table += catalogueFooter(); + el_cat_title.html('

' + $(title).text() + '

'); + el_cat.html(table); + }, 'xml'); +} -- cgit v1.2.3