diff --git a/doxygen/CMakeLists.txt b/doxygen/CMakeLists.txt
index 920fafab782..38c2fad94c4 100644
--- a/doxygen/CMakeLists.txt
+++ b/doxygen/CMakeLists.txt
@@ -21,7 +21,7 @@ if (DOXYGEN_FOUND)
set (DOXYGEN_HTML_HEADER ${HDF5_DOXYGEN_DIR}/hdf5_header.html)
set (DOXYGEN_HTML_FOOTER ${HDF5_DOXYGEN_DIR}/hdf5_footer.html)
set (DOXYGEN_HTML_EXTRA_STYLESHEET ${HDF5_DOXYGEN_DIR}/hdf5doxy.css)
- set (DOXYGEN_HTML_EXTRA_FILES "${HDF5_DOXYGEN_DIR}/hdf5_navtree_hacks.js ${HDF5_DOXYGEN_DIR}/img/FF-IH_FileGroup.gif ${HDF5_DOXYGEN_DIR}/img/FF-IH_FileObject.gif ${HDF5_DOXYGEN_DIR}/img/FileFormatSpecChunkDiagram.jpg ${HDF5_DOXYGEN_DIR}/img/ftv2node.png ${HDF5_DOXYGEN_DIR}/img/ftv2pnode.png ${HDF5_DOXYGEN_DIR}/img/HDFG-logo.png ${HDF5_DOXYGEN_DIR}/img/IOFlow2.gif ${HDF5_DOXYGEN_DIR}/img/IOFlow3.gif ${HDF5_DOXYGEN_DIR}/img/IOFlow.gif ${HDF5_DOXYGEN_DIR}/img/PaletteExample1.gif ${HDF5_DOXYGEN_DIR}/img/Palettes.fm.anc.gif")
+ set (DOXYGEN_HTML_EXTRA_FILES "${HDF5_DOXYGEN_DIR}/hdf5_navtree_hacks.js ${HDF5_DOXYGEN_DIR}/img/FF-IH_FileGroup.gif ${HDF5_DOXYGEN_DIR}/img/FF-IH_FileObject.gif ${HDF5_DOXYGEN_DIR}/img/FileFormatSpecChunkDiagram.jpg ${HDF5_DOXYGEN_DIR}/img/ftv2node.png ${HDF5_DOXYGEN_DIR}/img/ftv2pnode.png ${HDF5_DOXYGEN_DIR}/img/HDFG-logo.png ${HDF5_DOXYGEN_DIR}/img/IOFlow2.gif ${HDF5_DOXYGEN_DIR}/img/IOFlow3.gif ${HDF5_DOXYGEN_DIR}/img/IOFlow.gif ${HDF5_DOXYGEN_DIR}/img/PaletteExample1.gif ${HDF5_DOXYGEN_DIR}/img/Palettes.fm.anc.gif ${HDF5_DOXYGEN_DIR}/img/UML_Attribute.jpg ${HDF5_DOXYGEN_DIR}/img/Shared_Attribute.jpg")
set (DOXYGEN_TAG_FILE ${HDF5_BINARY_DIR}/hdf5.tag)
set (DOXYGEN_SERVER_BASED_SEARCH NO)
set (DOXYGEN_EXTERNAL_SEARCH NO)
diff --git a/doxygen/Doxyfile.in b/doxygen/Doxyfile.in
index 79587674693..e39142234d7 100644
--- a/doxygen/Doxyfile.in
+++ b/doxygen/Doxyfile.in
@@ -938,7 +938,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
-IMAGE_PATH =
+IMAGE_PATH = @HDF5_DOXYGEN_DIR@/img
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
diff --git a/doxygen/dox/Overview.dox b/doxygen/dox/Overview.dox
index 040769c859c..8f428b57f55 100644
--- a/doxygen/dox/Overview.dox
+++ b/doxygen/dox/Overview.dox
@@ -23,7 +23,7 @@ documents cover a mix of tasks, concepts, and reference, to help a specific
\par Versions
Version-specific documentation (see the version in the title area) can be found
here:
- - HDF5 develop
branch (this site)
+ - HDF5 1.10
branch (this site)
- HDF5 1.12.x
- HDF5 1.10.x
- HDF5 1.8.x
@@ -36,10 +36,6 @@ documents cover a mix of tasks, concepts, and reference, to help a specific
\par Offline reading
You can download it as a tgz archive for offline reading.
-\par History
- A snapshot (~April 2017) of the pre-Doxygen HDF5 documentation can be found
- here.
-
\par ToDo List
There is plenty of unfinished business.
diff --git a/doxygen/dox/UsersGuide.dox b/doxygen/dox/UsersGuide.dox
new file mode 100644
index 00000000000..22fe5c66718
--- /dev/null
+++ b/doxygen/dox/UsersGuide.dox
@@ -0,0 +1,145 @@
+/** \page UG HDF5 User’s Guide
+
+
Create | Read |
---|---|
Create | Update |
* \snippet{lineno} H5A_examples.c create * | *- * \snippet{lineno} H5A_examples.c read + * \snippet{lineno} H5A_examples.c update * | - *
Update | Delete |
Read | Delete |
- * \snippet{lineno} H5A_examples.c update + * \snippet{lineno} H5A_examples.c read * | ** \snippet{lineno} H5A_examples.c delete @@ -60,6 +116,258 @@ * |
Create |
---|
+ * \snippet{lineno} H5A_examples.c create + * | + *
Create | Read |
---|---|
- * \snippet{lineno} H5E_examples.c create - * | - *- * \snippet{lineno} H5E_examples.c read - * | - *
Update | Delete |
- * \snippet{lineno} H5E_examples.c update - * | - *- * \snippet{lineno} H5E_examples.c delete - * | - *
+ * If an application calls \ref H5Tclose on a + * predefined datatype then the following message is + * printed on the standard error stream. This is a + * simple error that has only one component, the API + * function; other errors may have many components. + *
|
+ *
+ * An application can temporarily turn off error messages while “probing” a function. See the + * example below. + *
|
+ *
+ * Or automatic printing can be disabled altogether and error messages can be explicitly printed. + *
|
+ *
+ *
|
+ *
+ *
|
+ *
+ * The following example shows a user‐defined callback function. + *
|
+ *
+ * An error report shows both the library’s error record and the application’s error records. + * See the example below. + *
|
+ *
+ *
|
+ *
+ * The example below shows how an application creates an error class and error messages. + *
|
+ *
+ * The example below shows how an application closes error messages and unregisters the error + * class. + *
|
+ *
+ * The example below shows how an application pushes an error record onto the default error stack. + *
|
+ *
+ * The example below shows how an application registers the current error stack and + * creates an object handle to avoid another HDF5 function from clearing the error stack. + *
|
+ *