PRISMS-PF Manual
Loading...
Searching...
No Matches
Developers

There's a lot of institutional knowledge that comes along with being a developer of PRISMS-PF. Here, we hope to cover all the bits and pieces that you'll need to adhere to our developer standards.

Documentation

There are a few components of our documentation:

  • Doxygen-style inline code documentation (core library and applications)
  • Doxygen-style manual documentation
  • GitHub pages website

Both the inline code documentation and manual documentation are bundled together in what we call the PRISMS-PF User Manual. As a developer (and user) this is what you'll be using and changing the most. To visualize the User Manual locally you'll need Doxygen and Graphviz. On Ubuntu these can be installed with

sudo apt-get install doxygen graphviz
static std::string get(const dealii::ParameterHandler &parameter_handler, const std::string_view &entry)
Definition parameter_base.h:152

Additionally, we use Doxygen Awesome as a submodule to make everything look pretty. The submodules can be downloaded with

git submodule update --init --recursive
Warning
If you don't have Doxygen Awesome the website will not render correctly.

With all the prerequisites, we just need to build the documentation. Newer versions of CMake can use the CMakePresets.json

cmake --workflow --preset docs

or without the preset

cmake -DPRISMS_PF_DOCS=ON -DCMAKE_BUILD_TYPE=Debug -B build
cmake --build build/docs --target doc -j <nprocs>

Once the build is complete you can visualize the local documentation by navigating to the doxygen folder in the build directory and starting a python HTTP server.

cd build/docs/doc/<branch_name>
python3 -m http.server 8000

You can open the http://localhost:8000/ on whatever web browser you use.

Note
Some features of the User Manual don't render locally (e.g., the version selector).