Skip to content

Commit

Permalink
Fix linking to the requirements (#79)
Browse files Browse the repository at this point in the history
* Fix #78 Fix linking to the requirements

* Create separate mainpage for the docs and replace @ with \ for consistency

* Spell fix and add missing Doxyfile.in changes

* Fix missing anchors

* Change legal heading

* Update README.md

Co-authored-by: Steph Prince <[email protected]>

---------

Co-authored-by: Steph Prince <[email protected]>
  • Loading branch information
oruebel and stephprince authored Aug 28, 2024
1 parent 603c8ed commit c91bc43
Show file tree
Hide file tree
Showing 12 changed files with 119 additions and 48 deletions.
23 changes: 6 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,14 @@ Below is a high-level overview of the project structure and capabilities we are

![Project Overview](resources/images/aqnwb_objective_500px.png)


<a id="requirements"></a>
## Requirements

- **Minimum Requirements:**
- A C++17-compliant compiler
- [CMake >= 3.15](https://cmake.org)
- [HDF5 >= 1.10](https://github.com/HDFGroup/hdf5)
- [Boost](https://www.boost.org/)
- **Documentation:** Additional requirements for building the documentation (optional)
- [Doxygen](https://www.doxygen.nl/)
- [Graphviz](https://graphviz.org/)
- **For Developers:** Additional requirements for developers (mode `dev`)
- cppcheck
- clang-format (optional, required for ``target=format-check``, ``target=format-fix``)
- codespell (optional, required for ``target=spell-check``, ``target=spell-fix``)

## Installation

See the [AqNWB Documentation](https://neurodatawithoutborders.github.io/aqnwb/) for installation and integration instructions.
* [User Installation](https://neurodatawithoutborders.github.io/aqnwb/install_page.html)
* [Developer Installation](https://neurodatawithoutborders.github.io/aqnwb/dev_install_page.html)

## Contributing and Legal

For more information about the license, contributing guidelines, code of conduct
and other relevant documentation for developers please see the
[Developer Documentation](https://neurodatawithoutborders.github.io/aqnwb/devdocs.html).
5 changes: 1 addition & 4 deletions docs/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ PROJECT_NAME = "@PROJECT_NAME@"
PROJECT_NUMBER = "@PROJECT_VERSION@"

# Add sources
INPUT = "@PROJECT_SOURCE_DIR@/README.md" "@PROJECT_SOURCE_DIR@/src" "@PROJECT_SOURCE_DIR@/docs/pages"
INPUT = "@PROJECT_SOURCE_DIR@/src" "@PROJECT_SOURCE_DIR@/docs/pages"
EXAMPLE_PATH = "@PROJECT_SOURCE_DIR@/tests" "@PROJECT_SOURCE_DIR@/.github/CODE_OF_CONDUCT.md" "@PROJECT_SOURCE_DIR@/Legal.txt" "@PROJECT_SOURCE_DIR@/LICENSE"
IMAGE_PATH = "@PROJECT_SOURCE_DIR@/resources/images"
EXTRACT_ALL = YES
Expand All @@ -17,9 +17,6 @@ OUTPUT_DIRECTORY = "@DOXYGEN_OUTPUT_DIRECTORY@"
# Enable Markdown support
MARKDOWN_SUPPORT = YES

# Use the README as a main page
USE_MDFILE_AS_MAINPAGE = "@PROJECT_SOURCE_DIR@/README.md"

# set relative include paths
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = "@PROJECT_SOURCE_DIR@/include" "@PROJECT_SOURCE_DIR@"
Expand Down
66 changes: 66 additions & 0 deletions docs/pages/0_mainpage.dox
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/**
* \mainpage Overview
*
* \tableofcontents
*
* AqNWB is a C++ API for acquiring neurophysiological data directly into the NWB (Neurodata Without Borders) format.
* Our goal is to provide a lightweight API to integrate with existing acquisition systems.
* Below is a high-level overview of the project structure and capabilities we are targeting:
*
* \image html resources/images/aqnwb_objective.png "Project Overview" width=500px
*
* \section Status
*
* **AqNWB is currently under active development and should not yet be used in practice.**
*
* \htmlonly
* <p>
* <a href="https://github.com/NeurodataWithoutBorders/aqnwb/actions/workflows/tests.yml">
* <img src="https://github.com/NeurodataWithoutBorders/aqnwb/actions/workflows/tests.yml/badge.svg" alt="Unit tests">
* </a>
* <a href="https://github.com/NeurodataWithoutBorders/aqnwb/actions/workflows/codespell.yml">
* <img src="https://github.com/NeurodataWithoutBorders/aqnwb/actions/workflows/codespell.yml/badge.svg" alt="Codespell">
* </a>
* <a href="https://github.com/NeurodataWithoutBorders/aqnwb/actions/workflows/lint.yml">
* <img src="https://github.com/NeurodataWithoutBorders/aqnwb/actions/workflows/lint.yml/badge.svg" alt="Lint">
* </a>
* <a href="https://github.com/NeurodataWithoutBorders/aqnwb/actions/workflows/doxygen-gh-pages.yml">
* <img src="https://github.com/NeurodataWithoutBorders/aqnwb/actions/workflows/doxygen-gh-pages.yml/badge.svg" alt="Docs build">
* </a>
* </p>
* <p>
* <a href="https://github.com/NeurodataWithoutBorders/aqnwb">
* <img src="https://img.shields.io/badge/AqNWB-Source-8A2BE2?style=flat" alt="Source">
* </a>
* <a href="https://nwb-overview.readthedocs.io/en/latest/nwb-project-analytics/docs/source/code_stat_pages/AqNWB_stats.html">
* <img src="https://img.shields.io/badge/AqNWB-Code%20Statistics-8A2BE2?style=flat" alt="Code Stats">
* </a>
* <a href="https://neurodatawithoutborders.github.io/aqnwb/">
* <img src="https://img.shields.io/badge/AqNWB-Online Docs-8A2BE2?style=flat" alt="Online Docs">
* </a>
* </p>
* \endhtmlonly
*
* \section mainpage_installation Installation
*
* - \ref user_install_page "User Installation"
* - \ref dev_install_page "Developer Installation"
*
* \section mainpage_navigation Navigating the Documentation
*
* The documentation is divided into the following main sections:
*
* - \ref userdocs : This section is for users who want to use AqNWB in their software project, e.g., to
* integrate NWB with an acquisition system.
* - \ref devdocs : This section is for developers and community members who would like to
* contributed to the development of AqNWB.
* - **API Reference:** The [Namespaces](namespaces.html), [Classes](annotated.html), and [Files](files.html)
* sections are autogenerated from the AqNWB source code using Doxygen, providing a detailed reference of all
* classes, namespaces, files, functions, etc. defined by AqNWB.
*
* \section mainpage_contributing Legal
*
* - \ref code_of_conduct_page
* - \ref license_page
* - \ref copyright_page
*/
6 changes: 3 additions & 3 deletions docs/pages/1_userdocs.dox
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/**
* @page userdocs For Users
* \page userdocs For Users
*
* This documentation is intended for users of AqNWB, e.g., developers seeking to integrate NWB
* with a particular data acquisition software via AqNWB.
*
* - @subpage install_page
* - @subpage hdf5io
* - \subpage user_install_page
* - \subpage hdf5io
*/
14 changes: 7 additions & 7 deletions docs/pages/2_devdocs.dox
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
/**
* @page devdocs For Developers
* \page devdocs For Developers
*
* This documentation is intended for developers of AqNWB.
*
* - @subpage dev_install_page
* - @subpage testing
* - @subpage dev_docs_page
* - @subpage code_of_conduct_page
* - @subpage license_page
* - @subpage copyright_page
* - \subpage dev_install_page
* - \subpage testing
* - \subpage dev_docs_page
* - \subpage code_of_conduct_page
* - \subpage license_page
* - \subpage copyright_page
*
*/
2 changes: 1 addition & 1 deletion docs/pages/devdocs/copyright.dox
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* @page copyright_page Copyright
* \page copyright_page Copyright
*
* \include Legal.txt
*/
Expand Down
8 changes: 5 additions & 3 deletions docs/pages/devdocs/documentation.dox
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
/**
* @page dev_docs_page Documentation
* \page dev_docs_page Documentation
*
* \tableofcontents
*
* AqNWB uses [Doxygen](https://www.doxygen.nl/) with [Graphviz](https://graphviz.org/) for
* documentation. The ``cmake`` related instructions on this page follow the
Expand Down Expand Up @@ -27,12 +29,12 @@
* \par **docs/pages/userdocs/mypage.dox**
* \code{.sh}
* /**
* * @page mypage My New Page
* * \page mypage My New Page
* *
* */
* \endcode
*
* and add a corresponding ``- @subpage mypage`` entry to the page listing of the ``docs/pages/1_userdocs.dox``
* and add a corresponding ``- \subpage mypage`` entry to the page listing of the ``docs/pages/1_userdocs.dox``
* file. Note, the ``subpage`` command uses the label of the page (here ``mypage``) and not the name of the file.
*
* Similarly, we can add pages to the \ref devdocs docs by adding a new ``.dox`` file to the ``docs/pages/devdocs``
Expand Down
19 changes: 16 additions & 3 deletions docs/pages/devdocs/install.dox
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
/**
* @page dev_install_page Installation & Setup
* \page dev_install_page Installation & Setup
*
* \tableofcontents
*
* \section dev_requirements_sec Requirements
*
* Please ensure that the required libraries described in the
* \ref requirements "Requirements" section are installed. For developers we recommend
* to also install optional dependencies to ease development.
* \ref user_requirements_sec "User Requirements" section are installed.
*
* For developers we also recommend to install the following optional command line tools used for
* generating the documentation, for code quality checks, and for debugging.
*
* - **Documentation:** Additional requirements for building the documentation (optional)
* - [Doxygen](https://www.doxygen.nl/)
* - [Graphviz](https://graphviz.org/)
* - **Code checks:** Additional command line tools used in developer mode `dev`
* - cppcheck
* - clang-format (optional, required for ``target=format-check``, ``target=format-fix``)
* - codespell (optional, required for ``target=spell-check``, ``target=spell-fix``)
*
*
* \section devbuild_sec Developer Build
*
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/devdocs/license.dox
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* @page license_page License
* \page license_page License
*
* \include LICENSE
*/
Expand Down
4 changes: 3 additions & 1 deletion docs/pages/devdocs/testing.dox
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
/**
* @page testing Testing
* \page testing Testing
*
* \tableofcontents
*
* \section testing_unit Unit Tests
*
Expand Down
4 changes: 3 additions & 1 deletion docs/pages/userdocs/hdf5io.dox
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
/**
* @page hdf5io HDF5 I/O
* \page hdf5io HDF5 I/O
*
* \tableofcontents
*
* \section hdf5io_chunking Chunking
*
Expand Down
14 changes: 7 additions & 7 deletions docs/pages/userdocs/install.dox
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
/**
* @page install_page Installing AqNWB
* \page user_install_page Installing AqNWB
*
* \section user_requirements_sec Requirements
*
* Please ensure that the required libraries described in the
* \ref requirements "Requirements" section are installed.
* Please ensure that the required libraries are installed.
*
* - A C++17-compliant compiler
* - [CMake >= 3.15](https://cmake.org)
* - [HDF5 >= 1.10](https://github.com/HDFGroup/hdf5)
* - [Boost](https://www.boost.org/)
*
* \section userbuild_build_sec Build
*
Expand All @@ -31,7 +35,3 @@
*
*/




*/

0 comments on commit c91bc43

Please sign in to comment.