mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-21 07:51:46 +08:00
1d680fe04c
* Fixed warnings and started H5Epublic.h.
* Include H5FD* headers to correctly resolve references.
* Doxygen2 (#330)
* H5Eauto_is_v2.
* Added a few more calls.
* Added a few more H5E calls.
* First cut of H5E v2.
* Added the deprecated v1 calls.
* Updated spacing.
* Once more.
* Taking some inspiration from Eigen3.
* Add doxygen for the assigned functions: H5Pregister1,H5Pinsert1,H5Pen… (#352)
* Add doxygen for the assigned functions: H5Pregister1,H5Pinsert1,H5Pencode1, H5Pget_filter_by_id1,H5Pget_version, H5Pset_file_space,H5Pget_file_space. Someone already adds H5Pget_filter1. Also fixs an extra parameter 'close' call back function for HPregister2.
* doxygen work. fixs format by using clang-format.
* doxgen work for H5Pregister1 etc. Addressed Barbara and Gerd's comments.
For Quincey's comments, since we are not supposed to change the source code.
I leave this to future improvements.
* added documentation for H5P APIs (#350)
* add documenation for H5Pget_buffer,H5Pget_data_transform,H5Pget_edc_check,H5Pget_hyper_vector_size,H5Pget_preserve,H5Pget_type_conv_cb,H5Pget_vlen_mem_manager,H5Pset_btree_ratios
* format corrections
* fixed grammer
* fixed herr_t
* Better name.
* A fresh look.
* add doxygen to H5Ppublic.h
* use attention instead of warning
* Add doxygen comments in H5Ppublic.h (#375)
* Add doxygen comments in H5Ppublic.h
* H5Pset_meta_block_size
* H5Pset_metadata_read_attempts
* H5Pset_multi_type
* H5Pset_object_flush_cb
* H5Pset_sieve_buf_size
* H5Pset_small_data_block_size
* H5Pset_all_coll_metadata_ops
* H5Pget_all_coll_metadata_ops
* Add DOXYGEN_EXAMPLES_DIR to src/CMakeLists.txt
* Fix clang-format errors
* Fix filenames in doxygen/examples
* add doxygen to H5Ppublic.h (#378)
* add doxygen to H5Ppublic.h
* use attention instead of warning
Co-authored-by: Kimmy Mu <kmu@hdfgroup.org>
* Revert "add doxygen to H5Ppublic.h (#378)"
This reverts commit 2ee1821b13
.
* Updated Doxygen variables.
* I forgot to copy two images.
* Enable desktop search by default.
* Add my assigned Doxygen documentation.
* Remove whitespace at EOL. Appease clang-format.
* Addressed Chris' comments.
* Added an alias for asynchronous functions.
* One space is enough for all of us.
* Slightly restructured RM page.
* address some issues
* reformatting
* Style external links.
* reformatting
* reformatting
* Added "Metadata Caching in HDF5" as a technical note example.
* Revise this soon!
* Added specification examples.
* Fixed references.
* Added H5AC cache image stuff and file format study.
* Added older FMT versions. Where did 1.0 go?
* Updated C/C++ note and replaced ambiguous labels.
* Reformat source with clang v10.0.1.
* Added the VFL technical note.
* Added what I believe might be called version 1.0 of the format.
* Added the remaining specs.
* Added H5Z callback documentation and fixed a few mistakes.
* Added dox for deprecated H5G calls and fixed a few snippet blockIDs.
* clang-format happy?
* Ok?
* Bonus track: Deprecated H5D functions.
* Carry over the more detailed group description.
* Added documentation for the missing and deprecated H5R calls.
* Life is easier and less repetitive w/ snippets. Use them!
* Eliminate the snippet block ID artifacts in the HTML rendering.
* Fixed snippet HTML artifacts and added a few missing calls.
* Under 20 H5Ps to go!
* Almost complete!
* "This is a form of pedantry up with which I will not put." (Churchill)
* Let's not waste as much space on bulleted lists!
* First complete (?) draft of the Doxygen-based RM.
* Completeness check and minor fixes along the way.
* Pedantry.
* Adding missing H5FD calls checkpoint.
* Pedantry.
* More pedantry.
* Added H5Pset_fapl_log.
* First draft of H5ES.
* Fixed warnings.
* Prep. for map module.
* First cut of the map module.
* Pedantry.
* Possible H5F introduction.
* Fix the indentation.
* Pedantry.
* Ditto.
* Thanks to the reviewers for their comments.
* Added missing images.
* Line numbers are a distraction here.
* More examples, references, and clean-up. Don't repeat yourself!
* Clang pedantry.
* Ditto.
* More reviewer comments...
* Templatized references and cleaned up \todos.
* Committing clang-format changes
* Fixed MANIFEST.
* Addressed Quincey's comments. (OCPLs)
* Fixed a few more \todo items.
* Fixed more \todo items.
* Added attribute life cycle.
* Forgot the examples file.
* Committing clang-format changes
* Pedantry.
* Live and learn!
* Added a sample H5D life cycle.
* Committing clang-format changes
* Pedantry.
Co-authored-by: kyang2014 <kyang2014@users.noreply.github.com>
Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org>
Co-authored-by: Kimmy Mu <kmu@hdfgroup.org>
Co-authored-by: Christopher Hogan <ChristopherHogan@users.noreply.github.com>
Co-authored-by: jya-kmu <53388330+jya-kmu@users.noreply.github.com>
Co-authored-by: David Young <dyoung@hdfgroup.org>
Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
247 lines
7.8 KiB
JavaScript
247 lines
7.8 KiB
JavaScript
|
|
// generate a table of contents in the side-nav based on the h1/h2 tags of the current page.
|
|
function generate_autotoc() {
|
|
var headers = $("h1, h2");
|
|
if(headers.length > 1) {
|
|
var toc = $("#side-nav").append('<div id="nav-toc" class="toc"><h3>Table of contents</h3></div>');
|
|
toc = $("#nav-toc");
|
|
var footer = $("#nav-path");
|
|
var footerHeight = footer.height();
|
|
toc = toc.append('<ul></ul>');
|
|
toc = toc.find('ul');
|
|
var indices = new Array();
|
|
indices[0] = 0;
|
|
indices[1] = 0;
|
|
|
|
var h1counts = $("h1").length;
|
|
headers.each(function(i) {
|
|
var current = $(this);
|
|
var levelTag = current[0].tagName.charAt(1);
|
|
if(h1counts==0)
|
|
levelTag--;
|
|
var cur_id = current.attr("id");
|
|
|
|
indices[levelTag-1]+=1;
|
|
var prefix = indices[0];
|
|
if (levelTag >1) {
|
|
prefix+="."+indices[1];
|
|
}
|
|
|
|
// Uncomment to add number prefixes
|
|
// current.html(prefix + " " + current.html());
|
|
for(var l = levelTag; l < 2; ++l){
|
|
indices[l] = 0;
|
|
}
|
|
|
|
if(cur_id == undefined) {
|
|
current.attr('id', 'title' + i);
|
|
current.addClass('anchor');
|
|
toc.append("<li class='level" + levelTag + "'><a id='link" + i + "' href='#title" +
|
|
i + "' title='" + current.prop("tagName") + "'>" + current.text() + "</a></li>");
|
|
} else {
|
|
toc.append("<li class='level" + levelTag + "'><a id='" + cur_id + "' href='#title" +
|
|
i + "' title='" + current.prop("tagName") + "'>" + current.text() + "</a></li>");
|
|
}
|
|
});
|
|
resizeHeight();
|
|
}
|
|
}
|
|
|
|
|
|
var global_navtree_object;
|
|
|
|
// Overloaded to remove links to sections/subsections
|
|
function getNode(o, po)
|
|
{
|
|
po.childrenVisited = true;
|
|
var l = po.childrenData.length-1;
|
|
for (var i in po.childrenData) {
|
|
var nodeData = po.childrenData[i];
|
|
if((!nodeData[1]) || (nodeData[1].indexOf('#')==-1)) // <- we added this line
|
|
po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], i==l);
|
|
}
|
|
}
|
|
|
|
// Overloaded to adjust the size of the navtree wrt the toc
|
|
function resizeHeight()
|
|
{
|
|
var header = $("#top");
|
|
var sidenav = $("#side-nav");
|
|
var content = $("#doc-content");
|
|
var navtree = $("#nav-tree");
|
|
var footer = $("#nav-path");
|
|
var toc = $("#nav-toc");
|
|
|
|
var headerHeight = header.outerHeight();
|
|
var footerHeight = footer.outerHeight();
|
|
var tocHeight = toc.height();
|
|
var windowHeight = $(window).height() - headerHeight - footerHeight;
|
|
content.css({height:windowHeight + "px"});
|
|
navtree.css({height:(windowHeight-tocHeight) + "px"});
|
|
sidenav.css({height:windowHeight + "px"});
|
|
}
|
|
|
|
// Overloaded to save the root node into global_navtree_object
|
|
function initNavTree(toroot,relpath)
|
|
{
|
|
var o = new Object();
|
|
global_navtree_object = o; // <- we added this line
|
|
o.toroot = toroot;
|
|
o.node = new Object();
|
|
o.node.li = document.getElementById("nav-tree-contents");
|
|
o.node.childrenData = NAVTREE;
|
|
o.node.children = new Array();
|
|
o.node.childrenUL = document.createElement("ul");
|
|
o.node.getChildrenUL = function() { return o.node.childrenUL; };
|
|
o.node.li.appendChild(o.node.childrenUL);
|
|
o.node.depth = 0;
|
|
o.node.relpath = relpath;
|
|
o.node.expanded = false;
|
|
o.node.isLast = true;
|
|
o.node.plus_img = document.createElement("img");
|
|
o.node.plus_img.src = relpath+"ftv2pnode.png";
|
|
o.node.plus_img.width = 16;
|
|
o.node.plus_img.height = 22;
|
|
|
|
if (localStorageSupported()) {
|
|
var navSync = $('#nav-sync');
|
|
if (cachedLink()) {
|
|
showSyncOff(navSync,relpath);
|
|
navSync.removeClass('sync');
|
|
} else {
|
|
showSyncOn(navSync,relpath);
|
|
}
|
|
navSync.click(function(){ toggleSyncButton(relpath); });
|
|
}
|
|
|
|
navTo(o,toroot,window.location.hash,relpath);
|
|
|
|
$(window).bind('hashchange', function(){
|
|
if (window.location.hash && window.location.hash.length>1){
|
|
var a;
|
|
if ($(location).attr('hash')){
|
|
var clslink=stripPath($(location).attr('pathname'))+':'+
|
|
$(location).attr('hash').substring(1);
|
|
a=$('.item a[class$="'+clslink+'"]');
|
|
}
|
|
if (a==null || !$(a).parent().parent().hasClass('selected')){
|
|
$('.item').removeClass('selected');
|
|
$('.item').removeAttr('id');
|
|
}
|
|
var link=stripPath2($(location).attr('pathname'));
|
|
navTo(o,link,$(location).attr('hash'),relpath);
|
|
} else if (!animationInProgress) {
|
|
$('#doc-content').scrollTop(0);
|
|
$('.item').removeClass('selected');
|
|
$('.item').removeAttr('id');
|
|
navTo(o,toroot,window.location.hash,relpath);
|
|
}
|
|
})
|
|
|
|
$(window).on("load", showRoot);
|
|
}
|
|
|
|
// return false if the the node has no children at all, or has only section/subsection children
|
|
function checkChildrenData(node) {
|
|
if (!(typeof(node.childrenData)==='string')) {
|
|
for (var i in node.childrenData) {
|
|
var url = node.childrenData[i][1];
|
|
if(url.indexOf("#")==-1)
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
return (node.childrenData);
|
|
}
|
|
|
|
// Modified to:
|
|
// 1 - remove the root node
|
|
// 2 - remove the section/subsection children
|
|
function createIndent(o,domNode,node,level)
|
|
{
|
|
var level=-2; // <- we replaced level=-1 by level=-2
|
|
var n = node;
|
|
while (n.parentNode) { level++; n=n.parentNode; }
|
|
if (checkChildrenData(node)) { // <- we modified this line to use checkChildrenData(node) instead of node.childrenData
|
|
var imgNode = document.createElement("span");
|
|
imgNode.className = 'arrow';
|
|
imgNode.style.paddingLeft=(16*level).toString()+'px';
|
|
imgNode.innerHTML=arrowRight;
|
|
node.plus_img = imgNode;
|
|
node.expandToggle = document.createElement("a");
|
|
node.expandToggle.href = "javascript:void(0)";
|
|
node.expandToggle.onclick = function() {
|
|
if (node.expanded) {
|
|
$(node.getChildrenUL()).slideUp("fast");
|
|
node.plus_img.innerHTML=arrowRight;
|
|
node.expanded = false;
|
|
} else {
|
|
expandNode(o, node, false, false);
|
|
}
|
|
}
|
|
node.expandToggle.appendChild(imgNode);
|
|
domNode.appendChild(node.expandToggle);
|
|
} else {
|
|
var span = document.createElement("span");
|
|
span.className = 'arrow';
|
|
span.style.width = 16*(level+1)+'px';
|
|
span.innerHTML = ' ';
|
|
domNode.appendChild(span);
|
|
}
|
|
}
|
|
|
|
// Overloaded to automatically expand the selected node
|
|
function selectAndHighlight(hash,n)
|
|
{
|
|
var a;
|
|
if (hash) {
|
|
var link=stripPath($(location).attr('pathname'))+':'+hash.substring(1);
|
|
a=$('.item a[class$="'+link+'"]');
|
|
}
|
|
if (a && a.length) {
|
|
a.parent().parent().addClass('selected');
|
|
a.parent().parent().attr('id','selected');
|
|
highlightAnchor();
|
|
} else if (n) {
|
|
$(n.itemDiv).addClass('selected');
|
|
$(n.itemDiv).attr('id','selected');
|
|
}
|
|
if ($('#nav-tree-contents .item:first').hasClass('selected')) {
|
|
$('#nav-sync').css('top','30px');
|
|
} else {
|
|
$('#nav-sync').css('top','5px');
|
|
}
|
|
expandNode(global_navtree_object, n, true, true); // <- we added this line
|
|
showRoot();
|
|
}
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
|
generate_autotoc();
|
|
|
|
(function (){ // wait until the first "selected" element has been created
|
|
try {
|
|
|
|
// this line will triger an exception if there is no #selected element, i.e., before the tree structure is complete.
|
|
document.getElementById("selected").className = "item selected";
|
|
|
|
// ok, the default tree has been created, we can keep going...
|
|
|
|
// expand the "Chapters" node
|
|
if(window.location.href.indexOf('unsupported')==-1)
|
|
expandNode(global_navtree_object, global_navtree_object.node.children[0].children[2], true, true);
|
|
else
|
|
expandNode(global_navtree_object, global_navtree_object.node.children[0].children[1], true, true);
|
|
|
|
// Hide the root node "HDF5"
|
|
$(document.getElementsByClassName('index.html')[0]).parent().parent().css({display:"none"});
|
|
|
|
} catch (err) {
|
|
setTimeout(arguments.callee, 10);
|
|
}
|
|
})();
|
|
|
|
$(window).on("load", resizeHeight);
|
|
});
|